تبلیغات
" /> باران الکترونیک - مطالب ابر Xilinx
سه شنبه 28 مهر 1394  11:21 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،VHDL ،) توسط: امیرحسین رستمی

هدف

در این مقاله سعی شده است نحوه یاد گرفتن FPGA قدم به قدم توضیح داده شود. نظراتی که در این مقاله آمده است شخصی بوده و ممکن است شخص دیگری نظری پی رادیان مخالف داشته باشد (که نشان دهده سواد کم­تر او می­ باشد پس نگران نباشد و ادامه به خواندن این مطلب دهید.)

مغز


نظرات()       

این جلسه شامل مطالب زیر می باشد:
-ساختن پروژه جدید
-اضافه کردن فایل شماتیک به پروژه
-ساختن و نوشتن یک برنامه VHDL
-ساختن بلوک از برنامه VHDL
- استفاده از نرم افزار PlanAhead برای Pin Assignment
-سنتز پروژه و ساختن فایل قابل برنامه زیری داخل FPGA

[http://www.aparat.com/v/2fQgl]


نظرات()   
   

از سری فیلم های آموزشی نرم افزار ISE
قسمت اول :آشنایی با پکیج نرم افزاری Xilinx
این قسمت شامل معرفی و آشنایی با بخش های زیر می باشد
ISE
XPS
SDK
EDK
Chipscope

[http://www.aparat.com/v/QYowA]


نظرات()   
   
پنجشنبه 12 دی 1392  06:03 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،) توسط: امیرحسین رستمی


ایده FPGA

ایده اصلی FPGA از اینجا سر چشمه می­گیرد که هر تابع منطقی را می­تواند با یک حافظه جایگزین کرد. برای مثال یگ گیت منطقی XOR در شکل زیر نشان داده شده است. همان طور که مشخص است می­تواند یک گیت XOR  با دو ورودی را با یک حافظه 1×4 جایگزین کرد که ورودی گیت در واقع همان خط آدرس  و خروجی آن همان خط داده می­باشند.

همین ساختار با پیچیدگی بیشتر در FPGA مورد استفاده قرار می­گیرد. به حافظه­ای که در ساختار داخلی FPGA برای پیاده سازی توابع منطقی مورد استفاده قرار می­گیرد، Look Up Table یا به طور مختصر LUT گفته می­شود.

مزیت اصلی FPGA این است که دارای معماری خیلی انعطاف­پذیری می­باشد. اما این انعطاف پذیری با پرداخت هزینه­ی بیش­تر در سخت افزار همراه می­باشد. یعنی این که، انعطاف­پذیری بیش­تر به معنی گیت­های بیش­تر، مساحت سطح سیلیکون بیش­تر، منابع بیش­تر برای مسیریابی و در نتیجه مصرف توان بیش­تر می­باشد.

Altera یا Xilinx

در زمینه­ی تولید FPGA دو شرکت بزرگ آلترا[1] و زایلینکس[2] 89% FPGAهای بازار را تولید می­کنند. زالینکس برای سال­های متمادی است که بزرگ­ترین تولید کننده­ی  FPGAدر جهان می­باشد و دارای طیف گسترده­ای از FPGAها از لحاظ قیمت و عملکرد می­باشد. در شکل زیر سهم هر یک از تولید کننده­های FPGA در بازار نشان داده شده است.

شکل 1 بازار FPGA



[1] Altera

[2]  Xilinx


نظرات()       
چهارشنبه 13 آذر 1392  11:16 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،آموزش ISE ،) توسط: امیرحسین رستمی

مقدمه

برای افزایش فرکانس نیاز به PLL[1] داریم. در شکل زیر نمودار بلوکی PLL نشان داده شده است. PLL از یک شمارنده تقسیم کنند N، مدار آشکار ساز فاز-فرکانس PFD[2]، نوسان­گر کنترل شده با ولتاژ VCO[3] و چند شمارنده ضرب کنند تشکیل شده است.

