توسط احمد ثقفی 

4 فروردین, 1395

شرکت‌های تولید کننده FPGA

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

در میان این شرکت‌ها، دو شرکت هستند که بیشترین سهم را از بازار فروش FPGA دارند: شرکت Xilinx و شرکت آلترا. البته شرکت آلترا چند سال پیش توسط شرکت Intel خریداری شد؛ اما ما همچنان محصولات آن را آلترا می‌نامیم!

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

More...

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

در انتهای این برنامه، در مورد CPLDها و قابلیت‌های آنها هم صحبت می‌کنم و آنها را با FPGA مقایسه می‌کنم.

ویدئو یا متن؟

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

برای دانلود نسخه با کیفیت این ویدئو، روی دکمه زیر کلیک کنید:

کدام تراشه از کدام شرکت را انتخاب کنم؟

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

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

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

اگر به دنبال پاسخی مناسب برای سوال خود هستید، مطالعه‌ی این مقاله می‌تواند برای پاسخ به سوالتان بسیار مفید باشد.

در این مقاله می­‌خواهم در مورد شرکت­‌ها­ی ساز­ند­ه‌­ی FPGA و محصولات آن‌ها صحبت کنم­.

شرکت‌های سازنده FPGA

به احتمال زیاد شما هم اسم خیلی از این شرکت‌­ها و محصولات آن‌ها را شنیده‌اید­. اما ممکن است که آشنایی زیاد­ی با این شرکت­‌ها و محصولات آن‌ها نداشته باشید و یا حتی ممکن است ندانید هر کدام از این محصولات مربوط به کدام یک از شرکت‌­های ساز­ند­ه می‌شود­.

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

شرکت‌های بسیاری در دنیا هستند که FPGA تولید می­‌کنند، اما بیش از ۸۰ در­صد کل تولید­ها مربوط به دو شرکت می‌شود­.

شرکت Xilinx و Altera

این دو شرکت که به احتمال زیاد اسمشان را شنیده‌اید، شرکت Xilinx  و Altera هستند­.

 طبق آمار­ی که چند سال پیش گرفته شد­ه است حدود ۴۹ در­صد از FPGAها، توسط شرکت Xilinx و ۴۰ درصد آن‌ها توسط شرکت Altera تولید شد­ه است. و به همین دلیل است که اکثر شرکت‌­ها­، چه در ایران و چه در کشور­ها­ی دیگر، بیشتر با FPGAهای این دو شرکت بزرگ در حال کار هستند­.
شرکت‌های سازنده FPGA

میزان تولید شرکت‌های سازنده FPGA

FPGAهای شرکت Xilinx

محصولات شرکت Xilinx از چندین خانواده تشکیل شد­ه است و هر کدام از این خانواده‌ها دار­ا­ی اعضا­یی است­.

محصولات عمده­‌ی شرکت Xilinx درحال حاضر VIRTEX 7 ،KINTEX 7 ،ARTIX 7 و SPARTAN 6 است­.

تفاوت اصلی اعضا­ی هر خانواده در تعداد و حجم منابع سخت­‌افزار­ی موجود در آن‌ها است­ که درباره تفاوت خانواده‌ها با یکدیگر در ادامه صحبت خواهم کرد.

یکی دیگر از محصولات شرکت Xilinx تراشه­‌ی ZYNQ است­. شرکت Xilinx، این محصول را به عنوان SOC یا System On Chip نام‌گذاری کرد­ه­ است.

وجود یک میکروکنترلر ARM در کنار FPGA  علت این نامگذاری است.

با امکانات این تراشه شما می‌­توانید در میکروکنترلر برنامه‌­نویسی کنید و به کمک FPGA طراحی سخت‌­افزار کنید.

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

 برای مقایسه محصولات اصلی شرکت Xilinx از نظر عملکرد، توان و قیمت، می­توان از شکل زیر کمک گرفت:
مقایسه FPGAهای شرکت Xilinx

مقایسه 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­ها­ ۴۹۸ عدد ا­ست­.

مقایسه اعضای خانواده SPARTAN 6

مقایسه اعضای خانواده SPARTAN 6

FPGAهای شرکت Altera 

اکنون­ اجازه بدهید نگاهی به محصولات شرکت Altera داشته باشیم­. محصولات این شرکت هم مانند شرکت Xilinx از چند­ین خانواده و هر خانواده­ از چند عضو تشکیل شد­ه است­.

 در شکل زیر می­‌توانید لیست محصولات اصلی شرکت Altera را ببینید:
مقایسه FPGAهای شرکت Altera

مقایسه FPGAهای شرکت 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 و محصولات آنها برای شما مفید بود؟

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

کانال تلگرام آموزش FPGA از صفر

برای عضویت در کانال تلگرام و دسترسی به آموزش‌های بیشتر و اطلاع سریع از زمان انتشار آموزش‌ها و تخفیف‌های ویژه، روی دکمه زیر کلیک کنید:

درباره نویسنده:

احمد ثقفی

شاید به این موضوعات نیز علاقه داشته باشید:

  • سلام آقای مهندس وقت بخیر. ویدئوهای شما بسیار آموزنده و مفید هستند.سپاس از زحمات شما
    من چند وقتی هست درگیر یک موضوعی در رابطه با شرکت های تولید کننده asicها هستم و متاسفانه موفق نشدم اونهارو بطور دقیق پیدا کنم امکانش هست که راهنمایی بفرمائید.

    • سلام، ممنون از شما.

      من متاسفانه آشنایی با این شرکت‌ها ندارم؛ اما قاعدتا به جستجوی اینترنتی می‌توانید آنها را پیدا کنید.

      موفق باشید.

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    ۷ تکنیک پیشرفته کدنویسی برای FPGA

    >