بخش چهارم آموزش FPGA : معرفی انواع FPGA های شرکت Xilinx

بازگشت به آموزشگاه

مقدمه

در بخش قبلی آموزش FPGA به بررسی کلی معماری FPGA پرداختیم و با شرکت های سازنده FPGA آشنا شدیم. از بین همه شرکت های سازنده برترین آن ها یعنی Xilinx را انتخاب کردیم و در این بخش میخواهیم انواع FPGA ها و CPLD های تولید شده توسط این شرکت را بررسی نماییم. شرکت Xilinx یک شرکت آمریکایی می باشد که به طور انحصاری روی انواع PLD ها نظیر CPLD ها ، FPGA ها و FPGA-SoC ها کار می کند. این شرکت مخترع اولین FPGA و اولین FPGA-SoC نیز می باشد. همچنین این شرکت آی سی های حافظه فلش نیز ساخته است که در کنار FPGA ها استفاده می شود. این شرکت دارای دو محصول نرم افزاری ISE Design Suite و Vivado Design Suite نیز می باشد.

 


معرفی محصولات شرکت Xilinx

شرکت زایلینکس ارائه دهنده مجموعه کاملی از انواع چیپ های کاربردی برنامه پذیر دیجیتال می باشد که برای پاسخ به نیازهای صنایع نظامی و پزشکی در کاربردهایی که نیاز به سرعت زیاد ، فرکانس بالا ، پهنای باند وسیع و ظرفیت بالا می باشد ، مورد استفاده قرار می گیرد. محصولات این شرکت به دو دسته کلی سخت افزاری و نرم افزاری تقسیم بندی می گردد. در بخش سخت افزاری این شرکت چهار نوع محصول را ارائه می دهد که شامل : CPLD ، FPGA ، FPGA-SoC و حافظه های Flash می شود. در بخش CPLD این شرکت چیپ های خود را با نام خانواده CoolRunner عرضه کرده است. در بخش FPGA ، این شرکت چیپ های خود را در 4 تکنولوژی مختلف 45nm ، 28nm ، 20nm ، 16nm ارائه می دهد. این 4 تکنولوژی نشان دهنده ابعاد ترانزیستورهای استفاده شده در ساخت چیپ بر حسب نانومتر می باشد. هر چه ابعاد چیپ کوچکتر باشد مصرف توان آن و هزینه ساخت آن نیز کاهش می یابد و در نتیجه میتوان به ظرفیت گیت بالاتری دست یافت. در هر تکنولوژی یک یا چند خانواده از FPGA ها وجود دارد که در شکل زیر آن ها را مشاهده می کنید. در بخش FPGA-SoC نیز این شرکت خانواده Zynq را اخیرا معرفی و عرضه کرده است. همچنین حافظه های Flash این شرکت با نام خانواده XCF00 عرضه می شود.

 


معرفی محصولات اقتصادی شرکت Xilinx

زایلیکس محصولات جامعی را ارائه می دهد که به نیازهای گسترده و کاربردهای مختلف جامعه پاسخ دهد.از کاربردهای با کارایی ، ظرفیت و پهنای باند بسیار بالا گرفته تا کاربردهای کم هزینه و کم مصرف که مناسب پردازش های سبک و اولیه برای طراحی و پیاده سیک سیستم دیجیتال می باشد. از میان کلیه محصولات زایلینکس ، این شرکت در وبسایت خود 4 خانواده از محصولات خود را به عنوان اقتصادی ترین و مناسب ترین گزینه در نظر گرفته است که برای انواع کاربردهای سطح پایین و متوسط نظیر : طراحی رابط HDMI برای نمایشگر های 2K و 4K ، بیم فورمر ( beam former ) برای دستگاههای التراسوند قابل حمل ، موبایل کامل روی یک چیپ و دیگر کاربردهایی که نیاز به هزینه پایین ، چگالی کم و ترکیبی از سطوح مختلف یکپارچگی ، مصرف توان و کارائی را دارند ، مورد استفاده قرار می گیرند. این چهارخانواده به شرح زیر می باشد :

  • CoolRunner-II CPLD که ارزان ترین و کم هزینه ترین محصولات شرکت Xilinx می باشد.
  • Spartan®-6 FPGA که برای I/O بهینه سازی شده است.
  • Spartan-7 FPGA که برای I/O و بالاترین کارائی در هر وات مصرف توان بهینه سازی شده است.
  • Artix®-7 FPGA که برای کارهای ارتباطی بهینه سازی شده است و بالاترین پهنای باند DSP را دارد.
  • Zynq®-7000 FPGA-SoC که برای کارهای دارای سیستم عامل بهینه سازی شده است و دارای پردازنده یکپارچه درون چیپ می باشد.

 


