مدارهای ASIC/FPGA

24 اردیبهشت 1402 - خواندن 12 دقیقه - 1416 بازدید



آغاز ASIC را می توان به اوایل دهه 1980 ردیابی کرد. تقریبا در این زمان، آی سی ها شروع به ایجاد تاثیر عمده بر صنعت الکترونیک کردند. با توجه به مزایایی که آی سی ها ارائه می کردند، و تعداد محدودی که در دسترس بود، تلاش هایی برای ایجاد یک تراشه منطقی انجام شد که به راحتی بتواند روی یک برنامه خاص متمرکز شود. یکی از ابتکارات اولیه که توسط Ferranti، یک شرکت مستقر در بریتانیا انجام شد، از چیزی استفاده کرد که آرایه منطقی غیرمتعهد (ULA) نامیده می شد. این طرح با تغییر ماسک اتصال فلزی، سفارشی سازی را فراهم کرد.اولین (آرایه منطقی غیرمتعهد یا ULA) ها حاوی تنها چند هزار گیت بودند، اما نسخه های بعدی دارای سطوح انعطاف پذیری بیشتری بودند و از قالب های پایه متفاوتی استفاده می کردند که توسط لایه های فلزی و پلی سیلیکونی سفارشی شده بودند. در برخی موارد عناصر RAM در ULA پایه گنجانده شده بودند.از این پیشرفت های اولیه، تعدادی از انواع مختلف ASIC توسعه یافته اند. در حال حاضر بسیاری از ASIC ها بسیار پیچیده هستند، و برخی از ASIC های سیگنال مختلط هستند که مدارهای آنالوگ و دیجیتال را در خود جای داده اند.توسعه و ساخت یک طراحی ASIC شامل طرح ASIC یک فرآیند بسیار گران است. به منظور کاهش هزینه ها، سطوح مختلفی از سفارشی سازی وجود دارد که می توان از آنها استفاده کرد. اینها می توانند هزینه ها را برای طرح هایی که در آن به سطوح زیادی از سفارشی سازی ASIC نیاز نیست کاهش دهند.

اساسا سه سطح ASIC وجود دارد که می توان از آنها استفاده کرد:
1_ آرایه دروازه: این نوع ASIC کمترین قابلیت شخصی سازی را دارد. در اینجا لایه های سیلیکونی استاندارد هستند، اما لایه های متالیزاسیون که امکان اتصال بین نواحی مختلف روی تراشه را فراهم می کنند، قابل تنظیم هستند. این نوع ASIC در جایی ایده آل است که تعداد زیادی عملکرد استاندارد مورد نیاز است که می توانند به روشی خاص برای برآورده کردن نیاز داده شده متصل شوند.
2_ سلول استاندارد: برای این نوع ASIC، ماسک یک طراحی سفارشی است، اما سیلیکون از اجزای کتابخانه ساخته شده است. این امر درجه بالایی از انعطاف پذیری را می دهد، مشروط بر اینکه توابع استاندارد قادر به برآوردن الزامات باشند.
3_ طراحی کامل سفارشی: این نوع ASIC انعطاف پذیرترین است زیرا شامل طراحی ASIC تا سطح ترانزیستور می شود. طرح ASIC را می توان با نیازهای دقیق مدار تنظیم کرد. در حالی که بالاترین درجه انعطاف پذیری را ارائه می دهد، هزینه ها بسیار بالاتر است و توسعه آن به زمان بیشتری نیاز دارد.

 خطرات نیز بیشتر است زیرا کل طرح آزمایش نشده است و از عناصر کتابخانه ای که قبلا استفاده شده است ساخته نشده است.طرح های ASIC راه حل بسیار جذابی برای بسیاری از برنامه های کاربردی با حجم بالا ارائه می دهند. آنها باعث می شوند که مقادیر قابل توجهی از مدار بر روی یک تراشه قرار گیرد. اگر مدارها با استفاده از تراشه های اختصاصی مونتاژ می شدند، اجزای اضافی و در نتیجه مساحت برد مورد نیاز بود. هزینه های ساخت بیشتر خواهد بود. با حجم کافی، تراشه های سفارشی، در قالب ASIC پیشنهاد بسیار جذابی را ارائه می دهند. علاوه بر جنبه های هزینه، ASIC ها نیز ممکن است گاهی مورد استفاده قرار گیرند زیرا مدارهایی را قادر می سازند که از نظر فنی با استفاده از فناوری های دیگر قابل دوام نباشند. آنها ممکن است سرعت ارائه دهند، و عملکردی که در صورت استفاده از اجزای گسسته امکان پذیر نباشد.



