اضافه کردن علاقمندی تنظیم صفحه
موقعیت:صفحه اصلی >> رسانه >> الکترون

دسته بندی محصولات

محصولات برچسب ها

سایت های FMUSER

مقدمه ای بر FPGA | ساختار، اجزاء، کاربردها

Date:2021/10/18 21:55:31 Hits:
در این مقاله شاهد موضوعی ویژه به نام Field Programmable Gate Arrays یا به سادگی FPGA خواهیم بود. ما مفهوم دستگاه های منطقی قابل برنامه ریزی و انواع مختلف دستگاه های قابل برنامه ریزی میدانی (FPD) مانند PLA، PAL، CPLD، FPGA را بررسی خواهیم کرد. همچنین، معماری یک دستگاه FPGA معمولی را همراه با مزایای آن خواهیم دید. مقدمه کلی نکته مختصر در مورد PLD (دستگاه منطقی قابل برنامه ریزی) انواع مختلف PLD ها آرایه منطقی برنامه ریزی پذیر (PLA) منطق آرایه قابل برنامه ریزی (PAL) منطق آرایه عمومی (GAL) مجتمع ابزارهای منطقی قابل برنامه‌ریزی (CPLD) آرایه‌های دروازه قابل برنامه‌ریزی فیلد (FPGA) FPGA چیست؟ اجزای یک FPGAlogic BlockRouting فن‌آوری‌های برنامه‌نویسیFPGASRAMEEPROM / FlashAnti-FuseApplicationsمقدمه آرایه‌های دروازه قابل برنامه‌ریزی فیلد از طریق موتورهای سخت‌افزاری (FPGA) طراحی شده‌اند. منطق دیجیتال سفارشی بر اساس نیازهای او. اصطلاح "قابل برنامه ریزی میدانی" به این معنی است که منطق دیجیتال آی سی در طول ساخت (یا ساخت) ثابت نیست، بلکه توسط کاربر نهایی (طراح) برنامه ریزی شده است. به منظور ارائه این قابلیت برنامه ریزی، یک FPGA شامل قابل تنظیم است. بلوک های منطقی (یا قابل برنامه ریزی) و اتصالات قابل تنظیم بین این بلوک ها. این منطق قابل تنظیم و اتصالات (مسیریابی) FPGAها، آنها را به طور کلی و انعطاف پذیر می کند، اما در عین حال، آنها را در مقایسه با ASIC کالیبر مشابه با سلول های استاندارد، کند و انرژی مصرف می کند. بیش از سه دهه از آن زمان می گذرد. معرفی FPGA ها به بازار و در این مدت طولانی، آنها دستخوش پیشرفت تکنولوژیکی شدیدی شده اند و به طور مداوم محبوبیت فزاینده ای به دست آورده اند. یادداشت مختصری در مورد PLD (دستگاه منطقی قابل برنامه ریزی) قبل از پرداختن به موضوع اصلی، می خواهم به طور خلاصه در مورد مفهوم دستگاه های منطقی قابل برنامه ریزی بنابراین، PLD چیست. این یک آی سی حاوی تعداد زیادی گیت منطقی و فلیپ فلاپ است که می تواند توسط کاربر برای اجرای طیف گسترده ای از توابع پیکربندی شود. ساده ترین دستگاه منطقی قابل برنامه ریزی شامل آرایه ای از گیت های AND & OR و منطق این ها گیت‌ها و اتصالات آن‌ها را می‌توان با یک فرآیند برنامه‌نویسی پیکربندی کرد. PLD‌ها به‌ویژه زمانی مفید هستند که یک مهندس بخواهد یک منطق سفارشی‌سازی شده را پیاده‌سازی کند و توسط مدارهای مجتمع از پیش پیکربندی شده محدود شود. PLD ها راهی برای پیاده سازی مدار دیجیتال سفارشی از طریق قدرت پیکربندی سخت افزاری به جای اجرای آن با استفاده از یک نرم افزار فراهم می کنند. آنها عبارتند از: دستگاه های منطقی قابل برنامه ریزی ساده (SPLD) دستگاه های منطقی قابل برنامه ریزی پیچیده (CPLD) آرایه های دروازه قابل برنامه ریزی میدانی (FPGA) دستگاه های منطقی قابل برنامه ریزی ساده بیشتر به: آرایه منطقی قابل برنامه ریزی (PLA) منطق آرایه قابل برنامه ریزی (PAL) منطق آرایه عمومی (PAL) تقسیم می شوند. GAL) اکنون اجازه دهید جزئیات اساسی در مورد همه این PLD ها را ببینیم. آرایه منطقی برنامه پذیر (PLA) یک PLA از یک صفحه دروازه AND با اتصالات قابل برنامه ریزی و یک صفحه دروازه OR با اتصالات قابل برنامه ریزی تشکیل شده است. در زیر یک PLA چهار ورودی - چهار خروجی ساده با گیت های AND & OR ارائه شده است. هر ورودی را می توان با اتصال خطوط افقی و عمودی به هر گیت AND متصل کرد. سپس خروجی‌های گیت‌های AND مختلف را می‌توان به هر یک از گیت‌های OR با اتصالات قابل برنامه‌ریزی اعمال کرد. منطق آرایه‌های قابل برنامه‌ریزی (PAL) یک PAL شبیه PLA است، اما تفاوت این است که در PAL، فقط صفحه دروازه AND قابل برنامه‌ریزی است در حالی که صفحه دروازه OR در طول ساخت ثابت می شود. حتی اگر PAL ها نسبت به PLA ها انعطاف کمتری دارند، تاخیرهای زمانی مرتبط با Gates های قابل برنامه ریزی را حذف می کنند. PAL ها از PROM استفاده می کنند که یک بار قابل برنامه ریزی است، در حالی که GAL از EEPROM استفاده می کند که می تواند دوباره برنامه ریزی شود.  دستگاه های منطقی قابل برنامه ریزی پیچیده (CPLD) با حرکت به سمت بالا از دستگاه های SPLD، CPLD دریافت می کنیم. این در بالای دستگاه های SPLD برای ایجاد طرح های بزرگتر و پیچیده تر توسعه یافته است. یک CPLD از یک بلوک منطقی اعداد (یا بلوک های عملکردی) تشکیل شده است که در داخل شامل یک پال یا یک PAL به همراه یک ماکروسل است. ماکروسل از هر مدار اضافی و کنترل قطبیت سیگنال برای ارائه سیگنال واقعی یا مکمل آن تشکیل شده است.  آرایه های دروازه قابل برنامه ریزی میدانی (FPGA) از نظر پیچیدگی، CPLD بسیار پیچیده تر از SPLD ها هستند. اما FPGA حتی پیچیده تر از CPLD ها هستند. معماری یک FPGA کاملا متفاوت است زیرا شامل سلول های منطقی قابل برنامه ریزی، اتصالات قابل برنامه ریزی و بلوک های IO قابل برنامه ریزی است. مدار و اتصالات قابل برنامه ریزی که در یک آرایه دو بعدی مرتب شده اند. سلول های منطقی قابل برنامه ریزی را می توان برای انجام هر عملکرد دیجیتالی پیکربندی کرد و اتصالات (یا سوئیچ های) قابل برنامه ریزی اتصالات بین سلول های منطقی مختلف را فراهم می کند. با استفاده از یک FPGA، می توانید هر طرح سفارشی را با مشخص کردن منطق یا عملکرد هر بلوک منطقی و تنظیمات پیاده سازی کنید. اتصال هر سوئیچ قابل برنامه ریزی از آنجایی که این فرآیند طراحی یک مدار سفارشی به جای یک فاب در میدان انجام می شود، دستگاه به عنوان "قابل برنامه ریزی در میدان" شناخته می شود. ، هسته FPGA از سلول های منطقی قابل تنظیم و اتصالات قابل برنامه ریزی تشکیل شده است. اینها توسط تعدادی بلوک IO قابل برنامه ریزی احاطه شده اند، که برای صحبت با دنیای خارجی استفاده می شود. اجزای یک FPGAL اکنون به ما نگاهی دقیق تر به ساختار یک FPGA بیندازیم. به طور معمول، یک FPGA از سه جزء اصلی تشکیل شده است. آنها عبارتند از: سلول های منطقی قابل برنامه ریزی (یا بلوک های منطقی) - مسئول اجرای توابع منطقی اصلی هستند. مسیریابی قابل برنامه ریزی - مسئول اتصال بلوک های منطقی. بلوک های IO - که از طریق مسیریابی به بلوک های منطقی متصل می شوند و به ایجاد اتصالات خارجی کمک می کنند. Logic Block بلوک منطقی در FPGA های مبتنی بر Xilinx به عنوان بلوک های منطقی قابل تنظیم یا CLB نامیده می شود در حالی که ساختارهای مشابه در FPGA های مبتنی بر Altera بلوک های آرایه منطقی یا LAB نامیده می شوند. اجازه دهید از اصطلاح CLB برای این بحث استفاده کنیم. یک CLB جزء اصلی یک FPGA است که هم عملکردهای منطقی و هم ذخیره سازی را فراهم می کند. بلوک منطقی اصلی می تواند هر چیزی مانند ترانزیستور، دروازه NAND، Multiplexors، جدول جستجو (LUT)، ساختار PAL یا حتی پردازنده باشد. هر دو Xilinx و Altera از بلوک‌های منطقی مبتنی بر جدول جستجو (LUT) برای پیاده‌سازی منطق و همچنین قابلیت‌های ذخیره‌سازی استفاده می‌کنند. یک بلوک منطقی می‌تواند از یک عنصر منطقی پایه یا مجموعه‌ای از عناصر منطقی پایه به هم پیوسته تشکیل شود. Basic Logic Element ترکیبی از یک جدول Look-up (که به نوبه خود از SRAM و Multiplexors تشکیل شده است) و یک Flip-flop است. یک LUT با ورودی 'n' از 2n بیت پیکربندی تشکیل شده است که توسط سلول های SRAM پیاده سازی می شوند. با استفاده از این 2n بیت SRAM، LUT را می توان برای اجرای هر تابع منطقی پیکربندی کرد. مسیریابی اگر عملکرد محاسباتی توسط بلوک های منطقی ارائه شود، شبکه مسیریابی قابل برنامه ریزی مسئول اتصال این بلوک های منطقی است. شبکه مسیریابی اتصالات متقابل بین یک بلوک منطقی به بلوک دیگر و همچنین بین بلوک منطقی و بلوک IO را برای پیاده سازی کامل یک مدار سفارشی فراهم می کند. اساساً، شبکه مسیریابی از سیم های متصل با سوئیچ های قابل برنامه ریزی تشکیل شده است که می توانند با استفاده از هر یک از آنها پیکربندی شوند. فناوری های برنامه نویسی اساساً دو نوع معماری مسیریابی وجود دارد. آنها عبارتند از: مسیریابی سبک جزیره ای (همچنین به عنوان مسیریابی مش شناخته می شود) مسیریابی سلسله مراتبی در معماری مسیریابی سبک جزیره ای، بلوک های منطقی در یک آرایه دو بعدی مرتب شده اند و با استفاده از یک شبکه مسیریابی قابل برنامه ریزی به هم متصل می شوند. این نوع مسیریابی به طور گسترده در FPGA های تجاری استفاده می شود.بسیاری از بلوک های منطقی به یک مجموعه محلی از اتصالات محدود می شوند و معماری مسیریابی سلسله مراتبی از این ویژگی با تقسیم بلوک های منطقی به چندین گروه یا خوشه استفاده می کند. اگر بلوک‌های منطقی در یک خوشه قرار داشته باشند، مسیریابی سلسله مراتبی آنها را در سطح پایینی از سلسله مراتب به هم متصل می‌کند. اگر بلوک‌های منطقی در خوشه‌های مختلف قرار دارند، سیم‌کشی روی سطح بالاتری از سلسله مراتب انجام می‌شود. فناوری‌های برنامه‌نویسی FPGA ما صحبت کرده‌ایم. در مورد معماری قابل برنامه ریزی مجدد FPGA ها بسیار کم است، اما اکنون اجازه دهید برخی از متداول ترین تکنیک های برنامه نویسی مورد استفاده را که مسئول چنین معماری قابل تنظیم مجدد هستند، ببینیم. موارد زیر سه تا از فن آوری های برنامه نویسی شناخته شده مورد استفاده در FPGA ها هستند.SRAMEEPROM / FlashAnti-FuseOther فن آوری ها شامل EPROM و Fusible Link هستند اما در CPLD ها و PLD های دیگر استفاده می شوند اما در FPGA ها استفاده نمی شود، از این رو اجازه دهید بحث را محدود به فناوری های برنامه نویسی مربوط به FPGA کنیم. SRAM ما می دانیم که دو نوع رم نیمه هادی به نام های SRAM و DRAM وجود دارد. SRAM مخفف Static RAM است در حالی که DRAM مخفف Dynamic Ram است. SRAM با استفاده از ترانزیستور طراحی شده است و اصطلاح استاتیک به این معنی است که مقدار بارگذاری شده روی یک سلول حافظه SRAM پایه تا زمانی که عمدا تغییر داده شود یا برق قطع شود، یکسان خواهد ماند. یک سلول SRAM 6 ترانزیستوری معمولی برای ذخیره 1 بیت در تصویر زیر نشان داده شده است. این برخلاف DRAM است که از ترکیب یک ترانزیستور و یک خازن تشکیل شده است. اصطلاح Dynamic به این واقعیت اشاره دارد که مقدار بارگذاری شده در سلول اصلی حافظه DRAM تا زمانی که شارژ در خازن وجود نداشته باشد معتبر است. از آنجایی که خازن با گذشت زمان شارژ خود را از دست می دهد، سلول حافظه باید به طور دوره ای شارژ شود تا شارژ حفظ شود. بسیاری از فروشندگان FPGA سلول های حافظه استاتیک را در FPGA های مبتنی بر SRAM برای برنامه نویسی پیاده سازی می کنند. FPGAهای مبتنی بر SRAM برای برنامه‌ریزی سلول‌های منطقی و اتصالات داخلی استفاده می‌شوند و به دلیل برنامه‌ریزی مجدد و استفاده از فناوری CMOS، که به خاطر مصرف انرژی دینامیکی پایین، سرعت بالا و یکپارچگی فشرده‌تر معروف است، کاملاً غالب شده‌اند. FlashA جایگزین نزدیک برای فناوری برنامه نویسی مبتنی بر SRAM بر اساس فناوری های برنامه نویسی EEPROM یا Flash است. مزیت اصلی برنامه نویسی مبتنی بر فلش، غیر فرار بودن آن است. حتی اگر فلاش از برنامه ریزی مجدد پشتیبانی می کند، تعداد دفعاتی که می توان این کار را انجام داد در مقایسه با فناوری SRAM بسیار کم است. ضد فیوز فناوری برنامه نویسی ضد فیوز یک تکنیک قدیمی برای تولید دستگاه های قابل برنامه ریزی یک بار مصرف است. آنها با استفاده از پیوندی به نام آنتی فیوز اجرا می شوند که در حالت برنامه ریزی نشده مقاومت بسیار بالایی دارد و می توان آن را یک مدار باز در نظر گرفت. هنگام برنامه ریزی، ولتاژ و جریان بالایی به ورودی وارد می شود. در نتیجه، آنتی فیوز که در ابتدا به شکل سیلیکون آمورف (در اصل یک عایق با مقاومت بسیار بالا) است که دو مسیر فلزی را به هم متصل می کند، با تبدیل به پلی سیلیکون رسانا زنده می شود. در مقایسه با دو فناوری دیگر، آنتی فیوز یکی کمترین فضا را اشغال می کند اما فقط به عنوان یک گزینه قابل برنامه ریزی برای یک بار ارائه می شود.  کاربردها در سال های اولیه معرفی FPGA ها، آنها معمولاً برای پیاده سازی ماشین های حالت پیچیده کوچک تا متوسط ​​و وظایف پردازش داده بر روی داده های کوچک استفاده می شدند. همانطور که پیچیدگی و قابلیت آنها در طول سال ها افزایش یافته است، آنها در چندین برنامه خودروسازی، مصرف کننده و صنعتی گنجانده شده اند. در ابتدا، FPGA ها یک گزینه آسان برای نمونه سازی اولیه طرح های ASIC ارائه کردند، زیرا می توان آنها را به راحتی پیکربندی کرد تا چندین نوع سخت افزار را قبل از آن آزمایش و امتحان کرد. نهایی کردن طرح اصلی اما توانایی آنها برای عملکرد به عنوان یک محصول نهایی با زمان نسبتاً کوتاه به بازار و هزینه های پیاده سازی اندک، به عنوان رقبای مستقیم برای برخی از ASIC ها پیاده سازی شده است. که قبلا در پردازنده های سیگنال دیجیتال اختصاصی امکان پذیر بود. با کاهش هزینه FPGA ها، آنها رقبای جدی برنامه های کاربردی کنترل جاسازی شده هستند. یک FPGA می تواند برای پیاده سازی یک پردازنده هسته نرم هر میکروکنترلر همراه با قابلیت های سفارشی IO استفاده شود. پست های مرتبط:مقدمه ای بر فناوری ASIC | انواع مختلف… اتوماسیون صنعتی چیست؟

ترک یک پیام 

نام *
پست الکترونیک (ایمیل) *
تلفن
نشانی:
رمز کد امنیتی را ببینید؟ کلیک کنید تازه کردن!
پیام
 

فهرست پیام

نظرات در حال بارگذاری ...
صفحه اصلی| درباره‌ ما| محصولات| رسانه| دانلود| پشتیبــانی| بازخورد| تماس با ما| محصولات

تماس: زوئی ژانگ وب: www.fmuser.net

Whatsapp / Wechat: ۴۴۲۰۳۰۹۵۷۲۹۲+

اسکایپ: tomleequan ایمیل: [ایمیل محافظت شده] 

فیس بوک: FMUSERBROADCAST یوتیوب: FMUSER ZOEY

آدرس به زبان انگلیسی: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., GuangZhou, China, 510620 آدرس به زبان چینی: 广州市天河区黄埔大道西273号