معرفی خانواده CoolRunner™-II

همانطور که میدانید CPLD ها قدیمی تر از FPGA ها می باشند که از تراکم گیت پایین ، قیمت پایین ، خروجی/ورودی های کم اما سرعت بالا برخوردار هستند. به علت همین ویژگی های خوب در برخی از کاربردهایی که نیاز به تراکم گیت و I/O های زیاد نداریم بهترین گزینه از نظر سرعت و هزینه استفاده از CPLD می باشد. تنها سری CPLD که توسط شرکت Xilinx تولید می شود ، سری CoolRunner™-II می باشد که نسخه بهبود یافته CoolRunner است.

قبلا از تقویت کننده های آنالوگ برای افزایش کارایی در معماری CPLD ها استفاده می شد که در این سری از هسته های تماما دیجیتال استفاده شده است. این موضوع باعث کاهش چشمگیر توان مصرفی در عین کارایی بالا در این سری شده است. شکل زیر ویژگی های این سری از قبیل ولتاژ هسته ، تعداد ماکروسل ها ، تعداد ورودی خروجی ها و توان مصرفی در حالت ماکزیمم و بیکاری را نشان می دهد.

نکته : سری های قدیمی تر CPLD نظیر XC9500 و XC9500XL به نوعی بازنشسته شده اند اما هنوز تولید می شوند و در بازار وجود دارند.

 


معرفی خانواده Spartan 3

FPGA های سری Spartan3 سومین نسل از خانواده اسپارتان می باشد. نسل های قبلی این خانواده به کلی از رده خارج شده اند و این نسل نیز در حال بازنشسته شدن است. این خانواده دارای 5 خانواده زیر مجموعه می باشند. این سری ساده ترین و کم هزینه ترین FPGA ها می باشد که به علت نوع طراحی و ساخت آن برای کاربردهای معمولی و کم هزینه مورد استفاده قرار می گیرد.

سری Spartan-3A-DSP

این سری به منظور کارهای پردازش سیگنال و کم هزینه نظیر رادیوهای نظامی ، دوربین های نظارتی ، تصویر برداری پزشکی و … بهینه سازی شده است.

سری Spartan-3A

این سری به علت داشتن تعداد بیشتری ورودی/خروجی ، به منظور استفاده حداکثری I/O بهینه سازی شده است. این سری برای پروژه های دارای سیگنال های دیفرانسیلی یا ارتباط با انواع حافظه ها مناسب می باشد.

سری Spartan-3AN

این سری همانند سری 3A می باشد با این تفاوت که حافظه غیر فرار ( Non-Volatile ) درون خود دارند. بنابراین این سری برای کاربردهایی نظیر سیستم های امنیتی که نیاز به حافظه Flash مناسب می باشد.

سری Spartan-3E

این سری برای کارهایی که تراکم گیت از اهمیت بیشتری نسبت به ورودی/خروجی ها برخوردار است ، بهینه سازی شده است و برای کاربردهایی نظیر ترکیب سیگنال ها ، محاسبه های علامت دار و … مناسب می باشد.

مقایسه FPGA های خانواده Spartan 3

در جدول زیر برخی از انواع FPGA های این خانواده از نظر تعداد گيت­ ها، بيت­ های حافظه ، تعداد I/Oها و نوع بسته­ بندی با یکدیگر مقایسه شده است.

 


معرفی خانواده Spartan 6

چیپ های FPGA خانواده Spartan®-6 نسل بعدی FPGA های شرکت Xilinx هستند که با دارا بودن ویژگی های ارتباطی پیشرفته نظیر : نسبت گیت به پایه های I/O بالا ، قابلیت پیاده سازی پردازنده نرم افزاری میکروبلیز ( MicroBlaze ) ، پشتیبانی از حافظه های موقت DDR3 با سرعت 800Mb/s و پشتیبانی از پروتکل های ارتباطی سریال تا  در طیف وسیعی از کاربردهای خودروسازی ، اتوماسیون صنعتی ، پزشکی ، نظامی و مورد استفاده قرار دارند.

