مدار مجتمع دیجیتال برنامه‌پذیر

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
یک اف‌پی‌جی‌اِی جی‌ایکس استراتیکس چهار، مدل آلترا

آرایه دریچه‌ای برنامه‌پذیر میدانی یا اف‌پی‌جی‌اِی (به انگلیسی: Field-programmable gate array: FPGA) یک مدار مجتمع است که به گونه‌ای طراحی شده‌است تا بعد از تولید انبوه، قابل پیکربندی توسط طراح یا مشتری باشد. به این علت به آن برنامه‌پذیر در میدان می‌گویند.[۱] مدار مجتمع دیجیتال برنامه‌پذیر

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

  • فهرست:
  • تعریف
  • چرا تهیه مدل اولیه مهم است؟
  • طراحی برای ایجاد یک نمونه اولیه
  • مسائل پارتیشن بندی
  • متعادل کردن منابع FPGA در حین ایجاد پارتیشن‌های طرح[۶
  • قرار دادن و مسیر یابی پارتیشن‌ها
  • ملزومات زمانی[۶
  • اشکال زدایی

چرا تهیه مدل اولیه مهم است؟

۱. اجرای طرح SoC بر روی مدل اولیه FPGA یک شیوه روا و معتبر برای اطمینان از عملکرد صحیح آن می‌باشد. این با طراحانی مقایسه می‌شود که فقط به شبیه‌سازی نرم‌افزار برای تمایز میزان مناسب و دقیق بودن طرح سخت‌افزار متکی هستند. حدود یک سوم از تمامی طرح‌های SoC جاری در اولین تست سیلیکون عاری از خطا هستند، و تقریباً نیمی از آنها همگی برگشت می‌خورند که به علت وجود خطاهای عملیاتی منطقی می‌باشد [۱]. یک ایستگاه نمونه سازی منفرد می‌تواند تمایز طرح سخت‌افزار، دائم افزار، و برنامه نرم‌افزاری را قبل از تست سیلیکان برای ما فراهم سازد [۲]. ۲. دوره زمان رسیدن به بازار (TTM) کاهش می‌یابد: در جامعه تحت نفوذ فناوری امروزی، محصولات جدید خیلی سریع معرفی می‌شوند، و شکست در آماده‌سازی محصول در فرجه زمانی تعیین شده، می‌تواند برای شرکت هزینه سرمایه‌ای خیلی بالایی به همراه داشته باشد [۳]. اگر محصول خیلی دیرتر از دریچه زمانی بازار پخش شود، ممکن است محصول بی استفاده بماند، هزینه سرمایه‌ای بالایی برای شرکت این محصول به همراه داشته باشد. پس از فرایند طراحی، FPGAها آماده تولید هستند، در حالی که شروع تولید باتری استاندارد ASIC بیشتر از شش ماه طول می‌کشد [۳]. ۳. هزینه تولید: هزینه تولید یک نوار مغناطیسی طراحی 90-nm ASIC/SoC حدود ۲۰ میلیون دلار است، که به تنهایی یک میلیون دلار نیز هزینه ماسک (مخفی و پوشش دادن) دارد [۱]. هزینه‌های تولید یک طرح 45-nm نیز انتظار می‌رود که از ۴۰ میلیون دلار بیشتر شود. با افزایش یافتن هزینه‌های مجموعه ماسک، و همچنین کاهش اندازه IC، به حداقل رساندن شمار برگشتی در فرایند تولید حیاتی است.

طراحی برای ایجاد یک نمونه اولیه

بسیاری از موانعی که تیم‌های تولیدی در اتخاذ نمونه اولیه FPGA با آن مواجه هستند را می‌توان با سه «قانون» زیر کاهش داد: • SoCها بزرگتر از FPGAها هستند. • SoCها سریعتر از FPGAها هستند. • طراحی SoC مخالف FPGA است. قرار دادن یک طرح SoC در قالب نمونه اولیه FPGA مستلزم برنامه ریزی دقیق برای اجرای اهداف و مقاصد نمونه اولیه سازی با کمترین تلاش ممکن می‌باشد. برای سهولت تولید یک نمونه اولیه، بهترین عملکرد را طراحی برای نمونه اولیه سازی (یا DFP) می‌نماند که هم تحت تأثیر استیل طراحی SoC و هم رویه‌های پروژه می‌باشد که برای تیم‌های طراحی اعمال می‌شود. توصیه‌های رویه‌ای شامل اضافه کردن اصول DFP به استانداردهای قانون RTL، بکارگیری یک محیط شبیه‌سازی سازگار با نمونه اولیه، و برقراری یک سیستم راهبردی مشکل گشایی مشترک با تیم نرم‌افزاری؛ می‌باشد.

مسائل پارتیشن بندی

به علت افزایش پیچیدگی مدارها، و کوتاه شدن زمان ورود به بازار، نیاز به طرح‌های تمایز مدارهای مجتمع مختص برنامه (ASIC) و سیستم بر روی چیپ (SoC) در حال رشد است. ایستگاه‌های سخت‌افزاری در میان مهندسان تمایز خیلی غالب شده است زیرا توانایی تست طراحی سیستم را با سرعت و با ساعت باس خود چیپ برای آنها فراهم می‌سازد، همانطور که ساعت‌های شبیه‌سازی شده را مقایسه می‌کنند، ممکن است یافته صحیحی از رفتار سیستم ارائه ندهد [۵]. این طراحی گیت‌های مولتی میلیونی معمولاً در ایستگاه‌های ساخت نمونه اولیه چند FPGA با شش FPGA یا بیشتر انجام می‌شود، از آنجایی که قادر به متناسب کردن کل آن با یک FPGA نیستند. هرچه تعداد FPGAها کمتر باشد، طرح بایستی پارتیشن بندی شود تا تلاش مهندسان طراح کمتر شود [۶]. در سمت راست یک تصویر از ایستگاه مدل اولیه مبتنی بر FPGA نمایش داده شده است که از پیکربندی دو-FPGA استفاده می‌کند. طرح‌های RTL سیستم تا لیست‌های خالص بایستی در هر یک از FPGA پارتیشن بندی شوند تا قادر به متناسب کردن هر طرح در ایستگاه مدل اولیه باشند [۷]. این چالش جدیدی برای مهندسان به همراه دارد از آنجایی که پارتیشن بندی دستی مستلزم تلاش‌های فراوان بوده و غالباً با سرعت کمی امکانپذیر است (برای طرح زیر تست) [۶]. اگر تعداد یا پارتیشن‌ها را بتوان کاهش داد یا کل طرح را بتوان در یک FPGA منفرد گنجاند، اجرای طرح در ایستگاه نمونه سازی اولیه خیلی راحت تر خواهد شد.

متعادل کردن منابع FPGA در حین ایجاد پارتیشن‌های طرح[۶]

زمان تولید پارتیشن‌های مدار، مهندسان بایستی منابع موجود و در دسترس که توسط FPGA ارائه شده است، را بخوبی مشاهده و نظارت کنند؛ از آنجایی که طرح نهایتاً در یک FPGA فابریک قرار داده می‌شود. معماری هر FPGA به سازنده بستگی دارد، اما هدف اصلی در پارتیشن بندی طرح ایجاد تعادل بین مصرف منابع FPGA می‌باشد. انواع مختلف منابع FPGA شامل جداول نظارتی (LUTs)، RAMهای بلوک فلیپ – فلاپ D، پردازشگرهای سیگنال دیجیتال (DSPs)، بافر ساعت و غیره می‌باشند. قبل از متعادل سازی پارتیشن‌های طراحی، ارزشمند است که کاربر یک بهینه‌سازی عمومی و همگانی انجام دهد تا هر گونه منطق و مدارهای اضافی و بدون مصرف را حذف نماید. مشکل معمولی که در زمان ایجاد تعادل بین پارتیشن‌ها رخ می‌دهد این است که این کار ممکن است منجر به تضاد در زمانبندی یا منابع شود اگر برش در خطوط سیگنال زیادی باشد. داشتن یک راهبرد پارتیشن بندی بهینه شده، مهندس بایستی مسائلی را مد نظر قرار دهد از قبیل محدودیت‌های قدرت/زمانی و مکانی و مسیری را لحاظ کند، در حالی که هنوز تعادل پارتیشن بین FPGAها ابقا شود. تمرکز قطعی بر یک مسئله منفرد در طی پارتیشن بندی ممکن است چندین مسئله دیگر را تولید کند.

قرار دادن و مسیر یابی پارتیشن‌ها:

برای اینکه به بهترین مکان و مسیر یابی برای طرح‌های پارتیشن بندی شده دست یابد، مهندس بایستی بر شمارش پین FPGA و سیگنال‌های درون-FPGA متمرکز شود. پس از پارتیشن بندی طرح به چندین FPGA جداگانه، تعداد سیگنال‌های درون-FPGA بایستی از شمارش پین FPGA تجاوز نکند [۸]. اجتناب از مواردی که طرح‌های مدار وسیع هستند، خیلی سخت است، بنابراین سیگنال‌ها بایستی از راهبردهایی استفاده کنند از قبیل تسهیم تقسیم بندی زمانی (TDM) که در آن چندین سیگنال را می‌توان بر روی یک خط منفرد انتقال داد [۹]. این سیگنال‌های چندگانه را زیر کانال می‌نامند، که برای انتقال از یک درگاه زمانی منفرد بر رو یک خط در نوبت قرار می‌گیرند. زمانی که نسبت TDM خیلی بالا باشد، فرکانس ساعت باس بایستی کاهش داده شود تا با فاصله زمانی هر یک از زیر کانال‌ها منطبق شود. با کم کردن فرکانس ساعت، خروجی سیستم کاهش می‌یابد.

ملزومات زمانی :

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

اشکال زدایی

یکی از سخت ترین و زمان بر ترین وظایف در الگو سازی FPGA اشکال زادیی طرح‌های سیستم می‌باشد. با ظهور طرح‌های ASIC و SoC پیچیده و وسیع، کار اشکال زدایی خیلی سخت و زمان بر شده است. برای اشکال زدایی یک الگوی اولیه FPGA، پروب‌هایی مستقیماً به طرح RTL وصل شده است تا سیگنال‌های خاصی را برای مشاهده، سنتز، دانلود بر روی ایستگاه مدل اولیه FPGA؛ در دسترس قرار دهند. ابزارهای استاندارد متعددی توسط صنف FPGA معرفی شده است که شامل ChipScope و SignalTAP می‌باشند. این ابزارها می‌توانند حداکثر ۱۰۲۴ سیگنال را پروب کرده و مستلزم اجرای وسیع LUT و منابع حافظه می‌باشد. برای SoC و سایر طرح‌ها، اشکال زدایی کافی مستلزم دسترسی همزمان به ۱۰۰۰۰سیگنال یا بیشتر می‌باشد. اگر مشکل در بررسی اولیه با مجموعه پروب‌ها قابل تشخیص و رفع نباشد، دسترسی به سیگنال‌های بیشتر منجر به موقعیت «فعلاً واسه امروز برو خونه» می‌گردد. این بخاطر طولانی و پیچیده بودن جریان CAD برای سنتز، قرار دادن، و مسیریابی است که بین ۸ تا ۱۸ ساعت تکمیلش طول می‌کشد. یک رویکرد بدیع استفاده از ابزار سرتوس شرکت تکترونیکس (Certus tool from Tektronix) [10] می‌باشد که مرئی شدن کامل سطح RTL را برای اشکال زدایی تحت FPGA فراهم ساخته است. این ابزار از تمرکز کننده‌های چند مرحله‌ای فوق العاده مکفی به عنوان پایه‌ای برای مشاهده شبکه در تلاش برای کاهش تعداد LUTهای لازم برای هر سیگنال برای افزایش تعداد سیگنالی که در فضای موجود پروب می‌شوند، استفاده می‌کند. . توانایی نگرش هر گونه ترکیبی از سیگنال‌ها منحصر به سرتوس می‌باشد و یکی از مشکلات خیلی بزرگ و حیاتی مدل سازی اولیه را برطرف نموده است

استفاده[ویرایش]

ماهواره[ویرایش]

برای کاربران با امکانات مالی اندک در زمینهٔ تولید ماهواره، اف پی‌جی‌ای‌ها می‌توانند وقت و هزینهٔ زیادی را کاهش دهند. این موئلفهٔ مثبت باعث شده‌است که این مدارهای مجتمع با وجود حساسیت در برابر پرتوهای کیهانی، به تعداد بالا مورد استفاده قرار بگیرند. البته برای اینکه پروژه دچار اخلال نشود، در ماهواره‌ها از ترکیب سه‌گانهٔ این آی‌سی‌ها استفاده می‌شود تا در صورت از کارافتادن یک، یا دو تا از آن‌ها کار ابزار فضایی ادامه پیدا کند.[۱]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ «Reconfigurable FPGAs Designed for Satellite Program». AF، ۲۱ سپتامبر ۲۰۰۹. بازبینی‌شده در ۱۷ ژانویه ۲۰۱۲. 
جستجو در ویکی‌انبار در ویکی‌انبار پرونده‌هایی دربارهٔ مدار مجتمع دیجیتال برنامه‌پذیر موجود است.

http://en.wikipedia.org/wiki/FPGA_prototype