حلقه قفل شده فاز (PLL) از یک فرکانس مرجع برای تولید مضارب مختلف آن استفاده می­کند. در ابتدا  اسیلاتور کنترل شده با ولتاژ (VCO) روی محدوده فرکانس مورد نظر تنظیم می­شود. سیگنال خروجی از VCO با استفاده از یک تقسیم کننده فرکانس بر همان عامل ضرب تقسیم می­شود. سیگنال تقسیم شده و فرکانس مرجع به یک مقایسه کننده فاز وارد می شوند. خروجی مقایسه کننده فاز ولتاژی است که متناسب با اختلاف فاز می باشد. پس از عبور از یک فیلتر پایین گذر و تبدیل به ولتاژ مناسب، این ولتاژ برای تنظیم فرکانس به VCO وارد می­شود. اگر فاز سیگنال VCO نسبت به فاز  سیگنال مرجع تاخیر داشته باشد، این تنظیم باعث افزایش فرکانس ‏ می­شود ولی اگر فاز سیگنال ‏VCO‏ نسبت به فاز  سیگنال مرجع جلوتر باشد، فرکانس کاهش می یابد. در نهایت VCO در مضرب فرکانس مرجع به پایداری می­رسد.

DCM

در FPGA های Xilinx به واحد ضرب کننده فرکانس، DCM[1] گفته می­شود. ساختار داخلی اسپارتان-3 در شکل زیر نشان داده شده است. همان طور که مشاهده می­شود4 عدد DCM در 4 گوشه تراشه قرار دارد.

برای استفاده از DCM در برنامه ها نیاز به استفاده از Core Generator داریم.

فراخانی DCM

ابتدا از منوی Project، New Source را انتخاب کنید. یک نام دلخواه وارد کنید و Next  بزنید.

در قسمت Search، DCM را وارد کنید و Next را بزنید.

در پنجره بعدی ‏Finish‏ را بزنید. ‏

در پنجره بعد زبان خروجی مورد نظر را انتخاب کنید و Next را بزنید.

در پنجره بعدی تنظیمات DCM نشان داده می­شود.

تنظیمات DCM در Core Generator

توضیح پین­ها به شرح زیر می­باشد:

CLK90 : کلاک خروجی از این پین 90 درجه با کلاک ورودی اختلاف فاز دارد.

CLK180 : کلاک خروجی ‏ از این پین 180 درجه با کلاک ورودی اختلاف فاز دارد.‏

CLK270 : کلاک خروجی ‏ از این پین 270 درجه با کلاک ورودی اختلاف فاز دارد.‏

CLKDV: کلاک خروجی ‏ از این پین کسری از کلاک ورودی است.‏ که مقدار تقسیم در قسمت Divide by value انتخاب می­شود.

CLK2X : فرکانس‏ کلاک خروجی ‏ از این پین دو برابر فرکانس کلاک ورودی است.‏

CLKFX : با انتخاب این پین می­توانید فرکانس دخواه را توسط PLL تولید کنید.

CLKFX180 : این پین با پین قبلی 180 درجه اختلاف فاز دارد.

LOCKED: بیانگر این است که چه زمانی فاز کلاک خروجی با فاز کلاک ورودی برابر می­باشد.

CLKFX‏ ‏ را انتخاب کنید و به صفحه بعد بروید.

در صفحه بعد روی Next کلیک کنید.

در این صفحه باید فرکانس خروجی مورد نظرتان را وارد کنید. سپس روی Calculate کلیک کنید تا ضرایب ضرب و تقسیم برای ساختن این فرکانس محاسبه شود. در نهایت روی Next کلیک کنید.

خلاصه ای از تنظیمات شما نمایش داده می­ شود.



به نرم افزار برگیردید. IP ساخته شده را انتخاب کنید و روی Create  Schematic Symbol کلیک کنید تا بلوک شماتیک برای آن ساخته شود.