ولتاژ هسته اصلی این خانواده 1.2 ولت بوده و میتواند روی 1 ولت نیز تنظیم شود. این خانواده تا 8 واحد ارتباطی سریال کم مصرف با سرعت 3.2 گیگابیت در ثانیه را نیز پشتیبانی می کند. پایه های I/O خانواده Spartan®-6 به طور کامل از ولتاژ 3.3 ولت پشتیبانی می کند و تا 4.4 ولت نیز تحمل ولتاژی دارد و حداکثر جریان خروجی آن 24 میلی آمپر می باشد.

FPGA های خانواده Spartan®-6 دارای دو سری LX و LXT در زیر مجموعه خود هستند. FPGA های اسپارتان 6 سری LX نیاز به دو خط منبع تغذیه مجزا 1.2 ولت برای هسته FPGA و 3.3 ولت برای I/O ها دارد. همچنین در این سری نیازی به ایزوله بودن این دو خط منبع تغذیه وجود ندارد و نیازی به قرار دادن خازن های تانتانیوم و فریت بید برای هر پایه تغذیه آی سی وجود ندارد. این منابع تغذیه پیچیدگی کمتری نسبت به سایر سری ها دارد و در نتیجه باعث شده است تا Spartan 6 سری LX به یکی از خانواده های کم هزینه و ساده در طراحی بوردهای مدارچاپی تبدیل شود. FPGA های اسپارتان 6 سری LXT برای ارتباطات سریال بهینه سازی شده اند و از ارسال/دریافت های سریال نیز پشتیبانی می کنند. به عبارت دیگر transceiver protocol support هستند. این رابط های سریال در سری LXT تقریبا مشابه با رابط GTP ( مخفف Gigabit Transceiver with Low Power ) سری Virtex-5 طراحی شده است. در جدول زیر پیاده سازی استاندارد های سریال در اسپارتان 6 سری LXT از نظر سرعت با یکدیگر مقایسه شده است.

ویژگی دیگر FPGA های خانواده Spartan 6 کم هزینه بودن ( Low Cost ) و در عین حال با کارایی بالا ( High Performance ) بودن آن ها است. این ویژگی به خاطر وجود LUT هایی با 6 ورودی و دو فلیپ فلاپ به جای استفاده از LUT های 4 ورودی تک فلیپ فلاپ سنتی می باشد. این طراحی باعث شده تا تاخیر ( delay ) در سطوح منطقی کاهش پیدا کند و توان عملیاتی ( through-put ) تا  25 درصد بهبود یابد. شکل زیر این تغییرات را در یک واحد LUT نشان می دهد.

جدول زیر مقایسه بین خانواده Spartan 6 از شرکت Xilinx و خانواده Cyclone IV از شرکت Altera را در 392 مورد طراحی شده مشابه نشان می دهد. نتیجه این مقایسه مزیت های قابل توجه اسپارتان 6 را نشان می دهد.

FPGA های اسپارتان 6 دارای تعدادی بلوک کنترل کننده سخت افزاری حافظه یا MCB ( مخفف Memory Controller Block ) هستند. هر یک از این واحد ها استانداردهای DRAM خاصی را نظیر LPDDR, DDR, DDR2, DDR3 پشتیبانی می کنند. ویژگی این بلوک ها قابل پیش بینی بودن زمان آن ها است که طراحان میتوانند به راحتی تا حداکتر سرعت 800 مگابیت در ثانیه با حافظه های DDR3 ارتباط برقرار کنند. این مقدار در مقایسه با FPGA های Cyclone IV که حداکثر میتوانند با سرعت 400 مگابیت بر ثانیه با حافظه های DDR2 ارتباط برقرار کنند ، تقریبا دو برابر است. شکل زیر این موضوع را نشان می دهد.

به منظور افزایش کارایی خانواده اسپارتان 6 در عین کاهش مصرف توان این FPGA ها در کاربردهای با ریاضیات سنگین و محاسبات پیچیده از بلوک های پردازنده DSP مدل DSP48A1 استفاده شده است. این بلوک های DSP دارای 4 ورودی 18 بیتی و یک خروجی 48 بیتی می باشند که رابطه بین ورودی ها با خروجی یک تابع مستقل نظیر : ضرب تنها ، ضرب + جمع ، پیش جمع/تفریق کننده + ضرب + جمع و جمع تنها می باشند که در شکل زیر نحوه انجام شدن این عملیات ها را مشاهده می کنید.

