استفاده از برد FPGA برای آموزش

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

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

  • قابلیت‌های سخت افزاری:

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

بنابراین در زمینه‌ی امکانات و قابلیت‌های یک برد آموزشی FPGA، بایستی حد میانه‌ای را در نظر گرفت. در حال حاضر تراشه‌های سری SPARTAN-6 شرکت Xilinx، به لحاظ اقتصادی جزء به صرفه‌ترین انتخاب‌ها هستند که در اکثر بردهای آموزشی سطح مبتدی و نیمه حرفه‌ای استفاده شده‌اند.

  • توسعه پذیری:

مسلما شما دوست ندارید که بردی که برای یادگیری FPGA انتخاب می‌کنید، صرفا جنبه‌ی آموزشی داشته باشد و پس از پایان آموزش، قابلیت استفاده در پروژه‌های عملی دیگرتان را نداشته باشد. بردی که انتخاب می‌کنید بایستی قابلیت اتصال به ماژول ‌های توسعه‌ی آماده را داشته باشد تا با کمترین دردسر بتوان قابلیت‌های آن را گسترش داد. مثال معروفی از بکارگیری این دیدگاه در دنیای میکروکنترلرها، پلتفرم آردوینو است. یک برد آردوینو به جز یک میکروکنترلر، یک مبدل USB و یک LED، چیز دیگری ندارد که همین امکانات برای شروع یادگیری کافی است. اما در کنار بردهای اصلی، آردوینو مجموعه‌ای متنوع از ماژول‌های توسعه به نام شیلد را توسعه داده است که هر کدام قابلیت خاصی را به برد اصلی اضافه میکند. قابلیت‌هایی نظیر ارتباط شبکه اترنت، ارتباط وای-فای، کنترل موتور، نمایشگر LCD و …

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

  • پشتیبانی، پشتیبانی و پشتیبانی!

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

برای یک برد FPGA، هیچ چیز بدتر از آن نیست که ندانید کدام پین به کدام پریفرال متصل است و یا فلان کلید به صورت Pull-Up طراحی شده است یا Pull-Down! شخصا به موارد زیادی برخورده‌ام که افراد، بردهای FPGA ی بی نام و نشانی در اختیار دارند که هیچ گونه مستنداتی از آنها وجود ندارند و درخواست کمک برای راه‌اندازی آن را می‌نمایند. اما تنها چیزی که در این موارد کمک‌کننده است، سند UCF و نقشه‌ی شماتیک برد است که لازم بوده از سوی سازنده‌ی برد در اختیار مشتری قرار داده شود و با نبود آن‌ها، آن برد عملا بی مصرف است.

  • مقرون به صرفه بودن

و صد البته که قیمت نیز مهم است. از آنجایی که مشتری اصلی بردهای آموزشی سطح مبتدی، اکثرا دانشجویان و افرادی است که صرفا از روی علاقه مباحث آموزشی را دنبال می‌کنند (هکرها)، قیمت آن نیز بایستی مناسب استفاده‌ی این قشر آسیب پذیر باشد 😉

یکی از عواملی که قیمت تمام شده‌ی یک برد آموزشی FPGA را افزایش می‌دهد، نیاز آن به ملزومات جانبی دیگر نظیر پروگرامر و منبع تغذیه جداگانه است. همین دو مورد گاهی قیمت تمام شده‌ی برد را حتی تا 100 درصد افزایش می‌دهد! البته همراه برخی بردها پروگرامرهای پارالل (موازی) ارائه می‌شود که به دلیل سرعت پایین و قطعی‌های مکرر در حین کار و مهمتر از همه، حذف پورت موازی از کامپیوترهای جدید و لپتاپ‌ها، استفاده از آنها دیگر کارایی ندارد. اخیرا بردهای آموزشی FPGA وارد بازار شده‌اند که نیازی به پروگرامر جداگانه ندارند و دارای پروگرامر USB سرخود (یا رو-برد) هستند. بنابراین انتخاب بردی که این ویژگی را داشته باشد، می‌تواند تا حد زیادی در هزینه‌ی خرید شما صرفه‌جویی ایجاد کند.

معرفی یک گزینه‌ی مناسب (یک برد FPGA آموزشی جذاب)

