اگر در حال یادگیری FPGA هستید، احتمالا نام بعضی شرکتهای سازنده FPGA و محصولات آنها را شنیدهاید.
در میان این شرکتها، دو شرکت هستند که بیشترین سهم را از بازار فروش FPGA دارند: شرکت Xilinx و شرکت آلترا. البته شرکت آلترا چند سال پیش توسط شرکت Intel خریداری شد؛ اما ما همچنان محصولات آن را آلترا مینامیم!
در این برنامه ویدئویی، این دو شرکت سازنده FPGA را به شما معرفی میکنم و محصولات آنها را با هم مقایسه میکنم.
More...
هر کدام از این شرکتها، چندین محصول مختلف تولید کردهاند. این محصولات، هر کدام از نظر کارایی، تعداد منابع سختافزاری، قیمت و مصرف توان دارای ویژگیهای خاص خود هستند و شما بر مبنای نیازتان در هر پروژه، میتوانید گزینه مناسب را انتخاب کنید.
در انتهای این برنامه، در مورد CPLDها و قابلیتهای آنها هم صحبت میکنم و آنها را با FPGA مقایسه میکنم.
ویدئو یا متن؟
محتوای این برنامه آموزشی، به دو صورت ویدئو و متن آماده شده است. اگر علاقمند به یادگیری این مطلب به صورت ویدئویی هستید، ویدئوی زیر را ببینید و اگر ترجیح میدهید آن را به صورت متن مطالعه کنید، ادامه این مطلب را بخوانید.
برای دانلود نسخه با کیفیت این ویدئو، روی دکمه زیر کلیک کنید:
کدام تراشه از کدام شرکت را انتخاب کنم؟
سوال بالا سوالی است که هر فرد در ابتدای آشنایی با خانوادهی مشخصی از تراشههای الکترونیکی و عمدتا تراشههای دیجیتال از خود میپرسد.
افراد دوست دارند بدانند که محصولات هر شرکت چه قابلیتهایی دارند و همچنین هر شرکت چه میزان از سهم بازار را در اختیار دارد تا در آینده فرصتهای شغلی بیشتری پیش روی خود داشته باشند.
این افراد با توجه به پاسخی که برای پرسش خود پیدا خواهند کرد، در نهایت یک گزینه از بین چند گزینهی موجود را انتخاب خواهند کرد.
اگر به دنبال پاسخی مناسب برای سوال خود هستید، مطالعهی این مقاله میتواند برای پاسخ به سوالتان بسیار مفید باشد.
در این مقاله میخواهم در مورد شرکتهای سازندهی FPGA و محصولات آنها صحبت کنم.
شرکتهای سازنده FPGA
به احتمال زیاد شما هم اسم خیلی از این شرکتها و محصولات آنها را شنیدهاید. اما ممکن است که آشنایی زیادی با این شرکتها و محصولات آنها نداشته باشید و یا حتی ممکن است ندانید هر کدام از این محصولات مربوط به کدام یک از شرکتهای سازنده میشود.
در این برنامه میخواهم راجع به شرکتهای سازنده، محصولات، تواناییها و تفاوتهای آنها صحبت کنم تا در صورت نیاز بتوانید انتخاب بهتری داشته باشید.
شرکتهای بسیاری در دنیا هستند که FPGA تولید میکنند، اما بیش از ۸۰ درصد کل تولیدها مربوط به دو شرکت میشود.
شرکت Xilinx و Altera
این دو شرکت که به احتمال زیاد اسمشان را شنیدهاید، شرکت Xilinx و Altera هستند.
طبق آماری که چند سال پیش گرفته شده است حدود ۴۹ درصد از FPGAها، توسط شرکت Xilinx و ۴۰ درصد آنها توسط شرکت Altera تولید شده است. و به همین دلیل است که اکثر شرکتها، چه در ایران و چه در کشورهای دیگر، بیشتر با FPGAهای این دو شرکت بزرگ در حال کار هستند.FPGAهای شرکت Xilinx
محصولات شرکت Xilinx از چندین خانواده تشکیل شده است و هر کدام از این خانوادهها دارای اعضایی است.
محصولات عمدهی شرکت Xilinx درحال حاضر VIRTEX 7 ،KINTEX 7 ،ARTIX 7 و SPARTAN 6 است.
تفاوت اصلی اعضای هر خانواده در تعداد و حجم منابع سختافزاری موجود در آنها است که درباره تفاوت خانوادهها با یکدیگر در ادامه صحبت خواهم کرد.
یکی دیگر از محصولات شرکت Xilinx تراشهی ZYNQ است. شرکت Xilinx، این محصول را به عنوان SOC یا System On Chip نامگذاری کرده است.
وجود یک میکروکنترلر ARM در کنار FPGA علت این نامگذاری است.
با امکانات این تراشه شما میتوانید در میکروکنترلر برنامهنویسی کنید و به کمک FPGA طراحی سختافزار کنید.
این تراشه به شما این امکان را میدهد که الگوریتمهای پردازشی و کنترلی را به صورت ترکیب سختافزار و نرمافزار پیادهسازی کنید. به عبارت دیگر، برای کسانی که با این تراشه کار میکنند، یک امکان جدید برای تقسیم وظایف پردازشی بین نرمافزار و سختافزار ایجاد میشود که خود یک بحث مفصل دارد.
برای مقایسه محصولات اصلی شرکت Xilinx از نظر عملکرد، توان و قیمت، میتوان از شکل زیر کمک گرفت:همانطور که در این نمودار میبینید، از نظر Performance و کارایی VIRTEX 7 و KINTEX و ARTIX 7 به ترتیب بیشترین کارایی را دارند.
منظور از بیشترین کارایی، امکان پیادهسازی مداراتی با بالاترین سرعت و وجود منابع دیجیتالی بیشتر است.
اما از نظر مصرف توان این مسئله دقیقا برعکس است. یعنی VIRTEX 7 که بالاترین کارایی را دارد، بیشترین توان را مصرف میکند و کمترین توان را ARTIX 7 مصرف میکند.
از نظر قیمت هم VIRTEX 7، بیشترین قیمت را دارد و کمترین قیمت را VIRTEX 7 دارد.
البته SPARTAN 6 که در این نمودار نیامده است، ارزانترین FPGA شرکت Xilinx است. اما نسبت به FPGAهایی که در این نمودار میبینید، قابلیتهای پایینتری دارد.
هر کدام از FPGAهای خانوادههای شرکت Xilinx خود نیز دارای اعضایی هستند. برای اینکه موضوع را برای شما بیشتر روشن کنم، اعضای خانوادهی SPARTAN 6 را در جدول زیر برای شما نمایش میدهم.
بررسی اعضای خانواده FPGA SPARTAN 6
البته اعضای این خانواده تعداد بیشتری هستند، در اینجا من برای روشن شدن موضوع، چهار تراشه از اعضای خانوادهی SPARTAN 6 را در این جدول خلاصه کردهام.
همانطور که در جدول زیر میبینید در ستون اول قسمت Part Number است، که شماره چهار عضو از خانوادهی SPARTAN 6 نوشته شده است.
در ستونهای بعدی پنج منبع اصلی دیجیتالی موجود در FPGAها نوشته شده است و مقدار آنها را برای این چهار عضو خانواده با هم مقایسه کردهایم.
به طور مثال مقدار Logic Cellها که بخش اصلی تشکیل دهندهی FPGA است و خود از LUTها تشکیل شدهاند، برای SPARTAN 6 LX9، عدد ۹۱۵۲ است.
عدد آخر شمارهی FPGA، اگر با واحد کیلو سنجیده شود، تقریبا با تعداد Logic Cellها برابر است.
۹ کیلو معادل ۹۱۵۲ Logic Cell است. برای SPARTAN 6 LX100 تعداد Logic Cellها، ۱۰۱۲۶۱ عدد یا حدودا ۱۰۰ کیلو Logic Cell است.
مقدار حافظه و تعداد ضربکنندهها نیز در این جدول قابل مشاهده است.
مثلا برای SPARTAN 6 LX9 تعداد ضربکنندههای موجود در FPGA، عدد ۱۶ است ولی برای SPARTAN 6 LX100 این تعداد ۱۸۰ عدد است.
از منابع دیجیتالی دیگر درFPGAها، پینهای ویژهای به غیر از پینهای عادیِ ورودی- خروجی است، که به کمک آنها میتوانیم ارتباطات با سرعت بسیار زیاد در حد GB/s داشته باشیم.
به این پینها گیگابیت ترنسیور گفته میشود که حداکثر سرعت انتقال دیتا در FPGAهای SPARTAN 6 ۳.۲ GB/sاست.
در انتهای نام بعضی از اعضای خانوادهی SPARTAN 6 حرف T قرار دارد، FPGAهایی که در انتهای نامشان حرف T قرار دارد دارای تعدادی از این پینهای با سرعت بالا هستند.
مثلا در SPARTAN 6 LX25T، دو پین گیگابیت ترنسیور است. اما در SPARTAN 6 LX100، هشت پین است.
در ستون آخر هم میتوانید تعداد I/Oها را ببینید. مثلا برای LX9 SPARTAN 6 تعداد I/Oها ۲۰۰ عدد است، اما برای SPARTAN 6 LX100T تعداد I/Oها ۴۹۸ عدد است.
FPGAهای شرکت Altera
اکنون اجازه بدهید نگاهی به محصولات شرکت Altera داشته باشیم. محصولات این شرکت هم مانند شرکت Xilinx از چندین خانواده و هر خانواده از چند عضو تشکیل شده است.
در شکل زیر میتوانید لیست محصولات اصلی شرکت Altera را ببینید:اگر بخواهیم محصولات شرکت Altera را با هم مقایسه کنیم، بیشترین Performance و کارایی را به ترتیب Stratix 10 و Arria و Cyclone دارد.
این موضوع در مورد توان، دقیقا بر عکس میشود. با توجه به اینکه بیشترین Performance و کارایی را Starix 10 دارد، توان بیشتری را مصرف میکند و از نظر قیمت نیز بالاترین قیمت را دارد.
مقایسه FPGA و CPLD
در انتها میخواهم در مورد CPLDها و تفاوتهایشان با FPGAها کمی صحبت کنم.
بدون توجه به ساختار داخلی CPLD، میتوانیم CPLD را به این صورت تعریف کنیم: CPLD، نوعی FPGA است که حجم منابع داخلی آن بسیار کمتر است.
اما اگر بخواهم کمی دقیقتر راجع به تفاوت FPGA با CPLD صحبت کنم، میتوانم چند مورد را نام ببرم.
تفاوت اول در نحوهی استفاده از تراشه است، برای اینکه از FPGAها استفاده کنیم ابتدا باید آنها را Configure یا پیکرهبندی بکنیم.
به عبارتی دیگر باید محتوای LUTها و سوئیچهایی که مسیرها و سیمها را به هم متصل میکنند، مشخص بکنیم.
در FPGAها، ذخیرهسازی محتوا، مشابه RAM است، یعنی اگر یک FPGA را پیکرهبندی کنید و سپس FPGA را خاموش و دوباره روشن کنید، تمام اطلاعات پاک میشود و FPGA مانند روز اول ساخت میشود.
به همین دلیل باید کنار هر FPGA یک حافظهی دائمی قرار داده شود تا محتوای پیکرهبندی در آن قرار گیرد.
اما در CPLDها یک حافظهی دائمی وجود دارد که میتوانیم محتوای پیکرهبندی را به صورت دائمی در آن قرار بدهیم. بنابراین نیازی به استفاده از یک حافظهی دائم جانبی در کنار CPLD نیست.
CPLDها دارای پیچیدگی بسیار کمتری هم هستند، پس مصرف توان آنها نسبت به FPGAها خیلی خیلی کمتر است.
وجود منابع مختلف و متنوع دیجیتالی تفاوت دیگری است که بین FPGAها و CPLDها وجود دارد.
در FPGAها منابع مختلف و متنوع دیجیتالی مانند حافظهها، ضربکنندهها، DCM، پینهای با سرعت زیاد یا همان گیگابیت ترنسیورها و حتی در بعضی FPGAها میکروپروسسورهایی به صورت سختافزاری تعبیه شده است. اما در CPLDها هیچ کدام از این منابع دیجیتالی وجود ندارد و به طور ساده میتوان گفت CPLD از تعدادی گیت تشکیل شده است.
بنابراین، در طرحهای خیلی کوچک، با توان مصرفی خیلی کم و سرعت Develop و توسعهی بالا معمولا از CPLD استفاده میشود. در غیر اینصورت و در اکثر موارد اولویت با FPGAها است.
امیدوارم که پس از خواندن این مقاله نه تنها پاسخ سوالتان را دریافت کرده باشید، بلکه با بینشی که اکنون به دست آوردید بتوانید مناسبترین تراشه را برای پروژههایتان انتخاب کنید.
آیا برنامه ویدئویی شرکتهای سازنده FPGA و محصولات آنها برای شما مفید بود؟
لطفا نظرتان را در مورد این برنامه در پایین همین پست با دیگران به اشتراک بگذارید. همچنین با کلیک روی هر کدام از دکمههای اشتراک گذاری ابتدای این مطلب و به اشتراکگذاری آن در شبکههای اجتماعی میتوانید افراد بیشتری را در یادگیری این مطالب سهیم کنید.
سلام آقای مهندس وقت بخیر. ویدئوهای شما بسیار آموزنده و مفید هستند.سپاس از زحمات شما
من چند وقتی هست درگیر یک موضوعی در رابطه با شرکت های تولید کننده asicها هستم و متاسفانه موفق نشدم اونهارو بطور دقیق پیدا کنم امکانش هست که راهنمایی بفرمائید.
سلام، ممنون از شما.
من متاسفانه آشنایی با این شرکتها ندارم؛ اما قاعدتا به جستجوی اینترنتی میتوانید آنها را پیدا کنید.
موفق باشید.