بلوک های DSP این قابلیت را نیز دارند که با یکدیگر ترکیب شوند و بلوک های بزرگتری را برای انجام عملیات های پیچیده تر بدون استفاده از بلوک های منطقی بوجود آورند.

واحد دیگری که تنها در سری LXT وجود دارد ، بلوک انتقال نهایی برای نسل اول باس پر سرعت PCI Express ( یعنی Endpoint Block for PCI Express ) می باشد که میتواند در انتهای واحد ورودی/خروجی سریال اضافه شود. این بلاک به تنهایی میتواند در 6 هزار Logic Cell صرفه جویی کند و علاوه بر آن هزینه و زمان طراحی باس PCI را کاهش می دهد.

وجود واحدهای مدیریت کلاک یا DCM ( مخفف digital clock managers ) و حلقه قفل فاز یا PLL ( مخفف phase-locked loops ) در خانواده اسپارتان 6 باعث انعطاف پذیری بیشتر نسبت به سایر FPGA های هم رده شده است. واحد DCM  قابلیت شیفت فاز بیشتری نسبت به مورد مشابه آن در Cyclone IV دارد. FPGA های اسپارتان 6 دارای شش بلوک CMT ( مخفف clock management tiles ) دارد که در هر بلوک دو واحد DCM و یک واحد PLL وجود دارد. این ساختار میتواند انواع ساختارهای پیچیده توزیع کلاک و افزایش فرکانس کلاک را پشتیبانی و مدیریت نماید.

همانند FPGA های خانواده Spartan 3 ، این خانواده نیز از ویژگی های کاهش توان مصرفی نظیر معلق کردن کلاک و خواب عمیق می باشد. اما ویژگی جدیدی که در این خانواده وجود دارد ، حالت بیدار شدن سریع از خواب عمیق می باشد که توسط 8 پین کنترل می شود. برای کاهش توان بیشتر در کاربردهای قابل حمل و دارای باتری میتوان از ویژگی کلاک خوشه ای ( fine-grained clock ) در خانواده Spartan 6 استفاده کرد که بلوک هایی از FPGA که بدون استفاده ممکن است باشد را اتوماتیک شناسایی کرده و با قطع کردن کلاک آن ها ، مناطق بدون استفاده را از مدار خارج می کند. در نتیجه ی این ویژگی توان دینامیک FPGA تا 30 درصد کاهش می یابد.

 

نکته : توان مصرفی در FPGA ها بر دو گونه است : یکی توان استاتیک ( ثابت ) که نمیتوان آن را تغییر داد و دیگری توان دینامیک ( پویا ) که با در نظر گرفتن ملاحظاتی قابل تغییر است. توان استاتیک توانی است که بستگی به تکنولوژی ساخت و نوع FPGA دارد و در زمان روشن بودن FPGA و در حالتی که FPGA خالی و بدون برنامه ریزی باشد ، مصرف می شود. در حالی که توان دینامیک به طراحی کاربر و استفاده شدن از منابع داخلی FPGA بستگی دارد.

 

یکی دیگر از ویژگی های سری اسپارتان 6 ، که از سری Virtex به ارث برده شده است ، خاصیت امنیتی ( Robust security ) و محافظت از چیپ در برابر خواندن اطلاعات ( Cloning ) و مهندسی معکوس است.در شکل زیر مقایسه کلی بین ویژگی های FPGA خانواده اسپارتان 6 و Cyclone IV را مشاهده می کنید.

 


معرفی خانواده Spartan 7

چیپ های خانواده Spartan®-7 نسل بعدی اسپارتان 6 می باشد که با تکنولوژی کوچکتر 28 نانومتری باعث افزایش 30 درصدی کارایی شده است و در نوع خود بهترین کارائی را به ازای هر وات توانی که مصرف می کنند ، دارند. این چیپ ها قابلیت پیاده سازی نرم افزاری پردازنده میکروبلیز ( MicroBlaze ) و اجرای دستورات پردازنده تا حداکثر 200DMIPS را دارد و از حافظه های موقت DDR3 با حداکثر سرعت 800Mb/s پشتیبانی می کند. همچنین این خانواده دارای مبدل ADC داخلی و قابلیت های امنیتی پیشرفته نیز می باشد که این خانواده را برای کاربردهای صنعتی و خودرویی ، ارتباطات همه منظوره ، سنسورها و بینایی ماشین ایده آل کرده است. ولتاژ هسته FPGA در این خانواده 1 ولت است که قابلیت تغییر به 0.95 ولت را نیز دارد و در مجموع حدود 50 درصد انرژی کمتری از اسپارتان 6 مصرف می کند.

 

 


