چرا باید FPGA یاد بگیریم؟

پاسخ به این سوأل که چرا باید FPGA یاد بگیریم یک بله یا خیر ساده نیست. در ایران تنها زمین بازی برای علاقمندان به طراحی سخت افزارهای دیجیتال FPGA است.
چرا باید FGA یاد بگیریم؟

مقدمه

در سال‌های اخیر ورود به بازار کار و کسب مهارت در یک حوزه تخصصی خاص تبدیل به یکی از مهمترین دغدغه‌های مهندسین سخت افزار و الکترونیک شده است. اما انتخاب تخصص موضوعی نیست که بتوان به سرعت روی آن به جمع بندی رسید. طی سال‌های اخیر همواره یک رقابت تنگاتنگ میان تخصص‌های مرتبط با تراشه‌های قابل پیکره بندی و تراشه‌های پردازنده شکل گرفته است و طرفدارن هر کدام مدام به مقایسه و بیان ویژگی‌های کاری روی تراشه‌های محبوبشان پرداخته‌اند. در این بین، دست بالا معمولاُ در اختیار طرفداران ARM‌ و DSP‌ است. یکی از سوألاتی که ممکن است به شکل‌های مختلف پرسیده شود، این است که چرا باید FPGA یاد بگیریم؟ چرا باید تا این حد زمان و هزینه صرف کنیم تا کار با FPGA ها را فرا بگیریم؟ واقعاً چرا باید به جای ARM و یا DSP کار با FPGA را یاد بگیریم؟ جواب بسیار کوتاه به این سوأل در علاقه و برنامه ریزی کاری شما نهفته است.

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

کاربردهای تراشه‌های FPGA

اگر قصد شما تنها روشن و خاموش کردن چند LED و یا کنترل تعدادی سنسور در طی چند ثانیه است، میکرو کنترلر و پردازنده‌های ARM‌ و حتی DSP ها گزینه‌های به مراتب بهتری نسبت به FPGA ها هستند. اما اگر هدف شما پردازش یک ویدئوی HD بلادرنگ و کنترل شدت و رنگ نور حدود ۶ میلیون LED با نرخ ۶۰ فریم بر ثانیه است، در این صورت تنها انتخاب شما FPGA است.

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

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

الگوهای طراحی و پیاده سازی سخت افزارهای دیجیتال به سرعت در حال تغییر است، نکته حائز اهمیتی که در این مقطع زمانی بیش از پیش خودنمایی می‌کند. روال‌های طراحی مبتنی بر HDL در حال جایگزین شدن با روال‌های طراحی مبتنی بر HLS هستند. همه روزه شاهد هستیم که با توجه به بزرگ شدن و قدرتمندتر شدن تراشه‌های FPGA، استفاده از HDL و طراحی کاملاً RTL با زبان‌های توصیف سخت افزاری VHDL و Verilog کاهش یافته است و در عوض استفاده از زبان‌های سطح بالاتر ++C/C به شدت رو به افزایش است. اگرچه به کارگیری زبان C جریان طراحی و زمان توسعه محصول را بسیار ساده تر و سریعتر کرده اما متأسفانه در حال حاضر کیفیت نتایج حاصل از سنتزِ کدهای C در مقایسه با نتایج حاصل از سنتزِ کدهای HDL به اندازه کافی مناسب نیست. در واقع این ایده استفاده از یک کد C آماده و پیاده سازی بهینه سخت افزاری آن روی تراشه‌ FPGA بدون داشتن هیچ دانش و آگاهی در رابطه با معماری تراشه‌های FPGA یک امید واهی است و ما همچنان باید منتظر سال‌های آتی بمانیم تا این تغییر در الگوی طراحی به بلوغ کافی برسد.

چرا باید FGA یاد بگیریم
پیش بینی از آینده بازار FPGA‌در سال ۲۰۲۱

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

جمع بندی

بنابراین با توجه به توضیحاتی که ارائه شد، بیایید فرض کنیم دنبال یک کار سرگرم کننده هستید و یا یک مهندس نرم افزار هستید، آیا باز هم نیاز به فراگیری روش‌های طراحی روی FPGA دارید؟ پاسخ به این سوأل یک بله و یا خیر ساده نیست. بیشتر به بستگی به نوع علاقمندی‌های شما دارد. مثلاً اگر علاقمند به استخراج رمز ارزها هستید‌، آشنایی با FPGA و آگاهی از شیوه طراحی سخت افزار برای شما ضروری است. اگر علاقمندی و یا فعالیت‌های کاری شما در ارتباط با هوش مصنوعی و شبکه‌های عصبی است، بهتر است این را بدانید که ما در میانه راه یک انقلاب بزرگ طی سال‌های آینده هستیم، راهی که در نهایت تمامی سرگرمی‌های امروز را به کارهای مهم همه روزه ما تبدیل خواهد کرد.

اشتراک در
بیشتر بخوانیم
محاسبه سینوس و کسینوس در FPGA با استفاده از CORDIC ابزارهای طراحی

محاسبه سینوس و کسینوس در FPGA با استفاده از CORDIC

روش‌‌های متفاوتی برای محاسبه سینوس و کسینوس در FPGA وجود دارد که یکی از آن‌ها استفاده از CORDIC IP Core در مجموعه نرم افزاری ISE و Vivado است.

بلند شدن و دویدن با مجموعه یکپارچه نرم افزاری Vitis ابزارهای طراحی

بلند شدن و دویدن با مجموعه یکپارچه نرم افزاری Vitis

وقتی که کار با Vitis را آغاز می‌کنیم، اولین چیزی که توجه‌ ما را جلب می‌کند، جایگزین شدن SDSoC ، SDAccel و حتی SDK با مجموعه نرم افزاری Vitis‌ است

پیاده سازی تابع لگاریتم در FPGA توصیف سخت افزاری

پیاده سازی تابع لگاریتم در FPGA

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

مبانی محاسبات ریاضی در FPGA توصیف سخت افزاری

مبانی محاسبات ریاضی در FPGA (قسمت دوم)

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

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

    دیدگاه‌ خود را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد.

    اسکرول به بالا