مدارهای مجتمع ASIC از نوع(سلول استاندارد) برای این نوع ASIC، ماسک یک طراحی سفارشی است، اما سیلیکون از اجزای مستحکم تری ساخته شده است. این امر درجه بالایی از انعطاف پذیری را می دهد، مشروط بر اینکه توابع استاندارد قادر به برآوردن الزامات باشند.در مدارهای مجتمع ASIC از نوع(سلول استاندارد) جمع کننده ها بیشترین استفاده را از عملگرهای پیچیده تر در طراحی معمولی دارند. در موارد خاص، طراحان مدار الکتریکی گاهی از نسخه های ویژه مدارهای مجتمع ASIC از نوع(سلول استاندارد) با استفاده از ترکیبی از نیم جمع کننده ها و جمع کننده های کامل استفاده می کنند.در مدارهای مجتمع ASIC از نوع(سلول استاندارد) - سلول های استاندارد به خوبی تعریف شده و سلول های از پیش مشخص شده ای هستند که در جریان طراحی ASIC (مدار مجتمع ویژه برنامه ریزی شونده) به عنوان بلوک های ساختمانی اساسی استفاده می شوند. همه این سلول ها از نظر ارتفاع برابر هستند و به راحتی می توانند در ردیف سلول های استاندارد قرار بگیرند. سلول های استاندارد بسیار قابل استفاده مجدد هستند و در زمان طراحی ASIC صرفه جویی می کنند.به طور کلی، در مدارهای مجتمع ASIC از نوع(سلول استاندارد) مجموعه های مختلفی از چیدمان سلولی استاندارد وجود دارد که اندازه مسیر متفاوت سلول های استاندارد را دارد. بسته به استفاده از ASIC، ارتفاع مسیر مدارهای مجتمع ASIC از نوع(سلول استاندارد) در یک ارتفاع و سطح استاندارد انتخاب شده است. به طور کلی سه مجموعه از مدارهای مجتمع ASIC از نوع(سلول استاندارد) وجود دارد که به عنوان سلول استاندارد ترانزیستور کوچک، سلول استاندارد ترانزیستور بزرگ و سلول استاندارد ترانزیستور متوسط ​​مشخص می شود.در مدارهای مجتمع ASIC از نوع(سلول استاندارد) سلول های استاندارد ترانزیستوری کوچک برای طراحی با چگالی بالا استفاده می شوند و این سلول ها مصرف برق پایینی دارند. ترانزیستورهای بزرگ سلول های استاندارد مساحت بزرگی دارند اما عملکرد بسیار خوبی دارند. سلول های استاندارد ترانزیستورهای متوسط ​​دارای تعادل بین ترانزیستورهای بزرگ و ترانزیستورهای کوچک هستند.



FPGA یا Array Programmable Gate Array یک تراشه قابل برنامه ریزی است که حتی پس از برنامه ریزی می تواند در زمینه برنامه ریزی مجدد شود. این تراشه است که پیکربندی داخلی آن با کدی تنظیم می شود که توسط طراح FPGA تعیین می شود. FPGA عنصری از قابلیت استفاده مجدد و همچنین انعطاف پذیری را فراهم می کند ، که در مورد ASIC ها وجود ندارد که عمدتا تراشه های دائمی هستند و پس از تولید نمی توانند برنامه ریزی شوند.FPGA مانند بوم سفید است ، می تواند هر عملکرد دیجیتالی را که تصور کنید انجام دهد ، از قابلیت انعطاف پذیری و انعطاف پذیری برخوردار است که در هیچ جای دیگری وجود ندارد.با روشن شدن ، FPGA کد خود را از یک حافظه خارجی بارگیری می کند و سپس براساس عملکرد جدید شروع به رفتار می کند. FPGA مبتنی بر SRAM است. بنابراین ، هر بار کد باید بارگیری شود. FPGA امروزه در طیف وسیعی از برنامه ها استفاده می شود. FPGA را می توان در برنامه های زیر یافت: مرکز داده ، محاسبات با کارایی بالا ، محصولات صنعتی ، پزشکی ، ابزار اندازه گیری ، پردازش ویدئو و تصویر ، ارتباطات سیمی ، ارتباطات بی سیم ، هوا فضا و دفاع ، نمونه سازی ASIC ، خودرو و سایر موارد میکروکنترلر ها را شامل میشود.FPGA از مجموعه ای از بلوک ها به نام بلوک های منطقی قابل برنامه ریزی تشکیل شده است ، این بلوک ها توسط ماتریس اتصال قابل تنظیم قابل اتصال هستند. این بدان معنی است که هم رفتار منطقی و هم مسیریابی داخلی می تواند توسط طراح برنامه ریزی شود و به این وسیله انعطاف پذیری لازم را به دستگاه می دهد.ساختار و معماری Gate Array یا FPGA Field Programableable Field یک مدار مجتمع است که می تواند میلیون ها دروازه منطقی را در خود داشته باشد که می توانند برای انجام یک کار خاص پیکربندی شوند.ساختار میکروکنترلر قابل مقایسه با یک کامپیوتر ساده است که در یک تراشه قرار داده شده است و تمام اجزای لازم مانند حافظه و تایمرهای تعبیه شده در داخل را دارد. برای انجام برخی کارهای ساده برای سخت افزارهای دیگر برنامه ریزی شده است. ماهیت اساسی FPGA این امکان را می دهد تا انعطاف پذیر تر از بسیاری از میکروکنترلر ها باشد. اصطلاح قابل برنامه ریزی از قبل به شما می گوید که کل دستگاه FPGA را می توان برای انجام هر کار منطقی که می تواند در تعداد دروازه های موجود در آن تنظیم شود ، دوباره برنامه ریزی کرد. انعطاف پذیری FPGA به دلیل قیمت آنها در مقایسه با میکروکنترلرهای معمولی ، انرژی بیشتری را مصرف می کند ، و این باعث می شود آنها برای برنامه هایی که تخلیه برق مشکل دارد ، نامناسب باشند. ایجاد یک عملکرد FPGA در یک نقش خاص نیز در مقایسه با میکروکنترلرها بسیار طولانی تر طول می کشد ، زیرا شما مجبور هستید که همه کدها را از ابتدا بنویسید و آن را به زبان دستگاه تبدیل کنید. با استفاده از میکروکنترلر ها ، می توانید بسته هایی را که به سمت یک کار خاص در نظر گرفته شده اند خریداری کنید و فقط آنها را با مشخصات دقیق خود نسبتا عجیب برنامه ریزی کنید.



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

