IMPLEMENTATION of SOFT-CORE PROCESSORS in Fpgas

IMPLEMENTATION of SOFT-CORE PROCESSORS in Fpgas

‘ 07 INTERNATIONAL SCIENTIFIC CONFERENCE 23 – 24 November 2007, GABROVO IMPLEMENTATION OF SOFT-CORE PROCESSORS IN FPGAs Petar Borisov Minev Valentina Stoianova Kukenska Technical University of Gabrovo Technical University of Gabrovo Abstract Field programmable gate arrays (FPGAs) provide designers with the ability to quickly create hardware circuits. Increases in FPGA configurable logic capacity and decreasing FPGA costs have enabled designers to more readily incorporate FPGAs in their designs. FPGA vendors have begun providing configurable soft processor cores that can be synthesized onto their FPGA products. While FPGAs with soft processor cores provide designers with increased flexibility, such processors typically have degraded performance and energy consumption compared to hard-core processors. In this paper, we study the implementation of soft-core processors in FPGAs, and some of the decisions and design tradeoffs which must be made during the design process. Keywords: soft-cores, soft-processors, FPGA, embedded systems. 1. INTRODUCTION performance overhead of such soft-core Microprocessors on field-programmable processors on FPGAs compared to general soft- gate array (FPGA) chips are becoming an core processors on ASICs (application-specific increasingly popular software implementation integrated circuits) can thus be significantly less platform, due to their coexistence on-chip with than the overheads when comparing FPGA versus custom logic. Such coexistence can reduce parts ASIC implementations of general circuits [1]. costs and board sizes, and can improve system A feature of FPGA soft-core processors is that performance due to reduced communication of core configuration by the user (the application times between processor and FPGA. A hard-core developer) through the setting of parameters. processor is laid out on the chip next to the Configurable parameters may include FPGA’s configurable logic fabric. In contrast, a instantiating a cache (and specifying its size), or soft-core processor is synthesized onto the instantiating a predefined datapath unit (like a FPGA’s fabric, just like any other circuit. multiplier or floating-point unit) and an Compared to hard-core microprocessors on some accompanying instruction that uses the FPGA devices, soft-core processors have the instantiated unit. Parameterized soft cores advantages of utilizing standard mass-produced represent a different problem from that of and hence lower-cost FPGA parts and of enabling developing custom datapath units and a custom number of microprocessors per FPGA accompanying custom instructions, as done in (subject to size constraints) – over 100 soft-core application-specific instruction-set processors processors can fit on modern high-end FPGAs. (ASIPs) like the ASIC-oriented ASIPs or FPGA- However, soft-core processors have the oriented ASIPs, due to the “on/off” (or limited disadvantages of reduced processor performance, number of) values of the parameters [1]. higher power consumption, and larger size [1]. While any microprocessor soft-core could 2. EXAMPLES OF SOFT PROCESSOR conceivably be mapped to an FPGA, FPGA CORES vendors have in the past years introduced soft- Today, we are witnesses of the emerging of core processors specifically targeted for FPGA many commercially soft-core processors, as well implementation. Such FPGA soft-cores have as supporting and development tools; some of instruction sets, arithmetic-logic units, register principal products available are: Altera files, and other features specifically tailored to Nios/NiosII, LatticeMico32, and Xilinx efficiently use FPGA resources, or perhaps more MicroBlaze. They offer memory and logic accurately, to avoid inefficient use of FPGA elements with several Intellectual Property (IP) resources that may occur when synthesizing a peripherals for the rapid development of System- general soft-core processor to an FPGA. The on-Programmable-Chip (SoPC) [2]. 2.1 MicroBlaze Soft Processor Core enabling to construct and designs in hours instead A popular soft processor core example is of weeks [2]. Xilinx’s MicroBlaze that can be customized with 2.3 Mico32 Soft Processor Core different peripheral and memory configurations. Both Xilinx and Altera created their own This soft processor core is a 32-bit Reduced proprietary soft core processors, making the Instruction Set Computer (RISC). This processor decision to accept a tougher adoption curve in has a three-stage pipeline with variable length exchange for saddling customers with an IP block instruction latencies, typically ranging from one that tended to lock their design into that particular to three cycles. The tool used to accomplish the FPGA vendor’s devices. design is denominated Xilinx Platform Studio and Like Xilinx’s MicroBlaze and Altera’s Nios, with this friendly environment we are able to Lattice’s Mico32 is a soft-core RISC processor create a MicroBlaze based system instantiating that can be easily dropped into an FPGA. Unlike and configuring cores from the provided libraries. the others, however, Mico32 is completely open MicroBlaze was constructed around Harvard [3]. Rather than take the lock-’em-in approach of memory architecture. The 2 Local Memory their competitors, Lattice has gone the open Busses (LMB) are used to connect the instruction source route, cleverly betting that enabling and data memories. The sizes of this memory as processor-based designs on their devices was well as the number of peripheral used in a much more important than locking customers into particular design are defined by the user. their architecture with an IP core. Additionally the On-Chip-Peripheral Bus is used LatticeMico32 uses fewer than 2,000 look-up to alleviate systems performance bottlenecks and tables (LUTs) on an FPGA, which makes it a is designed to support low-performance/speed very inexpensive engine for your embedded peripherals such as UART, GPIO, USB, external design. Because the processor is soft, you can bus controllers. A MicroBlaze system is configure it with just the options you want for presented in Fig. 6 as a good example of this your application. Optional features include things technology. like data and instruction caches, user-defined The MicroBlaze can operate at up to 200 MHz instructions, and multipliers. This kind of within a Virtex-4 (4VLX40-12) component. The application-specific customizability as well as the range of resources required to implement a flexibility to add any number of processors to MicroBlaze soft processor is between 900 and your design with only a small area penalty is the 2,600 Xilinx Look-Up Tables (LUTs), depending kind of flexibility that has made FPGA-based soft on how the processor is configured [2]. cores so popular among designers. Mico32 2.2 NIOS II Soft Processor Core weighs in with 32 general-purpose registers, up to An another popular soft core processor 32 external interrupts, and a dual Wishbone example is Altera's NIOS II that has a load-store memory interface. Lattice estimates that the RISC architecture, in which many architectural processors can run at over 100MHz on their low- parameters can be customized at design time. The cost 90nm ECP2 FPGAs. user can decide between 16 or 32 bits of width in In keeping with the open-source approach, datapath, register file sizes; as well as cache size Lattice chose the public domain Wishbone bus and custom instructions for the performing of interface for Mico32 and has already announced a user-defined operation in the speeding-up variety of available peripherals, including customized hardware. Those functionalities are memory controllers, asynchronous SRAM, on- supported by the builder development tools, and chip block memory, I/O ports, a 32-bit timer, a using the Nios II Integrated Development DMA controller, general-purpose I/O (GPIO), an Environment (IDE) is possible to build, run, and I2C master controller, a serial peripheral interface debug software of several platforms. Altera also (SPI), and a UART. These plug-on peripherals introduces a SOPC builder [38], for the rapidly dramatically speed up system design, eliminating creation and easily evaluation of embedded the need to custom-code many of the common systems. The integration off-the-shelf intellectual hardware functions if you’re building a Mico32- property (IP) as well as reusable custom based embedded system [3]. components is realized in a friendly way, diminishing the required time to set up a SoC and 3. DESIGN CONSIDERATIONS development environment tool maturity; compatibility between major software releases; 3.1 Performance and Power available training and quality of tool tutorials; Two potentially critical system factors include debug and verification capabilities [4]. the desired functionality and operational The tool suite (Figure 1) includes a collection performance as well as the power required to of traditional software and FPGA design and implement the desired system functionality. development tools. The interaction between these There will typically be a delta between the power two tool groups is commonly referred to as co- consumption and level of performance for fixed design or platform development tool. The function processor implementations and software and soft processor core development potentially more flexible FPGA-based soft tools are responsible for the parameterization of processor cores. the soft core and associated peripherals and the In order to compare the relative performance implementation of processor buses, memory of soft processor cores a

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us