معرفی خانواده Artix 7

خانواده Artix®-7 بالاترین کارایی ممکن را به ازای هر وات توان مصرفی دارد. این خانواده از نظر توان مصرفی استاتیک تا 65 درصد کاهش و از نظر توان مصرفی دینامیک تا 50 درصد کاهش نسبت به خانواده Spartan 6 برخوردار است. در این خانواده نیز قابلیت پیاده سازی نرم افزاری پردازنده میکروبلیز وجود داشته و از حافظه های موقت DDR3 با حداکثر سرعت 1,066Mb/s پشتیبانی می شود. FPGA های این خانواده دارای کمترین توان مصرفی می باشند و در نتیجه برای کاربردهای بی سیم و قابل حمل نظیر انواع رادیو ها و دوربین ها ایده آل هستند.

 

 


معرفی FPGA های خانواده سری 7

شرکت زایلینکس 4 سری از محصولات میان رده خود را با نام سری 7 معرفی کرده است که شامل 4 خانواده : Artix 7 ، Kintex 7 ، Virtex 7 و Spartan 7 می شود. هر 4 خانواده دارای تکنولوژی یکسان 28 نانومتری می باشند و برای کاربردهای متوسط و میان رده مورد استفاده قرار می گیرند. البته خانواده های Spartan 7 و Artix 7 جزو هر دو دسته چیپ های اقتصادی و سری 7 می باشند که در نوع خود منحصر به فرد هستند. شکل زیر مقایسه این خانواده ها را از نظر کارایی و مصرف توان نسبت به یکدیگر نشان می دهد.

در شکل زیر مقایسه کاملی میان این خانواده ها صورت گرفته است.

 


معرفی خانواده های UltraScale و +UltraScale

در این خانواده ها همانطور که از نام آنها پیداست با کاهش ابعاد ترانزیستور ها و تکنولوژی ساخت به ظرفیت گیت های بالاتر و در عین حال توان مصرفی پایین تر دست یافته شده است که این مجموعه شامل 5 خانواده زیر هستند :

  • Kintex® UltraScale
  • +Kintex® UltraScale
  • Virtex® UltraScale
  • +Virtex® UltraScale
  • +Zynq® UltraScale

در شکل زیر مقایسه کاملی میان این خانواده ها صورت گرفته است.

 


معرفی خانواده Zynq

چیپ های خانواده Zynq جزو FPGA-SoC ها یا به طور ساده تر یک SoC به شمار می آید. SoC ها به آی سی هایی گفته میشوند که همه اجزاء مورد نیاز برای اجرای یک سیستم عامل را روی یک چیپ دارند. به عبارت دیگر آی سی هایی هستند که ادوات جانبی و زیر سیستم های مورد نیاز جهت اجرای سیستم عامل ها را دارند. شرکت زایلینکس با ترکیب کردن برنامه نویسی نرم افزاری یک پردازنده قدرتمند ARM و برنامه نویسی سخت افزاری یک FPGA در چیپ های خانواده Zynq تحولی دیگر در افزایش بهره وری ، کارایی ، انعطاف پذیری و یکپارچه سازی سیستم های دیجیتالی را بوجود آورده است. یک تراشه زینک ترکیبی از یک پردازنده ARM Cortex A9 یا Cortex A53 ، یک FPGA نوع Artix یا Kintex و تعدادی زیر سیستم های دیگر می باشد که موجب شده است این تراشه ها به انعطاف پذیرترین سیستم های دیجیتال تبدیل شوند. با استفاده از این تراشه ها میتوان در مواقعی که نیاز به سرعت بالا و انجام کارهای منطقی سریع ، پردازش های سیگنالی و محاسبات ریاضی داشتیم از FPGA و در مواقعی که نیاز به سیستم عامل ، برنامه نویسی ، پردازش های مقایسه ای و شرط های تو در تو داشتیم از پردازنده ARM استفاده کنیم. تراشه های Zynq در سه محدوده اقتصادی ( Cost-Optimized ) ، متوسط ( Mid-Range ) و بالا ( High-End ) عرضه شده است که در شکل زیر آن ها را مشاهده می کنید.

