دانلود رایگان مقاله مروری بر معماری ها و فناوری های پیشرفته FPGA
ترجمه رایگان

دانلود رایگان مقاله مروری بر معماری ها و فناوری های پیشرفته FPGA

عنوان فارسی مقاله: مروری بر معماری ها و فناوری های پیشرفته FPGA
عنوان انگلیسی مقاله: Review of advanced FPGA architectures and technologies
کیفیت ترجمه فارسی: مبتدی (مناسب برای درک مفهوم کلی مطلب)
مجله/کنفرانس: مجله الکترونیک (چین) - Journal of Electronics (China)
رشته های تحصیلی مرتبط: مهندسی کامپیوتر - مهندسی برق
گرایش های تحصیلی مرتبط: برنامه نویسی کامپیوتر - مهندسی الکترونیک - مدارهای مجتمع الکترونیک - معماری سیستم های کامپیوتری - مهندسی نرم افزار - مهندسی سخت افزار - سیستم های الکترونیک دیجیتال
کلمات کلیدی فارسی: آرایه گیت قابل برنامه نویسی میدانی (FPGA) - معماری ریزتراشه - وسیله منطقی قابل برنامه نویسی - سیستم بر روی تراشه (SOC)
کلمات کلیدی انگلیسی: Field Programmable Gate Array (FPGA) - Microchip architecture - Programmable logic device - System-on-Chip (SoC)
نوع نگارش مقاله: مقاله مروری (Review Article)
شناسه دیجیتال (DOI): https://doi.org/10.1007/s11767-014-4090-x
دانشگاه: موسسه الکترونیک، آکادمی علوم چین، پکن، چین
صفحات مقاله انگلیسی: 23
صفحات مقاله فارسی: 44
ناشر: اسپرینگر - Springer
نوع ارائه مقاله: ژورنال
سال انتشار مقاله: 2014
مبلغ ترجمه مقاله: رایگان
ترجمه شده از: انگلیسی به فارسی
کد محصول: F1848
نمونه ترجمه فارسی مقاله

چکیده

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

1. مقدمه

     آرایه های گیت قابل برنامه نویسی میدانی (FPGA ها)، ادوات سیلیکونی پیش ساخته هستند که می توانند به لحاظ الکتریکی برای اجرای تقریبا هر نوع مدار و یا سیستم دیجیتال برنامه نویسی شوند. همانطور که در شکل 1 نشان داده شده است، ساختار اساسی FPGA شامل یک دریا بلوک های منطقی (LBS)، یک شبکه اتصال داخلی، و بلوک های I / O قابل پیکربندی می شود. به علت یکپارچگی در سطح بسیار بالا، ادوات FPGA اخیر نیز شامل بلوک های حافظه، بلوک های DSP سیم بندی شده، بلوک های مدیریت ساعت، و بلوک های فرستنده-گیرنده داده ها با سرعت بالا می شوند که تماماً به صورت یکپارچه سازی [1-3] تعبیه شده اند.بلوک های منطقی منابع اصلی پردازش دیجیتال هستند و بسته به عملکرد مورد نیاز برای پیاده سازی، هر یک از آنها برای انجام ترکیبی و عملیات پی در پی پیکربندی می شوند.

     برای عملیات های ترکیبی، مجموعه ای از جداول مراجعه (LUTS) به عنوان تولیدکننده های تابع منطقی مستقل به کار گرفته می شوند و برای عملیات های پی در پی، مجموعه ای از D-فلیپ فلاپ ها گنجانده می شوند. علاوه بر این، برخی از اشکال تکامل یافته LB برای حمایت از توابع اضافی، مانند ذخیره سازی محلی (حافظه RAM توزیع)، شیفت رجیستر (SR)، عملیات مالتی پلکسر ، و عملیات های جمع کننده / کم کننده بهینه سازی می شوند. شبکه اتصال توسط کاربر به منظور پیوند بسیاری از LBها در صورت لزوم قابل برنامه نویسی می باشد [4-7].

      به منظور بهینه سازی عملکرد FPGA، بلوک های DSP متصل شده گنجانده می شوند، که عملیات های ریاضی پیچیده را میسر می سازند. حافظه های داخلی، مانند RAM، ROM، فلش RAM، و شیفت رجیسترها به صورت اختیاری برای افزایش سرعت پردازش و طراحی ساده سطح برد سیستم مجتمع می شوند. بلوک های مدیریت ساعت مجتمع شده برای ارائه هممسیر سازی سیستم قابل ترکیب استفاده می شوند. آنها معمولا بر اساس حلقه های-قفل- فاز (PLLs) هستند که از ویژگی های از قبیل ضرب و تقسیم فرکانسی، جبران تاخیر انتشار و اصلاح تغییر فاز پشتیبانی می نمایند. ادوات FPGA فعلی نیز شامل بلوک های فرستنده و گیرنده داده سرعت بالا می شوند که به طور کلی از بافر های ارسال و دریافت تشکیل شده اند. پروتکل های ارتباطی مختلف شده داده ها، از جمله USB، اترنت، CAN، PCI، SPI، I2C، و غیره پشتیبانی می شوند. علاوه بر این، معماری های FPGA پیچیده شامل ریزپردازنده تعبیه شده و لوازم جانبی برای ویژگی های پشتیبانی SOC اضافی [8-10] می شوند.

      به منظور ارائه تراکم مجتمع سازی بالا، سرعت بالا و مصرف کم انرژی، FPGA ها تحت پیشرفت قابل توجهی از نظر تکنولوژی فرآیند نیمه هادی پیشرفته قرار گرفته اند. ادوات اخیر FPGA تجاری، مانند Arria 10 و Xilinx 'Virtex UltraScale به پردازی در حد 20 نانومتر [12،13] رسیده اند. علاوه بر این، هدف Xilinx ارائه Virtex UltraScale تمام ادوات قابل برنامه نویسی ساخته شده بر روی تکنولوژی فرآیند 16 نانومتری FINFET TSMC است و شرکت Altera و اینتل به طور مشترک اعلام کرده اند که نسل بعدی محصولاتی با بالاترین FPGA Altera با عملکرد بالا (Stratix 10) با استفاده از فن آوری ترانزیستوری Tri-Gate اینتل سه بعدی 14 نانومتری اینتل تولید خواهد شد [14،15]. توسعه FPGA تا حد زیادی توسط پیاده سازی فرآیندهای پیشرفته افزایش یافته است. بنابراین سطوح بی سابقه ای از عملکرد، یکپارچه سازی سازی سیستم و پهنای باند را می توان در نسل های بعدی FPGA انتظار داشت.

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

