High-Level Languages and Floating-Point Arithmetic for FPGA- Based CFD Simulations

Total Page:16

File Type:pdf, Size:1020Kb

High-Level Languages and Floating-Point Arithmetic for FPGA- Based CFD Simulations [3B2-9] mdt2011040028.3d 29/6/011 11:13 Page 28 FPGA-Based Acceleration of Scientific Computing High-Level Languages and Floating-Point Arithmetic for FPGA- Based CFD Simulations Diego Sanchez-Roman, Gustavo Sutter, Francisco Palacios Sergio Lopez-Buedo, Ivan Gonzalez, Stanford University Francisco J. Gomez-Arribas, and Javier Aracil Universidad Autonoma de Madrid numerically. The drawback with CFD Editor’s note: simulation in aeronautical design is Computational fluid dynamics is a classical problem in high-performance that, in many situations, flows develop computing. In order to make use of an existing code base in this field, the use of high-level design tools is an imperative. The authors explore the two physical phenomena: shock waves use of the Impulse C design tools for a Navier-Stokes implementation. and turbulence. Such cases require ÀÀGeorge A. Constantinides (Imperial College London) using a fine discretization of the space and Nicola Nicolici (McMaster University) to obtain accurate results, so the time required to compute the solutions becomes prohibitive, even in the best COMPUTATIONAL FLUID DYNAMICS (CFD) plays a high-performance computing (HPC) clusters. Be- key role in the design and optimization of many in- cause of this, researchers have expended consider- dustrial applications. In the case of aeronautics, air- able effort to try to accelerate the execution of craft design has been traditionally based on costly these algorithms. Developed algorithms include com- and time-consuming wind tunnel tests. Computer- puting parallelization,1 GPU computing,2-4 and FPGA based flow simulations would enable much faster solutions.5,6 and less expensive tests, significantly reducing design FPGA-based high-performance reconfigurable costs and allowing for the exploration of new airfoil computing (HPRC) is a promising technology for ap- geometries. More importantly, CFD would also enable plication acceleration because it creates a synergy shape optimization, thus facilitating the development between system-level parallelism and lower-level of safer, less polluting and less fuel-consuming air- hardware parallelism. Unfortunately, reconfigurable crafts. Unfortunately, the huge computational costs solutions typically require skilled engineers to write of CFD prevent it from being a valid tool for the entire hardware description language (HDL) code, and design process. CFD is currently used only at some development time and testing usually far exceed design steps, and wind tunnel tests are still essential. that in software solutions. Fortunately, this drawback These huge costs come from the Navier-Stokes is being reduced, thanks to the advent of hardware equations that govern the air flow motion. These compilers from high-level languages (HLLs), typi- Navier-Stokes equations derive from the physical cally C or C dialects.7,8 Although HLLs reduce devel- laws of mass, momentum, and energy conservation, opment time, manual optimizations are still needed and they cannot be solved analytically except in con- to improve the implementation, and this limits the crete cases, so their solutions must be approximated reduction in design efforts and costs. Additionally, 28 0740-7475/11/$26.00 c 2011 IEEE Copublished by the IEEE CS and the IEEE CASS IEEE Design & Test of Computers [3B2-9] mdt2011040028.3d 27/6/011 12:9 Page 29 newer FPGA families provide better support for floating-point arithmetic, so it’s no longer nec- essary to go through the painful step of porting the algorithm to fixed-point arithmetic. Finally, the advent of a new generation of acceleration-oriented FPGA platforms, such as in-socket accelerators, has made HPRC far more efficient and simpler to use. In this article, we show how to employ these new methodolo- gies and tools to significantly improve the performance of complex applications such as aeronautical CFD simulations, while reducing the energy required to perform those com- putations. We have obtained a 22Â speedup and one order of magnitude in energy savings Figure 1. 2D discretization of a National Advisory Committee for Aeronautics for a 2D Navier-Stokes solver (NACA) 4412 airfoil. The space is discretized in finite volumes shown as 2D using an approach based on triangles, where the laws of physics are imposed. the XtremeData XD2000i In- Socket Accelerator,9 along with single-precision In the first preprocessing stage, the program floating-point arithmetic and Impulse Accelerated reads the mesh and computes the control volumes. Technologies’ Impulse C software (http://www. It also determines the edge connectivity, calculates impulseaccelerated.com), which generates VHDL the normal vectors (to edges), and initializes the or Verilog from standard ANSI-C code. conservative values for each node. After this pre- processing stage, the actual integration loop Navier-Stokes solver begins. Figure 2 shows the algorithm flow. The We’ve used an in-house Navier-Stokes solver writ- arrows between the boxes represent the depen- ten in C++ using single floating-point arithmetic, dency between the subroutines, and the numbering which implements a vertex-centered finite-volume reflects the order in the sequential execution of the method (FVM) applying the MUSCL (Monotone software solver. The new conservative values for Upstream-Centered Schemes for Conservation Laws) each node are updated in the time integration rou- scheme. The program’s input is an unstructured tine, as a function of the residuals computed in the mesh, in which the space is discretized in finite vol- space integration and the time step. Because of the umes. These finite volumes are triangles or rectangles numerical scheme implemented, one node uses in the 2D case, and hexahedrons, pyramids, tetrahe- data from two neighborhood layers to update its drons, or wedges in the 3D case. Figure 1 represents new conservative values. a 2D discretization of a National Advisory Committee for Aeronautics (NACA) 4412 airfoil consisting of tri- Hardware platform angles. The density, momentum, and energy are asso- The development system is a workstation with a ciated with each node (we will call them conservative dual Xeon motherboard populated with one Intel values since they follow conservation laws). These Xeon L5408 quad-core processor and one Xtreme- magnitudes are computed in successive time integra- Data XD2000i In-Socket Accelerator. The XD2000i, tions until a convergence criterion is reached. installed in the second processor socket, uses the July/August 2011 29 [3B2-9] mdt2011040028.3d 27/6/011 12:9 Page 30 FPGA-Based Acceleration of Scientific Computing However, the traditional approach Time step for FPGA design is based calculation Inviscid residuals Gradients on fixed-point arithmetic and (1) calculation calculation HDLs such as VHDL or Verilog. (upwind scheme) (2.1) (2.1.1) Using this traditional approach, algorithm acceleration in an Primite vars Primitive gradients Viscous residuals Space integration HPRC system requires a huge calculation calculation calculation (2) effort: analyze the dynamic (2.2) (2.2.1) (2.2.1.1) range of variables to transform Boundary floating- to fixed-point arithme- residuals tic; manually schedule arithme- calculation Time integration (2.3) tic operations; create finite-state (3) automata to control the ex- Implemented in hardware ecution of operations, and so Inviscid forth. Additionally, validation stress (4.1) and debug is especially diffi- Stress calculation cult, making this methodology (4) suitable only for very stable Viscous stress codes. This is a serious draw- (4.2) back for algorithms that are continually evolving because of new scientific knowledge, as Figure 2. Algorithm flow for the Navier-Stokes solver that we used. with aeronautical CFD applica- tions. Therefore, we use an alter- motherboard’s existing CPU infrastructure to native methodology based on Impulse C and create a full-featured environment for FPGA copro- floating-point arithmetic. cessing. The high-bandwidth, low-latency front- side bus (FSB) link between the coprocessor Synthesis framework creation module and the Intel processor enables tightly The first step was to create a C synthesis frame- coupled FPGA acceleration of x86 applicationsÀÀ work optimized for the accelerator platform used. previously impossible with legacy PCI-busbased We chose Impulse C because it is the only tool that solutions.9 supports our XD2000i module, since Mitrion-C has The XD2000i In-Socket Accelerator features three been discontinued.8 To the best of our knowledge, Altera Stratix III FPGAs (http://www.altera.com). there are only two other HLLs that support floating- One of these FPGAs (Stratix III SL150) serves as a point arithmetic out of the boxÀÀXilinx AutoESL bridge to the FSB, whereas the other two (Stratix III and ROCCC (Riverside Optimizing Compiler for Con- SE260 with 255,000 logic elements, 768 embedded figurable Computing)ÀÀbut neither of these HLLs pro- multipliers, and 15 Mbytes of internal memory) are vides support for acceleration modules. Another available to implement the user logic. These two advantage of Impulse C is that it lets users easily application FPGAs are connected through two unidi- change the cores being used for arithmetic operations. rectional 64-bit buses at 400 megatransfers per Actually, we found that the floating-point cores second (MT/s). In addition, the XD2000i module originally provided by Impulse C and Altera are includes two QDRIIþ SRAM banks, one for each deeply pipelined, featuring a high clock frequency user FPGA.9 The accelerator system typically works but at the cost of increased latency and area. How- at 100 MHz. ever, the XD2000i module is aimed at 100-MHz designs, so it made no sense to use such deeply Hardware development methodology pipelined cores. Therefore, we developed our own using HLLs single-floating-point library based on IEEE Std. Scientific-computing algorithms are mainly written 754-2008 (IEEE Standard for Floating Point Arithmetic) with floating-point arithmetic in C, C++, or Fortran. binary32, targeting this clock frequency at the lowest 30 IEEE Design & Test of Computers [3B2-9] mdt2011040028.3d 27/6/011 12:9 Page 31 Table 1. Latency and area of floating-point operations.
Recommended publications
  • Automatic Generation of Hardware for Custom Instructions
    Automatic Generation of Hardware for Custom Instructions by Philip Ioan Necsulescu Thesis submitted to the Faculty of Graduate and Postdoctoral Studies in partial fulfillment of the requirements for the degree of Master of Science in Systems Science Interdisciplinary studies Faculty of Graduate and Postdoctoral Studies © Philip Ioan Necsulescu, Ottawa, Canada, 2011 Table of Contents List of Figures ................................................................................................................................................ 3 Acknowledgements ....................................................................................................................................... 4 Abstract ......................................................................................................................................................... 5 Glossary ......................................................................................................................................................... 6 1 - Introduction ............................................................................................................................................. 8 2 - Background (Literature Review) ............................................................................................................ 12 2.1 – Applications of Custom Instructions .............................................................................................. 12 2.2 – Comparison of Automated HDL Generation Porjects ...................................................................
    [Show full text]
  • Embedded Processing Using Fpgas Agenda
    Embedded Processing Using FPGAs Agenda • Why FPGA Platform Based Embedded Processing • Embedded Use Models And Their FPGA Based Solutions • Architecture/Topology Choices • A Reoccurring Question: Hardware Or Software • Reconfigurable Hardware • Tool Flows For FPGA Based Embedded Systems 2 - Embedded Processing using FPGAs www.xilinx.com Agenda • Why FPGA Platform Based Embedded Processing • Embedded Use Models And Their FPGA Based Solutions • Architecture/Topology Choices • A Reoccurring Question: Hardware Or Software • Reconfigurable Hardware • Tool Flows For FPGA Based Embedded Systems 3 - Embedded Processing using FPGAs www.xilinx.com Why Use Processors In the First Place • Microcontrollers (µC) and Microprocessors (µP) Provide a Higher Level of Design Abstraction – Most µC functions can be implemented using VHDL or Verilog - downsides are parallelism & complexity – Using C/C++ abstraction & serial execution make certain functions much easier to implement in a µC • Discrete µCs are Inexpensive and Widely Used – µCs have years of momentum and software designers have vast experience using them 4 - Embedded Processing using FPGAs www.xilinx.com Why Embedded Design using FPGAs In Addition To The Universal Drive Towards Smaller Cheaper Faster With Less Power…. 1 Difficult to Find the Required Mix of Peripherals in Off the Shelf (OTS) Microcontroller Solutions •2 Selecting a Single Processor Core with Long Term Solution Viability is Difficult at Best •3 Without Direct Ownership of the Processing Solution, Obsolescence is Always a Concern
    [Show full text]
  • HDL and Programming Languages ■ 6 Languages ■ 6.1 Analogue Circuit Design ■ 6.2 Digital Circuit Design ■ 6.3 Printed Circuit Board Design ■ 7 See Also
    Hardware description language - Wikipedia, the free encyclopedia 페이지 1 / 11 Hardware description language From Wikipedia, the free encyclopedia In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic. It can describe the circuit's operation, its design and organization, and tests to verify its operation by means of simulation.[citation needed] HDLs are standard text-based expressions of the spatial and temporal structure and behaviour of electronic systems. Like concurrent programming languages, HDL syntax and semantics includes explicit notations for expressing concurrency. However, in contrast to most software programming languages, HDLs also include an explicit notion of time, which is a primary attribute of hardware. Languages whose only characteristic is to express circuit connectivity between a hierarchy of blocks are properly classified as netlist languages used on electric computer-aided design (CAD). HDLs are used to write executable specifications of some piece of hardware. A simulation program, designed to implement the underlying semantics of the language statements, coupled with simulating the progress of time, provides the hardware designer with the ability to model a piece of hardware before it is created physically. It is this executability that gives HDLs the illusion of being programming languages, when they are more-precisely classed as specification languages or modeling languages. Simulators capable of supporting discrete-event (digital) and continuous-time (analog) modeling exist, and HDLs targeted for each are available. It is certainly possible to represent hardware semantics using traditional programming languages such as C++, although to function such programs must be augmented with extensive and unwieldy class libraries.
    [Show full text]
  • Advances in Architectures and Tools for Fpgas and Their Impact on the Design of Complex Systems for Particle Physics
    Advances in Architectures and Tools for FPGAs and their Impact on the Design of Complex Systems for Particle Physics Anthony Gregersona, Amin Farmahini-Farahania, William Plishkerb, Zaipeng Xiea, Katherine Comptona, Shuvra Bhattacharyyab, Michael Schultea a University of Wisconsin - Madison b University of Maryland - College Park fagregerson, farmahinifar, [email protected] fplishker, [email protected] fcompton, [email protected] Abstract these trends has been a rapid adoption of FPGAs in HEP elec- tronics. A large proportion of the electronics in the Compact The continual improvement of semiconductor technology has Muon Solenoid Level-1 Trigger, for example, are based on FP- provided rapid advancements in device frequency and density. GAs, and many of the remaining ASICs are scheduled to be Designers of electronics systems for high-energy physics (HEP) replaced with FPGAs in proposed upgrades [1]. have benefited from these advancements, transitioning many de- signs from fixed-function ASICs to more flexible FPGA-based Improvements in FPGA technology are not likely to end platforms. Today’s FPGA devices provide a significantly higher soon. Today’s high-density FPGAs are based on a 40-nm sil- amount of resources than those available during the initial Large icon process and already contain an order of magnitude more Hadron Collider design phase. To take advantage of the ca- logic than the FPGAs available at planning stage of the Large pabilities of future FPGAs in the next generation of HEP ex- Hadron Collider’s electronics. 32 and 22 nm silicon process periments, designers must not only anticipate further improve- technologies have already been demonstrated to be feasible; ments in FPGA hardware, but must also adopt design tools and as FPGAs migrate to these improved technologies their logic methodologies that can scale along with that hardware.
    [Show full text]
  • An Automated Flow to Generate Hardware Computing Nodes from C for an FPGA-Based MPI Computing Network
    An Automated Flow to Generate Hardware Computing Nodes from C for an FPGA-Based MPI Computing Network by D.Y. Wang A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR OF APPLIED SCIENCE DIVISION OF ENGINEERING SCIENCE FACULTY OF APPLIED SCIENCE AND ENGINEERING UNIVERSITY OF TORONTO Supervisor: Paul Chow April 2008 Abstract Recently there have been initiatives from both the industry and academia to explore the use of FPGA-based application-specific hardware acceleration in high-performance computing platforms as traditional supercomputers based on clusters of generic CPUs fail to scale to meet the growing demand of computation-intensive applications due to limitations in power consumption and costs. Research has shown that a heteroge- neous system built on FPGAs exclusively that uses a combination of different types of computing nodes including embedded processors and application-specific hardware accelerators is a scalable way to use FPGAs for high-performance computing. An ex- ample of such a system is the TMD [11], which also uses a message-passing network to connect the computing nodes. However, the difficulty in designing high-speed hardware modules efficiently from software descriptions is preventing FPGA-based systems from being widely adopted by software developers. In this project, an auto- mated tool flow is proposed to fill this gap. The AUTO flow is developed to auto- matically generate a hardware computing node from a C program that can be used directly in the TMD system. As an example application, a Jacobi heat-equation solver is implemented in a TMD system where a soft processor is replaced by a hardware computing node generated using the AUTO flow.
    [Show full text]
  • Advances in Architectures and Tools for Fpgas and Their Impact on the Design of Complex Systems for Particle Physics
    Advances in Architectures and Tools for FPGAs and their Impact on the Design of Complex Systems for Particle Physics Anthony Gregersona, Amin Farmahini-Farahania, William Plishkerb, Zaipeng Xiea, Katherine Comptona, Shuvra Bhattacharyyab, Michael Schultea a University of Wisconsin - Madison b University of Maryland - College Park fagregerson, farmahinifar, [email protected] fplishker, [email protected] fcompton, [email protected] Abstract these trends has been a rapid adoption of FPGAs in HEP elec- tronics. A large proportion of the electronics in the Compact The continual improvement of semiconductor technology has Muon Solenoid Level-1 Trigger, for example, are based on FP- provided rapid advancements in device frequency and density. GAs, and many of the remaining ASICs are scheduled to be Designers of electronics systems for high-energy physics (HEP) replaced with FPGAs in proposed upgrades [1]. have benefited from these advancements, transitioning many de- signs from fixed-function ASICs to more flexible FPGA-based Improvements in FPGA technology are not likely to end platforms. Today’s FPGA devices provide a significantly higher soon. Today’s high-density FPGAs are based on a 40-nm sil- amount of resources than those available during the initial Large icon process and already contain an order of magnitude more Hadron Collider design phase. To take advantage of the ca- logic than the FPGAs available at planning stage of the Large pabilities of future FPGAs in the next generation of HEP ex- Hadron Collider’s electronics. 32 and 22 nm silicon process periments, designers must not only anticipate further improve- technologies have already been demonstrated to be feasible; ments in FPGA hardware, but must also adopt design tools and as FPGAs migrate to these improved technologies their logic methodologies that can scale along with that hardware.
    [Show full text]
  • An Integrated Development Toolset and Implementation Methodology for Partially Reconfigurable System-On-Chips
    An Integrated Development Toolset and Implementation Methodology for Partially Reconfigurable System-on-Chips Abelardo Jara-Berrocal and Ann Gordon-Ross NSF Center for High-Performance Reconfigurable Computing (CHREC) Department of Electrical and Computer Engineering, University of Florida, Gainesville, FL 32611 {berrocal, ann}@chrec.org Abstract—Partial reconfiguration (PR) enhances traditional as VHDL or Verilog, PR application development requires FPGA-based system-on-chips (SoCs) by providing additional increased development time and is more error prone as benefits such as reduced area and increased functionality as compared to non-PR application development, which typically compared to non-PR SoCs. However, since leveraging these leverages high-level languages, such as C or C-like languages. additional benefits requires specific designer expertise and increased development time, PR has not yet gained widespread In this paper, we introduce the VAPRES SoC builder usage. In this paper, we present an integrated development (VSB), a toolset that assists PR FPGA SoC architecture and toolset that automates the implementation of PR SoCs on FPGA application development for the VAPRES (Virtual devices and leverage this tool in a rapid design space exploration Architecture for Partially Reconfigurable Embedded System) case study. [8] base template architecture. The VSB provides an integrated development environment (IDE) for application development, Keywords-reconfigurable computing; partial reconfiguration; which allows designers to use C/C++
    [Show full text]
  • Are Field-Programmable Gate Arrays Ready for the Mainstream?
    [3B2-9] mmi2011060058.3d 23/11/011 16:51 Page 58 Prolegomena ...............................................................................................................................Department Editors: Kevin Rudd and Kevin Skadron ................................................................................... Are Field-Programmable Gate Arrays Ready for the Mainstream? GREG STITT University of Florida .......For more than a decade, will attempt to answer this question by configurable logic blocks (CLBs), multi- researchers have shown that field- discussing the major barriers that have pliers, digital signal processors, and on- programmable gate arrays (FPGAs) can prevented more widespread FPGA chip RAMs. Some embedded-systems- accelerate a wide variety of software, usage, in addition to surveying research specialized FPGAs, such as Xilinx’s in some cases by several orders of mag- and necessary innovations that could po- Virtex-5Q FXT (http://www.xilinx.com/ nitude compared to state-of-the-art tentially eliminate these barriers. products/silicon-devices/fpga/virtex-5q/ microprocessors.1-3 Despite this perfor- fxt.htm), even contain microprocessor mance advantage, FPGA accelerators FPGA architectures cores. In addition, for FPGAs without have not yet been accepted by main- To understand the barriers to main- these microprocessors, designers can stream application designers and instead stream usage, we must first understand use the lookup tables to implement remain a niche technology used mainly how FPGA architectures differ from
    [Show full text]
  • Performance Analysis with High-Level Languages for High-Performance Reconfigurable Computing
    Performance Analysis with High-Level Languages for High-Performance Reconfigurable Computing John Curreri, Seth Koehler, Brian Holland, and Alan D. George NSF Center for High-Performance Reconfigurable Computing (CHREC) ECE Department, University of Florida {curreri, koehler, holland, george}@chrec.org Abstract software developers typically rely heavily upon debugging and performance analysis tools. In order to High-Level Languages (HLLs) for FPGAs (Field- accommodate the typical software development process, Programmable Gate Arrays) facilitate the use of application mappers support debug of HLL source code reconfigurable computing resources for application on a traditional microprocessor rather than relying upon developers by using familiar, higher-level syntax, HDL simulators and logic analyzers. However, current semantics, and abstractions, typically enabling faster commercial application mappers provide few (if any) development times than with traditional Hardware runtime tools to debug or analyze application Description Languages (HDLs). However, this performance at the HLL source-code level while abstraction is typically accompanied by some loss of executing on one or more FPGAs. While methods and performance as well as reduced transparency of tools for debugging FPGAs have been well researched application behavior, making it difficult to understand and even developed, such as for the Sea Cucumber HLL and improve application performance. While runtime which has tool support for runtime debugging [3], tools for performance analysis are often featured in research is currently lacking in runtime performance development with traditional HLLs for serial and analysis tools for FPGAs, especially when HLLs are parallel programming, HLL-based applications for featured. FPGAs have an equal or greater need yet lack these Without performance tools to assist in analyzing tools.
    [Show full text]
  • Embedded Magazine Issue 1, March 2005
    Issue 1 March 2005 Embeddedmagazine EMBEDDED SOLUTIONS FOR PROGRAMMABLE PROCESSING DESIGNS INSIDE Accelerated System Performance with APU-Enhanced Processing The New Virtex-4 FPGA Family with Immersed PowerPC Embedded Processing with Virtex and Spartan FPGAs High-Bandwidth TCP/IP PowerPC Applications Scalable Software-Defined Radio Emulate 8051 Microprocessor in PicoBlaze IP Core Optimize MicroBlaze Processors for Consumer Electronics Products Xilinx Embedded Processing with Optos R EMBEDDED MAGAZINE ISSUE 1, MARCH 2005 CONTENTS Introducing the New Virtex-4 FPGA Family . .6 Accelerated System Performance with APU-Enhanced Processing . .10 Sign of the Times . .14 Xilinx Teams with Optos . .18 What Customers and Partners are Saying about Xilinx Embedded Processor Solutions . .22 Considerations for High-Bandwidth TCP/IP PowerPC Applications . .24 Configure and Build the Embedded Nucleus PLUS RTOS Using Xilinx EDK . .27 MicroBlaze and PowerPC Cores as Hardware Test Generators . .30 Nohau Shortens Debugging Time for MicroBlaze and Virtex-II Pro PowerPC Users . .34 A Scalable Software-Defined Radio Development System . .37 Nucleus for Xilinx FPGAs – A New Platform for Embedded System Design . .40 Emulate 8051 Microprocessor in PicoBlaze IP Core . .44 Optimize MicroBlaze Processors for Consumer Electronics Products . .48 Use an RTOS on Your Next MicroBlaze-Based Project . .50 UltraController-II Reference Design . .53 Welcome to the inaugural edition of the new Xilinx Embedded Magazine and the Embedded Systems Conference 2005. Embeddedmagazine In this, our first edition of Embedded Magazine, we have assembled a host of articles representing a wide range of embedded processing applications. During the last few years, Xilinx®, our partners, and EDITOR IN CHIEF Carlis Collins W [email protected] our customers have developed and shared a vision to build and assemble all of the elements required 408-879-4519 for a complete and robust range of embedded processing solutions for FPGA technologies.
    [Show full text]
  • Impact of Microblaze Fpgas Design Methodologies of the Embedded Systems Performances
    International Conference on Control, Engineering & Information Technology (CEIT’14) Proceedings - Copyright IPCO-2014, pp.146-151 ISSN 2356-5608 Impact of MicroBlaze FPGAs Design Methodologies of the Embedded Systems Performances I. MHADHBI 1, S. BEN OTHMAN 2 and S. BEN SAOUD 3 LSA Laboratory, INSAT-EPT, University of Carthage, TUNISIA [email protected] [email protected] [email protected] Abstract — Field Programmable Gate Array (FPGAs) present interfaces on a single chip. Embedding a processor inside an one of the attractive choice for implementing embedded systems FPGA has many advantages: Hard core processor has the due to their intrinsic parallelism, their fast processing speed, advantage of high computing performance, smaller size. In their rising integration scale and their lower cost solution. The contrast, soft core processor offers less computing growing configurable logic capacities of FPGA have enabled performance with a greatly enhanced in term of configuration, designers to handle processors onto FPGA products. In contrast portability, and scalability. The embedded soft core processors to traditional hard core, soft cores present one of the attractive defined as software implemented on a hardware in order to processors for implementing embedded applications. They give realize real-time applications. Several soft core processors are designers the ability to adapt many configured elements to their available: Nios from Altera, MicroBlaze and PicoBlaze from specific application including memory subsystems, interrupt Xilinx, LEON2 from Gailer Research and OpenRISC from handling, ISA features, etc. Performance evaluation of these cores presents the great dial of embedded designers to face up the OpenCores. They are having attracted an always increasing various problems related to the selection of the efficient soft core interest due their different advantages: FPGA embedded processor configuration, against a specific • Hardware Acceleration: The most compelling reason design methodology.
    [Show full text]
  • Impulse C-To-FPGA Workshop
    Impulse C-to-FPGA Workshop Software-to-FPGA Solutions for an Accelerated World Presented by David Pellerin, Founder and CTO Impulse Accelerated Technologies www.ImpulseAccelerated.com Training Agenda FPGA Tools History FPGA-Based Computing Introduction to Impulse C FPGA Platform Overview C Programming Methods and Models Demonstrations and Explorations www.ImpulseC.com 2 Programmable Logic Tools A brief history Early Programmable Logic Devices FPLAs, PALs, GALS, complex PLDs Sum-of-products architecture for Boolean functions Used to integrate TTL functions for reduced chip counts Also capable of implementing complex logic functions State machines Decoders CRC Etc. www.ImpulseC.com 4 PAL Internal Structure Devices are programmed by preserving connections in a logic array Via fusible links or via EPROM technology Sum-of-products logic array D-type register D Q Q www.ImpulseC.com 5 Tools for PLD Design PALASM Sum-of-product equations Logic validation using test vectors ABEL and CUPL More flexible Boolean equation languages State machine languages More compiler-like optimization capabilities Other tools Including graphical block diagrams and state machines www.ImpulseC.com 6 ABEL MODULE PWM_Generator TITLE ‟8-bit PWM Generator‟ clk PIN; d7..d0 PIN; " Inputs Logic “Compiler” duty = [d7..d0]; For PALs, FPLAs pwm_out PIN ISTYPE ‟reg, buffer‟; " Output " Internal nodes Entry options: c7..c0 NODE ISTYPE ‟reg, buffer‟; count = [c7..c0]; Boolean equations State diagrams EQUATIONS pwm_out.clk = clk; Truth tables count.clk
    [Show full text]