این خانواده که آخرین نسل از محصولات شرکت زایلینکس می باشد ، کاربردهای بسیار زیادی دارند که در شکل زیر سری های مختلف خانواده 7000 و کاربردهای آن را مشاهده می کنید.

به طور کلی این خانواده دارای ویژگی های زیر است :

  • دارای هسته FPGA بسیار قدرتمند Kintex یا Artix
  • دارای پردازنده ARM تک هسته ای تا چهار هسته ای Cortex A53 یا Cortex A9
  • پردازنده ARM دو هسته ای Cortex R5
  • پردازنده گرافیکی قدرتمند Mali400 به همراه Video Codec
  • دارای DSP های متعدد در واحد FPGA
  • ادوات جانبی متعدد مانند USB3, LAN Gigabyte Ethernet, SPI, USART, …
  • کنترل کننده های حافظه مانند RAM DDR3, FLASH, SATA, …
  • مصرف توان پایین و قابلیت اطمینان بالا
  • منطبق بر استانداردهای IEC
  • برخورداری از پشتیبانی فنی قوی برای برنامه نویسان

 


چرا ترکیب FPGA و پردازنده ARM مورد نیاز است ؟

همان طور که می دانید ، FPGA ها گیت های قابل برنامه ریزی هستند و می توانند به صورت موازی کار کنند. اما بسیاری از الگوریتم ها نیاز به برنامه نویسی خط به خط و عملکرد ترتیبی دارند که شامل شرط های زیادی هستند. اگر بخواهیم در FPGA این گونه برنامه ها را پیاده سازی کنیم، نیازمند صرف وقت و مصرف شدن بلوک ها و منابع زیاد می شویم و از طرفی نتیجه کار در عمل چندان مطلوب نخواهد بود. یکی از کارهای معمول در این حوزه، استفاده از Soft Core ها یا هسته های نرم افزاری است. به عبارت دیگر قسمتی از بلوک های داخلی FPGA را برای ساخت یک پروسسور اختصاص می دهند. این امر به معنی پیاده سازی میکروکنترلر کوچک در داخل FPGA می باشد. از Soft Core ها برای پیاده سازی الگوریتم های ترتیبی و خط به خط استفاده می شود. از معروف ترین این هسته ها در محصولات xilinx  میکروکنترلر MicroBlaze می باشد که با زبان c  کد نویسی می شود و همانند میکروکنترلر معمولی نظیر AVR عمل می کند. همانطور که در شکل زیر مشخص است برای پیاده سازی میکروبلیز منابع زیادی از FPGA اشغال شده است. و این در مقایسه با واحد ARM دو هسته ای، بسیار زیاد هست. به این نکته باید توجه داشت که تصویر زیر برای یک FPGA نسبتا بزرگ می باشد و هسته میکروبلیز ممکن است در FPGA های اسپارتان 3 تقریبا تمام منابع را مصرف کند.

پردازنده میکروبلیز با وجود اشغال منابع زیاد، کارایی پایینی نیز دارد. در شکل زیر کارایی پردازنده های soft core و Power PC با پردازنده ARM موجود روی چیپ های خانواده Zinq با یکدیگر مقایسه شده است. Power PC ها نیز پردازنده های سخت افزاری هستند که در برخی از مدل های خانواده Virtex سری FX وجود دارند. همانطور که مشاهده می شود ، توان پردازشی هسته های ARM بسیار بالا تر از دیگر پردازنده ها است. برای مقایسه بهتر میکرو کنترلر stm32f4 از شرکت st توان پردازشی 200DMIPS را ارائه میدهد. درحالی که این عدد برای پردازنده Zynq حدود 5000DMIPS یعنی 25 برابر قدرتمندتر می باشد.


معرفی نرم افزار ISE Design Suite

