اینترفیس پریفرال‌ها با FPGA
توسط کامین جلیلی   

1

اینترفیس چیست؟

پریفرال چیست و چگونه با FPGA اینترفیس می‌شود؟

اگر تا به حال در پیاده‌سازی پروژه‌های اینترفیسی خود با چالش‌هایی روبه‌رو بوده‌اید، و در حل این چالش‌ها با مشکلات زیادی برخورد کرده‌اید، به احتمال زیاد، این مقاله می‌تواند راه‌حل‌های جدیدی برای حل چالش‌های شما داشته باشد.

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

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

1

وقتی یک طراح سیستم، الگوریتم پردازش سیگنالی را به شما ارائه می‎‌دهد تا بر روی FPGA پیاده‎‌سازی کنید، شما باید نکات سخت‌افزاری بسیاری را برای پیاده‌سازی این الگوریتم در نظر بگیرید.

در این مقاله، یک روش ۷-مرحله‌ای به شما معرفی خواهم کرد که به‌ کمک آن می‌توانید به سادگی هر الگوریتم پردازش سیگنالی را در FPGA پیاده‌سازی کنید.

معمولاً طراحان سیستم با محدودیت‌های پیاده‌سازیِ مربوط به سخت‌افزار آشنا نیستند.

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

در این مقاله، روش انجام این کار را در قالب یک روش ۷-مرحله‌ای می‌آموزید.

ادامه مطلب
نحوه پروگرام کردن FPGA
توسط فاطمه مشاک   

4

بعد از اینکه یک مدار دیجیتال را به کمک یک نرم‌افزار پیاده‌سازی مثل ISE یا ویوادو طراحی کردید، باید آن را در FPGA پروگرام کنید.

اما حافظه درون FPGAها ذاتا مشابه SRAMها هستند و در نتیجه آنچه در آنها پروگرام می‌شود بعد از قطع منبع تغذیه پاک می‌شود!

اما این مساله برای یک محصول مبتنی بر FPGA قابل قبول نیست و نیاز است به نحوی بتوانیم آن را به صورت دائمی پروگرام کنیم.

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

در این ویدئو، نحوه پروگرام کردن مستقیم FPGA و فلش جانبی آن را به طور کامل شرح می‌دهم. علاوه بر آن، به شما نشان می‌دهم چطور این کار را هم به کمک نرم‌افزار ISE انجام دهید و هم به کمک نرم‌افزار ویوادو.

ادامه مطلب
حلقه for در زبان VHDL
توسط فاطمه مشاک   

2

حتماً تاکنون به دفعات از حلقه for در برنامه‌نویسی استفاده کرده‌اید.

احتمالاً، کمتر برنامه‌ای را سراغ دارید که آن را بدون استفاده از حلقه for نوشته باشید.

اما حلقه for در زبان‌های توصیف سخت‌افزاری، همچون زبان VHDL، به چه صورت عمل می‌کند؟

آیا نحوه عملکرد حلقه for در زبان VHDL همانند زبان‌های برنامه‌نویسی است؟

در این مقاله، با نحوه عملکرد حلقه for در زبان VHDL آشنا می‌شوید؛ همچنین، به‌کمک حلقه for، یک شیفت‌رجیستر و یک خط تاخیر (delay line) که هر دو از پرکاربردترین بلوک‌ها در مدارات دیجیتال هستند را پیاده‌سازی خواهیم کرد.

ادامه مطلب
نصب و کرک نرم‌افزار ویوادو
توسط احمد ثقفی   

12

در این برنامه ویدئویی، با نحوه نصب و کرک نرم‌افزار ویوادو آشنا می‌شوید.

نرم‌افزار ویوادو، جدیدترین نرم‌افزار شرکت Xilinx در حوزه پیاده‌سازی مدارات دیجیتال است. به کمک این نرم‌افزار می‌توانید تمام مراحل پیاده‌سازی مدار در FPGAهای این شرکت را انجام دهید.

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

ادامه مطلب
فایل قیود کاربر در ویوادو
توسط احمد ثقفی   

