چرا در طراحی به ZYNQ نیاز داریم؟

ZYNQ در اصل یک SoC به شمار می آید. SoC ها به آی سی ها یی گفته میشوند که همه اجزاء مورد نیاز برای اجرای یک سیستم عامل رو روی چیپ دارند. به عبارت دیگر آی سی هایی هستند پر از دوات جانبی و زیر سیستم برای اجرای سیستم عامل ها. و در مورد ZYNQ ترکیبی از  arm cortex A9، FPGA و دها زیر سیستم دیگر هستند.

حالا این سوال پیش می آید چرا ترکیب FPGA و پروسسور نیاز هست؟

 

همون طور که میدانید، FPGA ها گیت های قابل برنامه ریزی هستند و میتوانند به صورت موازی کار کنند. اما بسیاری از الگوریتم ها نیاز به برنامه نویسی خط به خط و ترتیبی دارند به عبارتی الگوریتم های adaptive، که شامل if ها و شرط های زیادی هستند. اگه بخوایم در FPGA انجام این گونه برنامه ها را پیاده سازی کنیم، بلوک های زیادی برای این کار مصرف میشوند و از طرفی performance زیادی هم ندارند. معمولا if و else در FPGA منجر به ایجاد دو سخت افزار میشود یکی برای جواب درست شرط و یکی برای else.

 برای مثال استفاده از شبکه در FPGA و پیاده سازی پرتکل TCP/IP ، نیاز به اجرای الگوریتم های خط به خط وترتیبی مانند ساخت Header پکت ها  یا تحقق لایه های شبکه است. پیاده سازی این گونه الگوریتم ها در FPGA هم دشوارهستند هم زمانبر. همین مشکلات در استفاده از ادواتی مانند micro SD یا دوربین یا راه اندازی usb و .... نیز وجود دارد.

یکی از کار های معمول در این حوززه، ااستفاده از Soft Core هاست. به عبارت دیگر قسمتی از بلوک های داخلی FPGA را برای ساخت یه پروسسور اختصاص میدهند. این امر به معنی پیاده سازی میکرو کنترلر کوچیک در داخل FPGA راست. از Soft Core ها برای پیاده سازی الگوریتم ها ترتیبی و خط به خط استفاده میشود. از معروف ترین این هسته ها در محصولات xilinx  بلوک Micro Blaze می باشد که با زبان c  کد نویسی می شوند و همانند میکرو کنترلر عمل میکنند. شرکت Xilinx نسخه ای از لینوکس با نام پتالینوکس را برای آن پورت کرده است.

تهران، دانشکده هوافضای خواجه نصیر  02173064224 info@ TakSunTec.ir

ترافیک

Today62
Yesterday71
This week458
This month1618
Total46813

Who Is Online

2
Online

خبرنامه

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

گالری