نرم افزار ISE Design Suite محصولی از کمپانی Xilinx است که شامل ابزارهایی برای پیکربندی ، کدنویسی و افزایش بهره وری محصولات این شرکت می باشد. این نرم افزار یک راه حل تثبیت شده صنعتی برای همه ی دستگاه های قابل برنامه ریزی Xilinx از جمله انواع CPLD ها و FPGA ها می باشد. ISE Design Suite اولین تکنولوژی هوشمند clock-gating را همراه با آنالیز کامل چیپ معرفی می کند که به طور خاص برای کاهش تعداد تغییرات و جلوگیری از اتلاف نیرو و هزینه در طرح های دیجیتالی توسعه یافته است. این نرم افزار همچنین مجموعه ای از ابزارهای محیط های برنامه نویسی ، Wizard های تنظیماتی و هسته های آماده از پیش کدنویسی شده می باشد که کار طراحی را برای شما ساده می کند. شما با دسترسی به این هسته های آماده ( IP Core ) و پارامتر سازی شده ، برای انواع Xilinx FPGA ها می توانید سریع تر از گذشته طراحی کنید. IP Core های بهینه سازی شده به طراحان FPGA امکان تمرکز سریع تر بر روی طراحی را می دهد. با استفاده از این نرم افزار می توانید بیشتر بر روی عملکردهای پردازش سیگنال دیجیتال اتکا کنید. در واقع یکی از مهم ترین فواید سیستم طراحی خاص FGPA، امکان اجرای پارتیشن بندی سیستم و مدیریت Trade Off های قرار گرفته در یک نرم افزار می باشد. با استفاده از این نرم افزار می توانید با صرف زمان و هزینه کم ، پلتفورم پردازشی مورد نیاز خودتان را خلق کنید.

 


تفاوت بین دو نرم افزار Vivado و ISE

در بخش سوم آموزش FPGA گفتیم که CPLD ها و FPGA ها هم از نظر سخت افزاری چیپ های پیچیده ای هستند و هم از نظر نرم افزاری پیچیدگی و گستردگی زیادی دارند. به طوری که یک نرم افزار FPGA نظیر ISE یا Vivado باید هم کامپایلر زبان های برنامه نویسی HDL مختلف نظیر Verilog یا VHDL به سخت افزار باشند ، هم قابلیت تبدیل یک فایل شماتیک به یک مدار دیجیتال را داشته باشند ، هم قابلیت Placement ( انتخاب بلوک های مختلف ) و قابلیت Routing ( مسیریابی از بین بلوک ها ) ، قابلیت شبیه سازی قبل از پیاده سازی و قابلیت پروگرام کردن و ارتباط با انواع چیپ های مختلف را داشته باشند و … که این قابلیت های گفته شده برای هر FPGA با ویژگی های متفاوت و معماری های مختلف منحصر به فرد است. بنابراین با گذشت زمان و زیاد شدن تعداد چیپ های شرکت زایلینکس ، حجم نرم افزار ISE زیاد و زیاد تر می شود و سر انجام نرم افزار جدیدتر Vivado توسط این شرکت ساخته می شود. به طوری که چیپ های قدیمی تر نظیر : کلیه CPLD ها و چیپ های خانواده Spartan3 ، Spartan6 ، Virtex ، Kintex ، Artix و Zynq توسط نرم افزار ISE پشتیبانی می گردد و چیپ های جدیدتر نظیر چیپ های خانواده UltraScale ، UltraScale+ ، Artix7 ، Spartan7 و سری های جدید Zynq توسط نرم افزار Vivado پشتیبانی می گردد.


پایان بخش چهارم


در صورتی که این مطلب مورد پسندتان واقع شد ، لایک و اشتراک گذاری فراموش نشود.