2. فن آوری های برنامه نویسی

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

1. برنامه نویسی مبتنی بر SRAM

      اساس و مبنای تکنولوژی برنامه نویسی SRAM، سلول حافظه استاتیک، در شکل 2 نشان داده شده است. دسترسی به سلول توسط خط کلمه فعال می شود که دو ترانزیستور دسترسی M5 و M6 را برای هر دو عملیات خواندن و نوشتن کنترل می کند. اگر خط کلمه اظهار نشود، ترانزیستورهای دسترسی M5 و M6 ارتباط سلول را از خطوط بیت قطع می نمایند و دو اینورتر تزویج شده-متقابل تشکیل شده توسط M1 ~ M4 به تقویت یکدیگر ادامه خواهند داد تا زمانی که آنها به منبع متصل شوند [متصل 3].

      FPGA های مبتنی بر SRAM از SRAM به طور معمول از طریق استفاده از LUTs و مالتی پلکسرها، برای ارائه قابلیت پیکربندی برای توابع مسیریابی و محاسباتی استفاده می شوند. دو مزیت اصلی مرتبط، یعنی قابلیت برنامه نویسی دوباره توسط طراحی و سازگاری با تکنولوژی فرآیند استاندارد CMOS وجود دارد. در نتیجه، FPGA های مبتنی بر SRAM می توانند با آخرین فن آوری CMOS در دسترس پیاده سازی شوند و بنابراین، از افزایش سطح یکپارچگی، سرعت بالاتر و مصرف توان دینامیک کمتر با هندسه حداقل کوچکتر بهره مند هستند [16].

نمونه متن انگلیسی مقاله

Abstract

      Field Programmable Gate Array (FPGA) is an efficient reconfigurable integrated circuit platform and has become a core signal processing microchip device of digital systems over the last decade. With the rapid development of semiconductor technology, the performance and system integration of FPGA devices have been significantly progressed, and at the same time new challenges arise. The design of FPGA architecture is required to evolve to meet these challenges, while also taking advantage of ever increased microchip density. This survey reviews the recent development of advanced FPGA architectures, including improvement of the programming technologies, logic blocks, interconnects, and embedded resources. Moreover, some important emerging design issues of FPGA architectures, such as novel memory based FPGAs and 3D FPGAs, are also presented to provide an outlook for future FPGA development.

