تیر
ساختار ZYNQ و معرفی VIVADO (قسمت دوم)
۲-۴- بلوک دیاگرام ZYNQ
ساختار داخلی ZYNQ به صورت خلاصه در دیاگرام ۱- بلوک دیاگرام داخلی ZYNQ-7000نمایش داده شده است. این عکس نمایانگر بلوک های اصلی است. همان طور که در بخش های قبلی گفته شد، ZYNQ-7000 به دو قسمت اصلی تقسیم می شود:
۱- Processing System (PS)
۲- Programable Logic (PL)
برای اطلاعات بیشتر به بخش آموزش های ویدیویی مراجعه گردد.
۲-۴-۱- معرفی بخش PS
قسمت PS تراشه ZYNQ-7000 شامل یک پردازنده ARM دو هستهای با حداکثر کلاک ۱GHz با ساختار Cortex A9 است. پردازنده های Cortex سری A، برای کار با سیستم عامل ها طراحی شدهاند و می توان از این پردازندهها برای اجرای سیستم عاملهایی همچون Linux استفاده نمود.
هستههای Cortex A9 هر یک دارای Cashe لایه L1 جداگانه است. هردو حافظه Cashe، به همراه یک کنترلر به نام SNOOP Controller به حافظه Cashe لایه L2 متصل می شوند. SNOOP Controller مدیریت دسترسی CPU ها به Cashe ها و همچنین مدیریت به روز رسانی و انتقال داده ها از حافظه DDR3 را به عهده دارد. نکته مهمی که باید دقت شود این است که هسته های پردازنده ARM هیچ یک مستقیما با حافظه DDR3 در ارتباط نیستند و برای دریافت اطلاعات از DDR3 باید اطلاعات مرحله به مرحله، دست به دست شود و این روند زمانبر است..
یکی دیگر از بخش های مهم در PS، واحد DDR Controller است. این واحد، وظیفه مدیریت و نگهداری DDR3 را به عهده دارد. همچنین مدیریت خواندن و نوشتن داده ها در DDR3 به عهده این واحد است.
ابزارهایی چون UART، SPI، USB، MAC 10/100/100 و … نیز به صورت ASIC در PS وجود دارند. این ابزارهای جانبی بسیار کاربردی هستند و وجود آنها باعث کمترین استفاده از منابع FPGA است.
برای ارتباطهای سریع بین این ادوات از دسترسی مستقیم حافظه DMA استفاده شده است و کل اجزای سیستم PS نیز با گذرگاه Inter Connect به یکدیگر متصل هستند.
دیاگرام ۱- بلوک دیاگرام داخلی ZYNQ-7000
۲-۴-۲- معرفی بخش PL
در قسمت PL نیز بسته به شماره تراشه ZYNQ از FPGA سری ARTIX 7 یا KINTEX استفاده شده است. هر کدام از این FPGA ها از سری ۷ هستند که امکانات بیشتر، سرعت بالا و مصرف پایینتری در مقایسه با سری ۶ دارند. در مدلهای قبل از ۷۰۳۰، از FPGA های ARTIX و در ۷۰۳۰ به بعد از FPGA های KINTEX استفاده شده است. سری ARTIX یک FPGA متوسط با قیمت مناسب است. اما KINTEX از سریهای بزرگ و پیشرفته Xilinx است که از ابزارهای مورد استفاده در طراحی های بزرگ و پیشرفته محسوب میشود. از جمله بخشهایی که در هردو سری ARTIX و KINTEX است عبارتند از
• Block RAM
• DSP48
• DDR Controller
• SerDes & GTX
• PCIe
۲-۴-۳- باس AXI
مهم ترین نکته ZYNQ ارتباط بین PS و PL در ZYNQ است که این تراشه را متمایز میکند. در معماری این تراشه، چند گذرگاه بین PS و PL درنظر گرفته شده است. جنس این گذرگاه ها از نوع AXI است.
باس AXI زیر مجموعه باس AMBA است که توسط شرکت ARM طراحی شده است. به علت امکانات و سرعت بالا، انعطاف پذیری زیاد و پیاده سازی ساده، شرکت Xilinx تمامی رابط های همه IP Core های خود را بر مبنای AXI پیاده سازی نموده است. به این معنی که در طراحی همه FPGA ها اعم از ARTIX, KINTEX, VIRTEX و … باید باس AXI را پیاده سازی نمود.
باس AXI مطابق جدول ۳ مبتنی بر سه نوع زیر می باشد:
۱- AXI Memory mapped (AXI-MM or Full)
۲- AXI Stream (AXIS)
۳- AXI Lite
جدول ۳- AXI BUS
باس های AXI به صورت مستقل و وابسته و نقطه به نقطه است. به این معنی که فقط دو بلوک می تواند با یک باس به هم متصل شود و یکی به صورت Master و دیگری به صورت Slave باشد. برای اتصال چند بلوک به یکدیگر از طریق باس AXI، نیاز به یک بلوک واسط با نام Inter Connect است.
در ZYNQ، ۴ نوع گذرگاه بین PS و PL مبتنی بر باس AXI تعبیه شده است که مشخصات آن به شرح زیر در جدول ۴ مشاهده میشود. هر یک از این پورت ها کاربرد های مختلفی دارند، برای مثال از پورت GP بیشتر برای تنظیمات یا کنترل بلوکهای PL استفاده میشود و یا از پورت ACP برای انتقال داده کمحجم با سرعت بسیار بالا به پردازنده ARM استفاده میشود.
جدول ۴- پورت های AXI بین PS و PL
Master/ Slave | Count | Port Name |
PS Master | ۲ | Master General Purpose |
PL Master | ۲ | Slave General Purpose |
PL Master | ۴ | Hi-Performance |
ACP |
۳- معرفی نرم افزار VIVADO
نرم افزار VIVADO نسخه جدید محیط برنامه نویسی و توسعه شرکت Xilinx است. این نرم افزار در حقیقت جایگزین نرم افزار ISE است. به گفته شرکت Xilinx، نرم افزار ISE دیگر به روز رسانی نمیشود و از سریهای جدید پشتیبانی نمیکند. آخرین نسخه IP Core ها وIP های جدید فقط در نرم افزار VIVADO قرار دارند.
نرمافزار VIVADO امکانات متنوع و یک پارچه ای را در اختیار کاربر قرار میدهد و سرعت طراحی را بالا میبرد. به علاوه، کیفیت سنتز و پیاده سازی بالاتری نسبت به ISE دارد. یکی دیگر از امکانات VIVADO، استفاده از چند نخی است. در این حالت، زمان سنتز نیز کوتاه تر میشود. در شکل زیر تفاوت زمانی و کیفیت سنتز را می توان مشاهده نمود.
جدول ۵- مقایسه کیفیت و زمان سنتز در ISE و VIVADO
۳-۱- نصب نرم افزار
VIVADO یک نرم افزار درحال توسعه است و wizard های زیادی برای طراحیهای پیچیده مانند ZYNQ را دارد. از این رو در هر نسخه ایرادهای بسیاری رفع و Wizard های آن کاملتر شده است. بنابراین بهتر است همیشه از آخرین نسخه های VIVADO استفاده نمایید. در این آموزش، از نسخه ۱۶٫۳ استفاده میشود. ولی برنامه ها امکان استفاده در نسخههای بالاتر از ۱۵٫۴ را دارند. دقت شود که این نسخهها بر روی ویندوزهای ۶۴ بیتی نصب میشوند، همچنین برای کارکرد مناسب این نرم افزار، نیاز به RAM بالا و پردازنده قوی است.
بعد از اجرای فایل xsetup.exe ممکن است پیام های زیر نمایش داده شود که درخواست Update یا اتصال به اینترنت را دارد. در صورت مشاهده پیامهای زیر گزینه Ignore یا Continue را انتخاب نمایید. و سپس بر روی گزینه Next را کلیک کنید.
شکل ۴- شروع نصب VIVADO
در مرحله بعد همه تیکهای License Agreement را فعال نمایید و به مرحله بعدی بروید. در صفحه بعد، مانند شکل زیر گزینه VIVADO HL System Edition را انتخاب کنید. این گزینه کاملترین گزینه است.
شکل ۵- انتخاب نوع Edition
در مرحله بعد گزینههایی برای انتخاب برنامههای جانبی و پشتیبانی از IC های مختلف وجود دارد. همه تیکها را برای همه برنامهها انتخاب کنید. برای استفاده از تراشههای اسپارتان ۷ میتوانید تیک این آی سی را انتخاب کنید. مانند شکل زیر دقت شود که حتما تیک SDK فعال شده باشد.
شکل ۶ – انتخاب برنامه های جانبی برای نصب
در مرحله بعد، آدرسی را برای نصب نرم افزار اختصاص دهید. دقت کنید آدرس خیلی طولانی نباشد و از فاصله (کاراکتر Space) در آن استفاده نشود. همانطور که در شکل زیر مشاهده میکنید فضای خالی برای نصب این نرمافزار بیش از ۴۶ گیگا بایت است.
شکل ۷- مسیر نصب
در ادامه به مراحل بعدی میرویم و تا پایان نصب منتظر میشویم. دقت شود این نرم افزار نیاز به لایسنس وکرک ندارد. بعد از نصب، پنجره لایسنس باز میشود. در صورتی که این پنجره باز نشد یا در آینده نیاز به تغییر یا اضافه کردن لایسنسها داشتید، همانند شکل زیر برنامه مدیریت لایسنس XILINX را اجرا کنید. دقت کنید که لایسنس ها تداخلی با دیگر برنامه ها نظیر ISE ندارند و حتی لایسنس ها می توانند یکی باشند.
شکل ۸- مسیر اجرای برنامه Licenses
بعد از اجرای برنامه، پنجره زیر مشاهده میشود. سپس روی کلید Copy license کلیک کرده و لایسنس های مربوطه را انتخاب نمایید. معمولا دو لایسنس مورد نیاز است. یکی لایسنس کلی و دیگری با نام web pack که میتوان آن را از سایت Xilinx دریافت کرد.
شکل ۹ – وارد کردن license
بدون ديدگاه