با رفتن به صفحه شماتیک (که قبلا ایجاد کرده­اید) می­توانید به راحتی از DCM برای تولید کلاک مورد نظرتان استفاده کنید.

دانلود فایل PDF

سرور دوم

منبع

Using Digital Clock Managers (DCMs(


نظرات()   
   
شنبه 18 خرداد 1392  11:33 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،) توسط: امیرحسین رستمی


طراحان و برنامه ­نویسان FPGAهای ‏Xilinx از محدودیت­ های زمانی یا Timing Constraints برای کنترل کارایی و عملکرد FPGA استفاده می ­کنند. در این قسمت از Timing Constraints برای کنترل فرکانس کلاک، زمان آماده ­سازی و نگه­داری برای ورودی­های همزمان، و زمان کلاک-به-خروجی برای خروجی­های هم­زمان استفاده شده است.

با استفاده از Timing Constraints به نرم ­افزار ISE می­گوییم که دقیقاً چه عملکردی در پروژه قابل قبول میباشد. بدون گفتن این ­ها به نرم­ افزار، ممکن است نرم­ افزار، سیم ­کشی (route) طرح را طوری انجام دهد که هنگام پیاده سازی روی FPGA به درستی کار نکند.


برای دیدن مقاله کامل روی ادامه مطلب کلیک کنید.


  • آخرین ویرایش:چهارشنبه 25 شهریور 1394
  • برچسب ها:FPGA ،Xilinx ،ISE ،
نظرات()       
یکشنبه 12 خرداد 1392  08:33 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،) توسط: امیرحسین رستمی


برای این که تفاوت بین این دو رم را بهتر متوجه شویم باید نگاهی به ساختار داخلی FPGA بیاندازیم. ساختار داخلی FPGA، Spartan-3 در شکل 1 نشان داده شده است. در ادامه به توضیح CLB و Block RAM می­پردازیم.


Spartan-3 Structure


CLB (Configurable Logic Block) یا بلوک منطقی قابل پیکربندی منابع اصلی برای تشکیل دادن مدارات همزمان و ترکیبی میباشند. برنامه­ای که به زبان توصیف سخت­افزار (HDL) می­نویسید در CLB پیاده می­شود. هر CLB شامل دو جدول جست و جو LUT برای پیاده ساری logic و دو المان ذخیره سازی که میتواند به عنوان فلیپ فلاپ  یا لچ استفاده شود. LUT ها میتوانند به عنوان یک حافظه 16x1 (RAM16) و یا به عنوان یک شیقت رجیستر 16 بیتی SRL استفاده شوند. در طراحی، بیش­تر لاجیکهای عمومی به طور خودکار روی CLB ها پیاده سازی می شوند. LUT ها در واقع حافظه  RAMمی­باشند که در سراسر قطعه پخش شده­اند. از این LUT ها می­توانیم به عنوان RAM استفاده کنیم که در این صورت به آن­ها حافظه توزیع شده یا Distributed RAM گفته می­شود. درSpartan-3 هر CLB شامل 64 بیت رم تک پورتی یا 32 بیت رم دو پورتی می­شود. برای پیاده­سازی حافظه­های بزرگ­تر با استفاده از CLBها، رم­ها موازی می­شوند.

اما block RAM یک حافظه اختصاصی می­باشد که شامل چندین کیلو بیت رم می­شود. برای مثال خانواده Spartan-3 بین 72 کیلوبیت تا 1,872کیلوبیت رم دارد. این حافظه به صورت بلوک­های دوبیتی 18 کیلوبیتی قابل استفاده می­باشند. اگر برای داده­های کم از این حافظه استفاده کنید، آن­گاه بقیه فضای این 18 کیلوبیت را از دست می­دهید.

نتیجه

بنابراین با توجه به مطالبی که گفته شد Distributed RAM‏ ‏برای پیاده سازی حافظه­های کوچک و FIFO مناسب می­باشد ولی Block RAM برای استفاده در حافظه‎های بزرگ مناسب می­باشد.



نظرات()   
   
آخرین پست ها