I. Introduction

     Field Programmable Gate Arrays (FPGAs) are pre-fabricated silicon devices that can be electrically programmed to implement almost any kind of digital circuit or system. As illustrated in Fig. 1, the basic structure of an FPGA consists of a sea of Logic Blocks (LBs), an interconnection network, and configurable I/O blocks. Because of very high level integration, the recent FPGA devices also include memory blocks, hardwired DSP blocks, clock management blocks, and high speed data transceiver blocks, all embedded monolithically[1−3]. Logic blocks are the main digital processing resources, and each of them is configured to perform combinational as well as sequential operations depending on the required function to implement.

      For the combinatorial operations, a set of LookUp Tables (LUTs) are employed as arbitrary logicfunction generators, and for the sequential operations a set of D-Flip-Flops are involved. Moreover, some evolved forms of LB are optimized to be able to support additional functions, such as local storage (distributed RAM memory), Shift Register (SR), multiplexer, and adder/subtractor operations. The interconnection network is programmable by the user so as to link as many LBs as necessary[4−7].

      In order to optimize FPGA performance, hardwired DSP blocks are included, which allow complex arithmetic operations to be performed. Internal memories, such as RAM, ROM, flash RAM, and shift registers, are optionally integrated to increase the processing speed and simplify the board level design of the system. The integrated clock management blocks are used to provide system synchronization synthesizable. They are usually based on Phase-Locked-Loops (PLLs), which support features such as frequency multiplication and division, propagation delay compensation and phase shift correction. The current FPGA devices also include high speed data transceiver blocks that generally consist of transmission and reception buffers. Various data communication protocols are supported, including USB, Ethernet, CAN, PCI, SPI, I2C, etc. Furthermore, a few complex FPGA architectures include embedded microprocessors and peripherals for additional SoC support features[8−10].

      To provide high integration density, high-speed and low-power consumption, FPGAs have been the subject of a considerable progress in terms of advanced semiconductor process technology. Recent commercial FPGA devices, such as Altera’s Arria 10 and Xilinx’ Virtex UltraScale, have reached down to 20 nm process[12,13]. Moreover, Xilinx is aiming to offer Virtex UltraScale all programmable devices built on TSMC’s 16 nm FinFET process technology, and Altera and Intel Corporation have jointly announced that the next generation of Altera’s highest performance FPGA products (Stratix 10) would be produced using Intel’s 14 nm 3D Tri-Gate transistor technology[14,15]. The development of FPGA has been greatly heightened by implementation of the advanced process. Thus unprecedented levels of performance, system integration and bandwidth can be expected in the next generations of FPGA to come.

      The goal of this survey is to present the state-ofthe-art FPGA architecture and to foresee future trends in FPGA design progress. The rest of this paper is organized as follows. Section II introduces the main approaches to programming technologies of FPGA. Section III addresses the design issues with regard to logic block architecture, while programmable routing architecture is described in Section IV. Section V discusses arrangement of the hardware resources embedded in FPGAs and explains about a convergence towards System-onChip (SoC) FPGAs. Section VI tries to explore the future technology trends of FPGAs, and a conclusion of the paper is given in Section VII.

II. Programming Technologies

      An FPGA is programmed using electrically programmable switches. The properties of these programmable switches, such as size, on-resistance, and capacitance, have a significant impact on programmable logic architecture. The approaches widely used in modern FPGAs include Static Random Access Memory (SRAM), flash memory, and anti-fuse. Of these approaches, SRAM-based FPGAs are most commonly used and get a dominant position in the market, mainly due to its scalability with CMOS process technology. In this section, all these approaches of programming technologies will be reviewed, and their advantages and disadvantages are compared to provide a complete understanding of the programming technologies.

1. SRAM based programming

      The basis for SRAM programming technology is the static memory cell, which is shown in Fig. 2. Access to the cell is enabled by the word line which controls the two access transistors M5 and M6 for both READ and WRITE operations. If the word line is not asserted, the access transistors M5 and M6 disconnect the cell from the bit lines, and the two cross-coupled inverters formed by M1~M4 will continue to reinforce each other as long as they are connected to the supply[3].

      SRAM-based FPGAs utilize SRAM to provide configurability for routing and computational functions, typically through the use of LUTs and multiplexers. There are two primary advantages associated, namely re-programmability by design and compatibility to standard CMOS process technology. As a result, SRAM-based FPGAs can catch up with the latest CMOS technology available and, therefore, benefit from the increased integration level, the higher speeds and the lower dynamic power consumption with smaller minimum geometries offered[16].

فهرست مطالب (ترجمه)

چکیده

1. مقدمه

2. فن آوری های برنامه نویسی

1. برنامه نویسی مبتنی بر SRAM

2. برنامه نویسی مبتنی بر حافظه فلش / E2PROM

3. برنامه نویسی زمانی بر اساس ضد فیوز 

4. خلاصه

3. معماری بلوک منطقی

1. اصول طراحی

(2) MUX

(3) AIC

2. نمونه های محصول تجاری

(1) Altera

(2) Xinlix

4. معماری مسیریابی 

1. مسیریابی کلی

2. مسیریابی مفصل

(1) جعبه سوئیچ

(2) تقسیم بندی کانال

(3) دو جهته یا یک سویه

3. اتصال آسنکرون 

5. منابع جاسازی شده 

6. روندهای آینده از FPGA

1. فن آوری های حافظه جدید

(1) PCRAM

(2) STTRAM

(3) RRAM

(4) خلاصه

2. 3D FPGA

7. بحث کوتاهی در مورد توسعه حال حاضر تحقیقات FPGA در چین

8. نتیجه گیری

فهرست مطالب (انگلیسی)

Abstract

I. Introduction

II. Programming Technologies

1. SRAM based programming

2. Flash/E2 PROM memory based programming 

3. Anti-fuse based one time programming 

4. Summary

III. Logic Block Architecture

1. Design fundamentals

2. Commercial product examples

IV. Routing Architecture 

1. Overall routing 

2. Detailed routing 

3. Asynchronous interconnect 

4. 2.5 dimensional interconnect 

V. Embedded Resources 

VI. Future Trends of FPGA 

1. Novel memory technologies 

2. 3D FPGA 

VII. Brief discussions on Current Development of FPGA Research in China 

VIII. Conclusion

References