سلام
در این پست قصد داریم تا “پازج یک” را با نمونه بردهای مشابه آن از جنبههای مختلف مقایسه کنیم. هدف از این پست قضاوت در مورد برتری هیچیک از گزینهها نیست و تنها ویژگیها و نقاط مثبت و منفی هر کدام از این بردها مورد بررسی قرار میگیرد تا کاربران بتواند بسته به نیاز خود در مورد گزینهی مناسب تصمیم گیری نمیایند.
مقایسه با برد Papilio Pro:
همانگونه که در معرفی پازج نیز به صراحت بیان شده، پازج تا حد زیادی الهام گرفته از پروژهی پاپیلیو است. به طور مشخصتر میتوان گفت “پازج یک” ترکیبی از دو عضو پرطرفدار خانوادهی پاپیلیو یعنی Papilio-Pro و Papilio-Due است. به لحاظ فرم ظاهری و نداشتن میکروکنترلر خارجی پازج مشابه Papilio-Pro است، اما به لحاظ نوع حافظهی موقت، پازج به جای DRAM از SRAM بهره برده که در این مورد مشابه Papilio-Due میباشد.
تفاوت دیگر پازج و پاپیلیو در قسمت پروگرامر روی برد آنها است. پروگرامر پازج به گونهای طراحی شده است که به راحتی توسط قسمتهای مختلف مجموعهی ISE (شامل Impact (جهت برنامهریزی FPGA و SPI-Flash) و ChipScope (جهت دیباگ لاجیک) و همچنین SDK (جهت دیباگ SOC)) پشتیبانی میشود، حال آنکه آنگونه که در توضیحات Papilio-Due عنوان شده است، این ویژگی به طور رسمی توسط پاپیلیو پشتیبانی نشده و توصیه شده است که از نرمافزار اختصاصی پاپیلیو جهت برنامهریزی FPGA استفاده شود (+). البته بایستی به این نکته اشاره کرد که این موضوع در حالت کلی نمیتواند به منزلهی نقطه ضعفی برای پاپیلیو قلمداد شود، چرا که هدف اصلی سازندگان پاپیلیو نیز استفاده از IDE اختصاصی پاپیلیو به جای مجموعهی ISE بوده است.
پاپیلیو از انجمنهای پشتیبانی قوی و جامعهی کاربری بالایی برخوردار است که این موضوع نیز یکی از دلایل محبوبیت بالای این پلتفرم به حساب میآید. خبر خوب برای کاربران “پازج” این است که به دلیل مشابهت بالای پازج و پاپیلیو، بسیاری از پروژههای تعریف شده روی پاپیلیو با کمترین تغییراتی بر روی پازج نیز قابل اجرا است. علاوه بر این، مجموعهی کاملی از مثالها و آموزشهای متنی و ویدوئی مخصوص پازج به زبان فارسی در حال آماده سازی است که از طریق وبسایت پازج در اختیار کاربران قرار میگیرد. همچنین انجمنهای پازج نیز مکانی است که کاربران میتوانند به طرح سوالات خود و تبادل اطلاعات با تیم پشتیبانی پازج و سایر کاربران بپردازند.
گذشته از تمام موارد فوق، مسئلهی اساسی در مورد پاپیلو این است که متاسفانه به دلیل عدم وجود این برد در بازار داخلی، دسترسی به این محصول برای کاربران ایرانی مشکل و در صورت امکان بسیار هزینهبر است. تلاش پازج پر کردن جای خالی پاپیلیو برای کاربران ایرانی است که امیدواریم در دستیابی به این هدف موفق باشیم.
مقایسه با Mojo:
Mojo نیز یکی دیگر از پلتفرمهای آموزشی محبوب بر اساس تراشهی SPARTAN-6 است. یکی از شاخصههای اصلی برد Mojo برخورداری از میکروکنترلر ATmega32U4 است که روی برد در کنار FPGA قرار گرفته است و کاربران میتوانند با استفاده از IDE اختصاصی Mojo (بنام Mojo IDE) از قابلیتهای وجود یک میکروکنترلر در کنار FPGA بهره ببرند که این ویژگی میتواند برای آن دسته از کاربرانی که تجربهی کار با میکروکنترلرهای ATmega بخصوص پلتفرم Arduino را دارند بسیار جذاب باشد چرا که محیط Mojo IDE شباهت بسیار زیادی با محیط Arduino IDE دارد.
هر چند محیط Mojo IDE همانند Arduino IDE میتواند برای هابیستها و پروژههای تفننی و Prototype جذاب باشد، اما به هیچ عنوان مناسب پروژههای حرفهای و صنعتی نیست و برای این موضوع نیز طراحی نشده است. به ویژه که اگر هدف شما از فراگیری FPGA، آماده شدن برای ورود به صنعت در کشور خودمان است، استفاده از چنین IDE هایی نمیتواند در آیندهی شغلی شما کارآمد باشد. بنابراین اگر قصد فراگیری FPGA های شرکت Xilinx را دارید بهتر است از همین ابتدا به سراغ محیط توسعهی ارائه شده توسط همین شرکت با نام ISE (یا Vivado برای FPGA های نسل هفتم) بروید.
شایان ذکر است که همانند Papilio، کاربر میتواند توسط هر دو محیط توسعهی Mojo IDE و ISE برای Mojo طراحی انجام دهد، اما در این حالت نکتهی ناخوشایند برای کاربران Mojo این است که برای پروگرام کردن برد نمیتوانند از نرمافزار Impact (نرمافزار رسمی Xilinx جهت برنامهریزی تراشهی FPGA) استفاده کنند و برای این کار بایستی به سراغ نرم افزار اختصاصی شرکت Mojo بروند که شاید این موضوع برای بسیاری از کاربران که طرفدار یکپارچگی محیط توسعه هستند زیاد جالب نباشد. البته شاید این موضوع برای برخی کاربران زیاد مهم نباشد اما بایستی گفت متاسفانه ماجرا به همینجا ختم نمیشود و در صورتی که به هر دلیل طرحی که روی FPGA ریختهاید به درستی عمل نکند و شما بخواهید جهت عیبیابی (Debug) طرح خود از ChipScope (نرمافزار رسمی Xilinx جهت عیبیابی سختافزار) استفاده کنید، به دلیل اینکه پروگرامر Mojo توسط Chipscope پشتیبانی نمیشود این امکان برای شما وجود نخواهد داشت. این موضوع در مورد SDK (نرمافزار رسمی Xilinx جهت برنامهریزی MicroBlaze) نیز صادق است و در صورتی که طرح شما حاوی MicroBlaze باشد، شما امکان دیباگ نرمافزار نوشته شده برای MicroBlaze را نخواهید داشت.
نکتهی منفی دیگر در مورد Mojo عدم برخورداری از حافظهی موقت (SRAM یا DRAM) روی برد است. از جمله موارد مصرف حافظهی موقت میتوان به مواردی اشاره نمود که طرح شما حاوی MicroBlaze بوده و حجم کد نرمافزاری که برای آن نوشتهاید بیشتر از ظرفیت حافظهی محدود داخلی FPGA باشد. مثال VGA نیز یکی دیگر از مواردی است که ظرفیت حافظهی داخلی (BRAM) موجود در FPGA محدود است و شما بایستی برای ذخیرهی فریم تصویر از حافظهی خارجی استفاده نمایید. البته SDRAM در قالب یک شیلد جداگانه با قیمتی حدود 25 دلار در سایت Mojo به فروش میرسد (+)، اما متاسفانه در بازار داخل کشور موجود نیست.
با تمامی این اوصاف نبایستی از این نکته غافل شد که Mojo نیز همانند Papilio یک پلتفرم محبوب با پشتیبانی فنی قوی و کیفیت ساخت بالا است. بویژه در صورتی که تجربهی کار با محیط آردوینو را داشته و به آن علاقمندید و بیشتر بهدنبال انجام پروژههای تفننی هستید، Mojo نیز میتواند گزینهی مناسبی برای شما به حساب آید.
مقایسه با S6 چینی:
شاید این قسمت از مقایسه سختترین بخش آن باشد، چرا که متاسفانه اطلاعات زیادی از برد مورد نظر در دسترس نبوده و آنچه در جدول انتهای صفحه مشاهده میکنید تمام آن چیزی است که با کند و کاو اینترنت در مورد این برد به دست آوردیم! حتی نام و نشان این برد نیز مشخص نیست و نامی که در عنوان این بخش از مقایسه برای آن انتخاب شده است به سلیقهی نگارنده بوده است.
به لحاظ سختافزاری آنچه با نگاه به ظاهر این برد قابل تشخیص است این است که این برد دارای ابزارهای جانبی مختلف از جمله پورت VGA، 7 Segment، کلید فشاری، گیرندهی مادون قرمز، مبدل USB به سریال، Buzzer و … است. متاسفانه از کیفیت ساخت این برد اطلاعاتی در دسترس نبوده و نمیتوان در مورد آن اظهار نظر نمود.
بعلاوه به همراه این برد یک عدد پروگرامر USB چینی ارائه میگردد که این موضوع نیز در کنار تنوع ابزارهای جانبی که این برد در اختیار کاربر قرار میدهد، میتواند جزء نقاط قوت این برد قلمداد شود (از کیفیت عملکرد پروگرمر اطلاعاتی در دسترس نیست، لطفا دوستانی که تجربهی کار با این برد را دارند در قسمت نظرات تجربهی خود را منعکس نمایند).
اما نکتهی قابل توجه در رابطه با این برد بینام و نشان این است که متاسفانه هیچ گونه اطلاعاتی در مورد این برد در دسترس نبوده و اندک اطلاعات موجود نیز به زبان شیرین چینی است. شاید این مسئله برای یک برد میکروکنترلری زیاد مهم نباشد ولی در مورد FPGA، عملا نبود شماتیک طرح به معنای عدم امکان استفاده از بخش عظیمی از امکانات روی برد است، و در بهترین حالت درست همانند گنجی است که نقشهی آن در دسترس نباشد! البته در برخی فروشگاهها به همراه این برد چند عدد DVD بعنوان اطلاعات این برد ارائه میشود اما تمامی آن چیزی که در این DVD ها یافت میشود تعدادی فیلم آموزشی (احتمالا به زبان چینی)، مجموعهی نرمافزاری ISE و چند سند PDF به زبان چینی است که ماهیت دقیق آن مشخص نیست. از همین رو بسیاری از کاربران پس از خرید این برد برای کار کردن با این برد دچار گرفتاری و دربهدری میشوند که نمونهی آن را میتوانید در قسمت نظرات برخی سایتهای فروشندهی ایرانی مشاهده نمایید.
در جدول زیر ویژگیهای این 4 برد بصورت خلاصه با یکدیگر مقایسه شده است.
| ||||
نام برد | Posedge One | Papilio pro | Mojo | نامعلوم |
ساخت | ایران | امریکا | امریکا | چین |
چیپ FPGA | Xilinx Spartan6-LX9 | Xilinx Spartan6-LX9 | Xilinx Spartan6-LX9 | Xilinx Spartan6-LX9 |
قیمت | 449 هزار تومان | 85 دلار | 85 دلار | 600 تا 900 هزارتومان |
تعداد IO | 48 | 48 | 84 + 8 analog | نامعلوم |
حافظه موقت | 4Mb SRAM | 64Mb SDRAM | بدون حافظه | دارای حافظه |
حافظه Flash | 64 Mbit quad SPI | 64 Mbit SPI | 4 Mbit | نامعلوم |
درگاه USB | – پروگرام – مبدل USB به UART – ارتباط ASYNC FIFO با سرعت حداکثر 12MB/s – تغذیه برد | – پروگرام – مبدل USB به UART – تغذیه برد | – پروگرام – تغذیه برد | مبدل USB به سریال PL2303HA |
حداکثر سرعت درگاه USB | 80Mbps در حالت FIFO | 12Mbaud | 12Mbaud | 12MBaud |
پروگرامر On-Board | | | | |
پشتیبانی پروگرامر توسط مجموعهی ISE (شامل Impact، Chipscope و SDK) | | | | بدون پروگرامر On-Board(دارای پروگرامر USB چینی به صورت هدیه) |
سایر امکانات | – دکمه پروگرام – دکمه همه منظوره – LED نشان دهنده وضعیت برنامه داخل FPGA | – دکمه پروگرام – LED همه منظوره | – دکمه همه منظوره – LEDنشان دهنده وضعیت برنامه داخل FPGA – 8 عدد LED همه منظوره | – VGA – PS2 – 7Segment – دکمه – buzzer – گیرنده مادون قرمز |