Xilinx FPGA үшін MicroBlaze – жұмсақ процессорлық ядро. RISC архитектурасы негізінде жұмыс істейді, жылдам өнімділік пен икемділікті ұсынады. FPGA дизайны үшін өте қолайлы!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
MicroBlaze – Xilinx қайта бағдарламаланатын қақпалық массивтері (FPGA) үшін әзірленген жұмсақ микропроцессорлық ядро. Жұмсақ ядролы процессор ретінде MicroBlaze Xilinx FPGA-ның жалпы мақсаттағы жады және логикалық тізбегінде толығымен іске асырылады. MicroBlaze 2002 жылы енгізілді.
The MicroBlaze is a soft microprocessor core designed for Xilinx field programmable gate arrays (FPGA). As a soft core processor, MicroBlaze is implemented entirely in the general purpose memory and logic fabric of Xilinx FPGAs. MicroBlaze was introduced in 2002.
Шолу
MicroBlaze-дің нұсқаулар жиынтығы архитектурасы тұрғысынан, ол танымал компьютерлік архитектура кітабында Паттерсон мен Хеннесси сипаттаған RISC негізіндегі DLX архитектурасына ұқсас. Шамалы ерекшеліктер болғанда, MicroBlaze әр циклде жаңа нұсқауды орындай алады, көп жағдайда бір циклдік өнімділікті сақтайды. MicroBlaze әртүрлі кіріктірілген қосымшаларды қолдау үшін әмбебап өзара байланыс жүйесіне ие. MicroBlaze-дің негізгі I/O шинасы – AXI өзара байланысы, ол жүйелік жадқа негізделген транзакциялық шина және master-slave мүмкіндіктерін ұсынады. MicroBlaze-дің бұрынғы нұсқалары CoreConnect PLB шинасын қолданды. Көптеген өндірушілер мен үшінші тараптар IP интерфейсін тікелей AXI-ге (немесе AXI өзара байланысы арқылы) қосады. Жергілікті жадқа (FPGA RAM) қол жеткізу үшін MicroBlaze арнайы LMB шинасын пайдаланады, ол микросхемада жылдам сақтауды қамтамасыз етеді. Пайдаланушы анықтаған копроцессорлар арнайы AXI4 Stream қосылымдары арқылы қолдауға ие. Копроцессор интерфейсі есептеуді күрделі алгоритмдерді жеделдету үшін пайдаланушы жобалаған аппараттық модульге есептеудің бір бөлігін немесе толығымен жүктеу арқылы жеделдете алады. MicroBlaze-дің көптеген аспектілерін пайдаланушы өзгерте алады: кэш өлшемін, құбырдың тереңдігін (3 сатылы, 5 сатылы немесе 8 сатылы), кіріктірілген перифериялық құрылғыларды, жад басқару блогын және шина интерфейстерін конфигурациялауға болады. Аймақты оңтайландырылған MicroBlaze нұсқасы, 3 сатылы құбырды пайдаланады, логикалық аймақты азайту үшін тактық жиіліктен бас тартады. Өнімділікті оңтайландырылған нұсқа орындау құбырын 5 сатыға дейін кеңейтеді, бұл Virtex UltraScale+ FPGA отбасында 700 МГц-тен жоғары жылдамдыққа жетеді. Сондай-ақ, аппараттық құралдарда жүзеге асыруы қиын, бірақ сирек қолданылатын процессордың маңызды нұсқауларын таңдаулы түрде қосуға/алып тастауға болады (мысалы, көбейту, бөлу және қозғалмалы нүктелік операциялар). Бұл бейімдеу әзірлеушіге хост аппараттық және қосымша бағдарламалық қамтамасыз етудің нақты талаптарына сәйкес дизайнды таңдауға мүмкіндік береді. Жад басқару блогымен MicroBlaze аппараттық негіздегі беттеу және қорғауды қажет ететін операциялық жүйелерді, мысалы Linux ядросын іске қоса алады. Әйтпесе, ол FreeRTOS сияқты қарапайым қорғау және виртуалды жад моделі бар операциялық жүйелермен немесе MMU қолдауы жоқ Linux-пен шектеледі. MicroBlaze-дің жалпы өнімділігі Zynq-дегі ARM Cortex A9 сияқты салыстырмалы түрде қатты CPU ядросынан әлдеқайда төмен. MicroBlaze V RISC V архитектурасына негізделген.
In terms of its instruction set architecture, MicroBlaze is similar to the RISC based DLX architecture described in a popular computer architecture book by Patterson and Hennessy. With few exceptions, the MicroBlaze can issue a new instruction every cycle, maintaining single cycle throughput under most circumstances. The MicroBlaze has a versatile interconnect system to support a variety of embedded applications. MicroBlaze's primary I/O bus, the AXI interconnect, is a system memory mapped transaction bus with master–slave capability. Older versions of the MicroBlaze used the CoreConnect PLB bus. The majority of vendor supplied and third party IP interface to AXI directly (or through an AXI interconnect). For access to local memory (FPGA RAM), MicroBlaze uses a dedicated LMB bus, which provides fast on chip storage. User defined coprocessors are supported through dedicated AXI4 Stream connections. The coprocessor(s) interface can accelerate computationally intensive algorithms by offloading parts or the entirety of the computation to a user designed hardware module. Many aspects of the MicroBlaze can be user configured: cache size, pipeline depth (3 stage, 5 stage, or 8 stage), embedded peripherals, memory management unit, and bus interfaces can be customized. The area optimized version of MicroBlaze, which uses a 3 stage pipeline, sacrifices clock frequency for reduced logic area. The performance optimized version expands the execution pipeline to 5 stages, allowing top speeds of more than 700 MHz (on Virtex UltraScale+ FPGA family). Also, key processor instructions which are rarely used but more expensive to implement in hardware can be selectively added/removed (e. g. multiply, divide, and floating point operations). This customization enables a developer to make the appropriate design trade offs for a specific set of host hardware and application software requirements. With the memory management unit, MicroBlaze is capable of hosting operating systems requiring hardware based paging and protection, such as the Linux kernel. Otherwise it is limited to operating systems with a simplified protection and virtual memory model, e. g. FreeRTOS or Linux without MMU support. MicroBlaze's overall throughput is substantially less than a comparable hard CPU core (such as the ARM Cortex A9 in the Zynq). MicroBlaze V is based on the RISC V architecture.
Вивадо
Xilinx Vivado Design Suite – Xilinx FPGA-да қазіргі MicroBlaze (немесе ARM, Zynq-қа қараңыз) кіріктірілген процессор жүйелерін құруға арналған даму ортасы. Алдыңғы нұсқаларда Xilinx-тің EDK (Embedded Development Kit) бағдарламалық кешені қолданылған. Дизайнерлер кіріктірілген жүйелерінің аппараттық сипаттамаларын (процессор ядросы, жад контроллері, I/O перифериялық құрылғылары және т.б.) конфигурациялау және құру үшін Vivado IP Integrator-ды пайдаланады. IP Integrator дизайнердің блок-сызбасын синтезделетін RTL сипаттамасына (Verilog немесе VHDL) түрлендіреді және кіріктірілген жүйенің іске асырылуын автоматтандырады (RTL-ден бит ағыны файлына дейін). MicroBlaze ядросы үшін Vivado шифрланған (адам оқымайтын) нетлистті жасайды. SDK кіріктірілген жүйеде орындалатын бағдарламалық жасақтаманы басқарады. GNU құралдар жиынтығымен (GNU Compiler Collection, GNU Debugger) жұмыс істейтін SDK бағдарламашыларға кіріктірілген жүйелері үшін C/C++ қолданбаларын жазуға, компиляциялауға және түзетуге мүмкіндік береді. Xilinx құралдары бағдарламалық жасақтаманы симуляцияда іске қосуға немесе нақты жүйеде жүктеу және орындау үшін қолайлы FPGA тақтасын пайдалану мүмкіндігін ұсынады. Vivado сатып алушыларына Xilinx FPGA-да MicroBlaze-ді қайта төленетін роялтисіз пайдалануға мәңгілік лицензия беріледі. Лицензия Xilinx құрылғыларынан тыс жерде MicroBlaze-ді пайдалану құқығын бермейді. Altium компаниясынан баламалы компиляторлар мен даму құралдары қолжетімді, бірақ EDK орнату және лицензиясы әлі де қажет.
Xilinx's Vivado Design Suite is the development environment for building current MicroBlaze (or ARM see Zynq) embedded processor systems in Xilinx FPGAs. Older versions used Xilinx's EDK (Embedded Development Kit) development package. Designers use the Vivado IP Integrator to configure and build the hardware specification of their embedded system (processor core, memory controller, I/O peripherals, etc.) The IP Integrator converts the designer's block design into a synthesizeable RTL description (Verilog or VHDL), and automates the implementation of the embedded system (from RTL to the bitstream file.) For the MicroBlaze core, Vivado generates an encrypted (non human readable) netlist. The SDK handles the software that will execute on the embedded system. Powered by the GNU toolchain (GNU Compiler Collection, GNU Debugger), the SDK enables programmers to write, compile, and debug C/C++ applications for their embedded system. Xilinx's tools provides the possibility of running software in simulation, or using a suitable FPGA board to download and execute on the actual system. Purchasers of Vivado are granted a perpetual license to use MicroBlaze in Xilinx FPGAs with no recurring royalties. The license does not grant the right to use MicroBlaze outside of Xilinx's devices. Alternative compilers and development tools have been made available from Altium but an EDK installation and license is still required.
Ашық көз
2009 жылдың маусым айында MicroBlaze Linux ядросының негізгі тармағына енгізілген алғашқы бағдарламаланатын CPU архитектурасы болды. Бұл жұмысты Михал Симек жасады, ал оған PetaLogix және Xilinx қолдау көрсетті. 2009 жылдың қыркүйегінен бастап MicroBlaze GNU құралдарына қолдау Free Software Foundation негізгі репозиторийлеріне де үлестестірілуде. MicroBlaze қолдауы GCC нұсқаларының 4.6 нөмірінен бастап енгізілді. LLVM-ге қолдау 2010 жылдың сәуірінде қосылды, бірақ кейіннен 2013 жылдың шілдесінде күтуші маманның болмауына байланысты алынып тасталды.
In June 2009, MicroBlaze became the first soft CPU architecture to be merged into the mainline Linux kernel source tree. This work was performed by Michal Simek and supported by PetaLogix and Xilinx. As of September 2009, MicroBlaze GNU tools support is also being contributed to the Free Software Foundation's mainline repositories. Support for MicroBlaze is included in GCC releases starting with version 4.6
Support was added to LLVM in April 2010, but subsequently removed in July 2013 due to a lack of maintainer.