1

هر پروژه‌ای در نرم‌افزار ویوادو، اگر قرار باشد عملا روی برد پیاده‌سازی شود، حداقل به دو فایل نیاز دارد: یک فایل VHDL یا Verilog و یک فایل قیود کاربر یا XDC.

در این ویدئو، در مورد فایل XDC و نحوه تنظیم دو قید اصلی در آن که برای پیاده‌سازی هر پروژه‌ای لازم است صحبت می‌کنم.

ادامه مطلب
آشنایی با نرم‌افزار ویوادو - بخش دوم
توسط احمد ثقفی   

10

در قسمت اول برنامه ویدئویی آشنایی با نرم‌افزار ویوادو، شما را با قابلیت‌های ویژه نرم‌افزار ویوادو و تفاوت‌های مهم آن در مقایسه با نرم‌افزار ISE آشنایی کردم. همچنین به این سوال مهم پاسخ دادم که دقیقا چه زمانی و به چه دلیل باید از نرم‌افزار ویوادو استفاده کنیم.

در ویدئوی قسمت دوم، وارد نرم‌افزار ویوادو خواهیم شد و ضمن آشنایی با بخش‌های مختلف آن، یک پروژه را در آن پیاده‌سازی خواهیم کردم.

ادامه مطلب
آشنایی با نرم‌افزار ویوادو
توسط احمد ثقفی   

4

جدیدترین نرم‌افزار شرکت Xilinx در حوزه پیاده‌سازی سخت‌افزاری سیستم‌های دیجیتال به کمک FPGAهای این شرکت، نرم‌افزار ویوادو است.

تا اواخر سال ۲۰۱۳، شرکت Xilinx نرم‌افزار ISE را برای این هدف ارائه می‌کرد، اما از آن به بعد، نرم‌افزار ویوادو به بازار عرضه شد و دیگر نسخه جدیدی از نرم‌افزار ISE ارائه نشد.

در این برنامه ویدئویی، شما را با قابلیت‌های ویژه نرم‌افزار ویوادو و تفاوت‌های مهم آن در مقایسه با نرم‌افزار ISE آشنایی می‌کنم. همچنین به این سوال مهم پاسخ می‌دهم که دقیقا چه زمانی و به چه دلیل باید از نرم‌افزار ویوادو استفاده کنیم.

ادامه مطلب
تعیین استراتژی طراحی
توسط فاطمه مشاک   

2

شما برای انجام عملیات پیاده‌سازی یک مدار بر روی FPGA ممکن است اهداف متفاوتی داشته باشید:

  • گاهی هدف شما استفاده حداقلی از منابع سخت‌افزاری درون FPGA است.
  • گاهی هدف شما بهینه کردن توان مصرفی مدار پیاده‌سازی شده در FPGA است.
  • گاهی برای شما مهم است که زمان پیاده‌سازی حداقل مقدار ممکن باشد.
  • گاهی هدف شما رسیدن به حداکثر فرکانس کلاک قابل اعمال به مدار است.
  • و گاهی نیز از نرم‌افزار پیاده‌سازی می‌خواهید ترکیبی از اهداف بالا را در نظر بگیرد.

در این مقاله، نحوه تعیین این اهداف و استراتژی‌ها را برای پیاده‌سازی در نرم‌افزار ISE بیان می‌کنم.

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

4

در پیاده‌سازی مدارات دیجیتال به کمک زبان VHDL گاهی نیاز دارید انواع داده را به یکدیگر ارجاع دهید.

از طرف دیگر، با توجه به قوانین ارجاع در زبان VHDL، نوع (type) تمام سیگنال‌های حاضر در یک ارجاع باید یکسان باشد.

بنابراین، در کدنویسی VHDL نیاز دارید از قابلیت «تبدیل نوع»‌ یا «Type Conversion» استفاده کنید.

برای این کار توابع مختلفی وجود دارد.

در این مقاله، با کاربردهای تبدیل نوع و توابع مربوط به آن آشنا خواهید شد.

ادامه مطلب