دیدگاه (22)

  • رسول پاسخ

    با سلام
    با تشکر از آموزش عالیتون
    لطفا ادامه بدید چون واقعا مفید و تاثیر گذار بود

    1396-07-02 در 15:29
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از نظرتون حتما ادامه خواهیم داد با ما همراه باشید

      1396-07-03 در 06:31
  • نرگس پاسخ

    سلام وقتتون بخیر…. من منابع موجود در تراشه های xiline و altera رو لازم دارم امکانش هست راهنمایی کنید؟

    1396-07-14 در 19:49
    • ادمین الکترو ولت پاسخ

      سلام بهترین منبع سایت خود شرکت ها هستش

      1396-07-15 در 00:17
      • نرگس پاسخ

        ممنونم ولی من نمیدونم اطلاعات لازم رو از کدوم قسمت ها باید به دست بیارم…

        1396-07-15 در 11:25
  • میلاد پاسخ

    سلام. کلاس پیاده سازی FPGA برگزار نمیکنید؟؟؟

    1396-10-01 در 15:55
    • ادمین الکترو ولت پاسخ

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

      1396-10-25 در 12:14
  • امین پاسخ

    خیلی ممنون از اطلاعات و آموزش و زحماتی که کشیدین

    1396-10-18 در 01:39
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از نظر لطفتون

      1396-10-25 در 12:15
  • علی پاسخ

    با عرض تشکر و خسته نباشید.
    ببخشید توی قسمت سوم. مدار fpga خانوادخ اسپارتانو گذاشتین اگه ممکنه توی این یکی بقیه خانواده هارو هم بزارید

    1396-10-23 در 20:36
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از همراهی شما
      هدف از تشریح مدار داخلی fpga تنها برای دست یابی به یک دید کلی نسبت به fpga و تفاوت آن با cpld بود. بررسی مداری fpga جزو اهداف این دوره نمی باشد.

      1396-10-25 در 12:13
  • یونس پاسخ

    سلام دوست عزیز مطالب شما کامل و تازه است و من سایتهای زیادی را مطالعه کرده ام ولی مطالب شما مفید تر بودند فقط در آخر بعد از اینکه توضیحاتتان تمام شد یک پروژه با fpga را به صورت 0 تا 100 بیاورید تا مثالی باشد برای پروژه هایی که کار میکنیم چون هر سایت فقط به یک گوشه از پروژه می پردازد

    1396-11-26 در 18:13
    • ادمین الکترو ولت پاسخ

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

      1396-11-27 در 10:27
  • Ardavan پاسخ

    با سلام،جلسات بعد از جلسه 4 چگونه قابل دسترسی هستند؟

    1397-01-07 در 13:51
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز لطفا منتظر بمانید به زودی بخش های بعدی منتشر خواهد شد ممنون از همراهی شما

      1397-01-08 در 15:44
  • علیرضا پاسخ

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

    1397-07-23 در 17:02
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از همراهیتون حتما در اسرع وقت قرار خواهیم داد

      1397-07-26 در 11:39
  • ایرج مالکی پاسخ

    سلام . از زحمات شما باید تشکر کرد .لطفا در صورت امکان در مورد سخت افزار PLC .قسمت cpu . و ای سی های مورد استفاده شده و همچنین در مورد سیستم عامل PLC مطالبی قرار دهید تشکر

    1397-11-23 در 13:51
  • مهدی پاسخ

    سلام میشه از fpga به جای پردازنده های مرسوم pc استفاده کرد؟ یا به هر نحوی حجم پردازش های سمت ویندوز رو به fpga واگذار کرد و جواب رو دریافت کرد؟

    باتشکر از مطلب خوبتون

    1398-01-28 در 15:00
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز به جای CPU های کامپیوتر نمیشه استفاده کرد اما برخی از پردازش های خاص نظیر پردازش تصویر را میتوان به FPGA واگذار کرد

      1398-01-28 در 23:31
  • barca پاسخ

    سلام.خیلی خوب بود.یه سوال برام ایجاد شده.بنده شنیدم که برای پیاده سازی الگوریتم های پردازشی سیگنال سنگین به دلیل اینکه fpga دیگر نمیتواند از خصوصیت موازی سازی اش استفاده کند از آن استفاده نمیشود و به جایش از پردازنده dsp استفاده میشود.سوال اولم اینه که پردازنده dsp فرکانس کاری اش چقدر است؟مثلا این fpga فرکانس کاری اش در بهترین مدلش تقریبا 2GHZ هست.خب این عدد برای dsp چقدر است؟سوال دومم هم اینه که وقتی شرکت xillinx میاید در مدارش هم از fpga , arm استفاده میکند برای پردازش سیگنال هایی که به صورت خط به خط نیاز به اجرا دارند ,ایا این سیگنال ها را همه اش را به arm موجود در برد واگذار میشود یا یه بخشی از ان سیگنال سنگین به arm و یه بخش دیگری از ان به fpga واگذار میشود؟کدام حالت ؟خواهشا کمکم کنید.دستتان درد نکند

    1398-09-02 در 03:23
  • حمید پاسخ

    با سلام و ارادت ممنون از مطالب مفید شما امیدوارم این روند تداوم داشته باشه

    1400-05-29 در 20:24

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازگشت به آموزشگاه