اسپارتان چند؟
زیاد پیاده سازی شده.
فقط باید IP Core بسازی و به پروژت اضافه کنی. بعدش داخل هر ماژولی که می خوای استفاده کنی Instantiate کنی!
اول یک Source جدید ایجاد می کنی
IP Core رو انتخاب کن و یک اسم بهش بده
در قسمت انخاب IP در زیر شاخه Memory قسمت FIFO رو انتخاب کن و Nextآو Finish رو بزن.
حالا می تونی هر جور خواستی FIFOآ و کلاک هاشو تنظیم کنی.
بعد که کارات تموم شد روی FIFOآایجاد شده در زیر شاخه پزوژت کلیک کن و در پنجره پایین گزینه ی View HDL Instantiation Template رو بزن تا فایلش باز بشه. از اونجا می تونی اطلاعات مربوط به Instantiate رو کپی کنی ذاخل ماژول اصلی.
سلام
ممنون که جواب دادید
فیفو ایجاد شده رو چطور به پروژه اضافه کنم. می خوام بصورت یک شماتیک اون رو به پروژه اضافه کنم؟
اگر بخوام از رم خارجی برای ساخت فیفو استفاده کنم چطور؟
برای اینکه FIFO رو به صورت شماتیک استفاده کنی اول باید توی یک فایل VHDL Module اون FIFO رو Instantiate کنی. بعد شماتیک اون فایل VHDL رو بسازی و هرجا خواستی ازش استفاده کنی.
اگر هم می خوای مستقیما از FIFO داخل یک ماژول VHDL استفاده کنی همونطور که گفتم اول View HDL Instantiate Template رو باز کن.
از قسمتی که نوشته Component FIFO_NAME (به هر اسمی که گذاشتی) تا آخر END COMPONENET; کپی و در ماژول VHDL ای که می خوای استفاده کنی در قسمت Architecture قبل از Begin قرار بده و کاری باهاش نداشته باش.
حالا برگرد و قسمت بعدی رو از Inst_FIFO_NAME : FIFO_NAME (به هر اسمی که گذاشتی) تا آخرش کپی کن و در ماژول VHDL در قسمت Architecture این دفعه بعد از Begin قرار بده. حالا اینجا میبینی که جلوی پین ها خالی هستش و فقط علامت Assign و یه ویرگول قرار داره. اینجا باید قبل از ویرگول ها اسم پین یا سیگنالایی که می خوای اون پویت از FIFO بهشون متصل بشه رو باید بنویسی. حواست باشه که آخرش (به غیر از خط آخر قبل از پرانتز) باید کاما (,) باشه (نه . حالا که این کارو برای همه ی پین های FIFO انجام دادی، Save کن و FIFO میاد زیر مجموعه ی اون فایل VHDL. حالا اگه می خوای شماتیک درست کنی، روی فایل VHDL کلیک کن و توی پنجره پایین گزینه ی Create Schematic Symbol رو دوبار کلیک کن. که البته برای Top-Module نمی تونی این کارو انجام بدی.
منظورتونو ار رم خارجی متوجه نشدم. برای FIFO بهتره از Block RAM های داخل FPGA استفاده کنید و منابع FPGA رو اشغال نکنید.
اگر منظورتون از رم خارجی، یک حافظه SDRAM یا SDRAM هستش کاملا قضیه فرق می کنه و باید از Memory Controller استفاده کنید.
دیدگاه