در میکرو (مدارهای مجتمع FPGA) طرح ها ذاتا سلسله مراتبی هستند. اجزای سطح بالاتر ماژول های سطح پایین تر را نمونه سازی می کنند و سیگنال ها را در سراسر آنها پیوند می دهند، و انگیزه ای برای آرایه های گیت قابل برنامه ریزی سلسله مراتبی فراهم می کنند. آرایه های گیت قابل برنامه ریزی سلسله مراتبی می توانند این اتصالات را با استفاده از سیم های کوتاهی که بخش های مجزای یک تراشه را به هم متصل می کنند، بسازند، زیرا ارتباط بیشتر بین ماژول هایی که در سلسله مراتب طراحی نزدیک به هم هستند اتفاق می افتد.

 چگالی و عملکرد FPGA تحت تاثیر طراحی مسیریابی است.در میکرو (مدارهای مجتمع FPGA) پین های رابط برای پیوند بلوک های منطقی با اجزای خارجی استفاده می شود. رابط بین آرایه گیت قابل برنامه ریزی میدانی و مدارهای خارجی IOB (بلوک خروجی ورودی)، یک دستگاه ورودی و خروجی قابل برنامه ریزی است که برای برآوردن نیازهای محرک و تطبیق سیگنال های ورودی/خروجی تحت ویژگی های مختلف الکتریکی مورد استفاده قرار می گیرد. بلوک های ورودی/خروجی معماری مسیریابی و (واحد CLB )ها را به عناصر بیرونی متصل می کنند.در میکرو (مدارهای مجتمع FPGA) بین پین های بسته و مدارهای زیرین دستگاه، بلوک های ورودی/خروجی اتصالات یک طرفه یا دو طرفه قابل برنامه ریزی را فراهم می کنند. اجرای یک برنامه کاربردی مستلزم ساخت مدار از ابتدا بود زیرا آرایه های دروازه قابل برنامه ریزی میدان قبلی فاقد پردازنده ای برای اجرای هر نرم افزاری بودند. در نتیجه، یک FPGA ممکن است به گونه ای برنامه ریزی شود که مانند یک گیت OR ساده باشد یا مانند یک پردازنده چند هسته ای پیچیده باشد.فضای گنجانده شده در بلوک های منطقی میکرو (مدارهای مجتمع FPGA) به عنوان اولین شکل عنصر حافظه روی تراشه در سیستم های میکرو (مدارهای مجتمع FPGA) عمل می کند. با این وجود، با بهبود ظرفیت منطق آرایه دروازه قابل برنامه ریزی میدانی، در سیستم های گسترده تری استفاده شد که تقریبا همیشه برای بافر و استفاده مجدد از داده ها روی تراشه به حافظه نیاز داشتند. از آنجایی که ساخت رم های بزرگ متشکل از رجیسترها و (فضای برنامه ریزیLUT ها) حدود 100 برابر چگالی کمتری نسبت به یک بلوک SRAM دارد، نیاز به ذخیره سازی روی تراشه متراکم تر نیز شد.