نوشته ام را با معرفی یک برد آموزشی مناسب که تا حد ممکن معیارهای مطرح شده را دارا باشد به پایان می‌رسانم. برد پازج-1، یک برد آموزشی FPGA بر مبنای تراشه‌ی SPARTAN-6 است. پازج-1 اولین برد FPGA ایرانی با پروگرامر USB رو-برد است که به راحتی در محیط نرم‌افزاری ISE شناخته می‌شود و توسط آن قابل برنامه‌ریزی است.

به لحاظ امکانات سخت افزاری، پازج-1 تمام آن چیزی را که برای شروع _و حتی فراتر از آن، برای انجام پروژه‌های کوچک و متوسط_ بدان احتیاج دارید در بر دارد. ترکیب پازج-1 و بال مگاوینگ LogiX1 گزینه‌ی پیشنهادی ما به افرادی است که قصد دارند طراحی دیجیتال با FPGA را از صفر شروع کنند. مگاوینگ LogiX1 با اضافه کردن چهار عدد سون سگمنت، پورت خروجی تصویر VGA، و تعدادیLED  و کلید و سوئیچ، تمامی سخت‌افزارهای لازم برای انجام پروژه‌های آموزشی اولیه را در اختیار شما قرار می‌دهد. برای آشنایی بیشتر با ویژگی‌های سخت‌افزاری پازج این پست را مطالعه نمایید.

به لحاظ توسعه پذیری، پلتفرم آموزشی پازج-1 به گونه‌ای طراحی شده که قابلیت گسترش آن توسط ماژول‌های جانبی (با عنوان “بال”) وجود دارد. بال ها، بردهای کوچکی هستند که به سادگی و بدون نیاز به هیچ گونه سیم‌بندی به راحتی روی برد اصلی نصب می‌شوند و قابلیت‌های آن را گسترش می‌دهند. در حال حاضر مجموعه‌ی متنوعی از بال‌ها در دسترس کاربران پازج وجود دارد: بال ADC، بال حافظه‌ی MicroSD، بال مگاوینگ LogiX1، بال LED و کلید، بال خروجی تصویر VGA، بال خروجی تصویر HDMI و بال ورودی/خروجی صوت، نمونه‌ای از ماژول‌های توسعه‌ی مخصوص پازج هستند. همچنین این امکان وجود دارد که شما نیز بال مورد نیاز خود را طراحی کنید و بر روی پازج سوار نمایید! لیست کامل بال‌‌های توسعه‌ی پازج را می‌توانید اینجا مشاهده کنید.

و اما از نظر پشتیبانی به جرات می‌توان گفت پازج در این زمینه از همه‌ی رقبایش یک سر و گردن بالاتر است، چرا که:

  • پازج دارای انجمن‌های پشتیبانی تخصصی و گروه تلگرامی است که سوالات کاربرانش را در سریعترین زمان ممکن پاسخ می‌دهد. شما می‌توانید بطور مستقیم با طراحان پازج ارتباط بگیرید و اشکالات خویش را مطرح کنید.
  • پازج دارای 14 جلسه فیلم آموزشی FPGA شامل 10 جلسه آموزش VHDL و 4 جلسه آموزش میکروبلیز است که روی وبسایت پازج به رایگان در دسترس عموم قرار دارد و همچنین به عنوان هدیه برای خریداران برد ارسال می‌شود.
  • پازج دارای مجموعه‌ی وسیعی از پروژه‌های نمونه است که برای شروع یادگیری بسیار مفید است.
  • پازج دارای مستندات کامل و جامع است. راهنمای کاربری و اسناد طراحی پازج (از جمله نقشه شماتیک بصورت کامل، فایل UCF و فایل تعریف برد در ISE) هیچ ابهامی برای استفاده از برد باقی نمی‌گذارد.

و در نهایت بایستی گفت پازج-1 به لحاظ قیمت نیز بی رقیب است. قیمت پازج-1 در حال حاضر حدود 240 هزار تومان است که نسبت به سایر محصولات مشابه، حداقل 30 درصد ارزانتر است. برای مقایسه‌ی کامل قیمت و امکانات برد پازج-1 با سایر بردهای مشابه آن می‌توانید این پست را مطالعه نمایید.

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