به نام خداوند بخشنده و مهربان!

سلام عرض میکنم خدمت تمام دوستان و هموطنان عزیزم!

امروز تصمیم گرفتم نحوه ایجاد دیابگر یا همون چیپ اسکوپ رو توی FPGA توضیح بدم! البته هنوز خودم به صورت کامل یاد نگرفتم ولی تا جایی که بلدم با شما اشتراک میزارم!

خوب همونطور که میدونید ابزار ChipScope برای عیب یابی استفاده میشه تا ببینیم که مدارمون درست کار میکنه و اگه عیبی داره این عیب از کجاست و...

من تا حالا دو روش برای کار با این ابزار دیدم نمیدونم چرا اینطوریه! یک روشش که من نتونستم عملیش کنم با استفاده از IP core ها بود و با ساخت دو تا IP و انجام تنظیمات میشد اینکار رو کرد! و راه دوم که من تونستم واقعا باهاش کار کنم و احساس میکنم آسون تره رو میخوام خدمتتون آموزش بدم! راستش نمیدونم چرا با وجود این راه بعضی ها از راه اول اقدام میکنن من هنوز نمیدونم فرقش چیه! ولی اونطور که پیداست راه دوم (همون که میخوام خدمتتون بگم) به صورت گرافیکی هست یعنی متنی نیست! و میتونید خیلی آسون تغییرش بدید!

من از این ویدئو توی آپارات یاد گرفتم! (اگه میخواید این ویدئو رو ببینید)

خوب گام اول مثل همیشه روی New Source کلیک کنید!

بعد طبق عکس زیر ChipScope Definition Connection File رو بزنید!

بعد از اینکه اونو ساختید پنجره ی مربوطه باز میشه!

توی صفحه ای که باز میشه دو بار روی Next کلیک کنید! تا یه ILA ساخته بشه! مثل صفحه ی زیر:

حالا تعداد سیگنال هایی رو که میخواید اونا رو ببینید رو انتخاب کنید! مثلا یه کانتر دارید و یه کلید ریست پس میشه دو تا! (مثل شکل زیر)

خوب حالا میتونید از قسمت Trigger Width تعداد بیت های اون سیگنال ها رو تغییر بدید مثلا برای یه کانتر هشت بیتی بنویسید 8 و برای سیگنال ریست بنویسید 1 (مثل شکل زیر)

بعد برید به تب NET Connections و روی Modify Connections کلیک کنید! 

از اونجا سیگنال مربوط به کلاک رو پیدا کنید و روی Make Connections کلیک کنید تا به ستون سمت راست اضافه بشه!

بعد در سمت راست به تب Trigger/Data Signals برید و مانند تصویر زیر بیت های کانتر تون رو اضافه کنید!

در همون قسمت در پایین تب نوشته TP0 و TP1 شما روی TP1 کلیک کنید تا سیگنال بعدی رو تعیین کنید! (سیگنال ریست) مثل تصویر زیر:

تایید کنید و روی گزینه Return to Project Navigator کلیک کنید!

حواستون باشه که این دو تا نوشته باید مشکی باشن و نباید قرمز باشن وگرنه در مرحله ی سنتز ارور میگیره!

فایل باینری مربوطه رو بسازید و پروگرم کنید. سپس در سمت جپ صفحه روی گزینه Analyze Design Using ChipScope رو بزنید!

سپس در منوی Device برید و FPGA تون رو انتخاب کنید و Configure رو بزنید و در نهایت OK کنید تا برنامه تون روی بردتون پرگرم بشه! (با انجام این مرحله دیگه لازم نیست برنامه رو جدا روی بردتون بریزید بلکه میتونید از همینجا استفاده کنید! و توصیه میکنم از همینجا برنامه رو روی برد بریزید وگرنه ممکنه با مشکل مواجه بشید) حالا اون گزینه ی پلی رو بزنید تا تریگر بشه! خوب بقیه اش با خودتون من تا اینجاش رو بلد بودم ولی میتونید خیلی حرفه ای تر از اینا کار کنید. (برای یاد گیری بیشتر توی سایت های خارجی سرچ کنید) خودم هم اگه یاد گرفتم انشالله میام میزارم!

امیدوارم مفید بوده باشه!

موفق باشید

یا علی مدد...!