An Impulse-C Hardware Accelerator for Packet Classification Based on Fine/Coarse Grain Optimization

Total Page:16

File Type:pdf, Size:1020Kb

An Impulse-C Hardware Accelerator for Packet Classification Based on Fine/Coarse Grain Optimization Hindawi Publishing Corporation International Journal of Reconfigurable Computing Volume 2013, Article ID 130765, 23 pages http://dx.doi.org/10.1155/2013/130765 Research Article An Impulse-C Hardware Accelerator for Packet Classification Based on Fine/Coarse Grain Optimization O. Ahmed, S. Areibi, R. Collier, and G. Grewal Faculty of Engineering and Computer Science, University of Guelph, Guelph, ON, Canada Correspondence should be addressed to S. Areibi; [email protected] Received 26 March 2013; Revised 10 June 2013; Accepted 10 July 2013 Academic Editor: Walter Stechele Copyright © 2013 O. Ahmed et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Current software-based packet classification algorithms exhibit relatively poor performance, prompting many researchers to concentrate on novel frameworks and architectures that employ both hardware and software components. The Packet Classification with Incremental Update (PCIU) algorithm, Ahmed et al. (2010), is a novel and efficient packet classification algorithm witha unique incremental update capability that demonstrated excellent results and was shown to be scalable for many different tasks and clients. While a pure software implementation can generate powerful results on a server machine, an embedded solution may be more desirable for some applications and clients. Embedded, specialized hardware accelerator based solutions are typically much more efficient in speed, cost, and size than solutions that are implemented on general-purpose processor systems. This paper seeks to explore the design space of translating the PCIU algorithm into hardware by utilizing several optimization techniques, ranging from fine grain to coarse grain and parallel coarse grain approaches. The paper presents a detailed implementation of a hardware accelerator of the PCIU based on an Electronic System Level (ESL) approach. Results obtained indicate that the hardware accelerator achieves on average 27x speedup over a state-of-the-art Xeon processor. 1. Introduction software components. The continuous explosive growth of Internet traffic will ultimately require that future packet clas- The task of packet classification entails the matching of sification algorithms are implemented with a purely hardware an incoming packet with rules (established in an exist- approach. ing classifier) to determine the type of action that would With our recent work [1] on the packet classification be appropriate. Although this problem has been studied problem, we proposed a novel algorithm, called “Packet Clas- extensively, the fast emergence of new network applications, sification with an Incremental Update” (PCIU), that exhibited coupledwiththerapidgrowthoftheInternet,hasintroduced a substantial improvement over previous approaches. The many new challenges, and the research community remains PCIU provides lower preprocessing time, lower memory motivated to design novel and efficient packet classification consumption, greater ease for incremental rule update, and solutions. Packet classification plays a crucial role for a faster classification time (when compared to other state-of- number of network services, including, but not limited to, the-art algorithms), with the maximum memory required by policy-based routing, traffic billing, and preventing unautho- PCIU for accommodating 10,000 rules requiring less than rized access using firewalls. Moreover, packet classification 2.5 MB for the worst case. In this paper, we attempt to give algorithms that will scale to large, multifield databases are detailed explanation of the implementation of the PCIU becoming essential for a variety of applications, including algorithm that was previously published in [1] in order for the load balancers, network security appliances, and quality of readers to reproduce the work. We are releasing the design service filtering. Unfortunately, the current, software-based and implementation publicly to assist those interested in packet classification algorithms exhibit relatively poor perfor- implementing the PCIU algorithm along with benchmarks mance, prompting many researchers to concentrate on novel [2]. Furthermore, we propose enhancements to the PCIU frameworks and architectures that employ both hardware and [1] in this paper by making it more accessible, for a variety 2 International Journal of Reconfigurable Computing of applications, by way of a hardware implementation. Field hardware. Therefore, designers are encouraged to manually Programmable Gate Arrays (FPGAs) are considered to be restructure their code to optimize the resulting hardware. excellent platforms and candidates for mapping packet clas- Typically, this is done by applying various transformations to sification to hardware. FPGAs provide an excellent trade off theoriginalsourcecode.However,thesheervolumeofthese between reprogrammability and performance compared with language-level transformations leads to a whole design space traditional Application Specific Integrated Circutis (ASICs). of potential solutions, all based on different optimizations. The term flexibility refers to the concept of reprogramming The main goal of this paper is (i) to improve the run-time the FPGA as the algorithm is modified and updated. The performance of the PCIU packet classification algorithm performance on the other hand refers to the performance that by parallelizing the algorithm and eventually mapping it can be achieved by exploiting parallelism at the bit level in onto an FPGA, and (ii) to perform an empirical study to addition to instruction and task level. FPGAs are considered determine the overall effectiveness of different language-level to be a good fit for classification since the target is “embedded transformations when using Impulse-C to implement the systems” which with typically to consume less power than PCIU algorithm. current state-of-the-art general-purpose processors. In addi- The main contributions of this paper can be clearly stated tion to reducing power consumption “Embedded systems”, as follows. attempt to increase reliability and decrease operating cost. Embedded systems are specialized HW/SW computer sys- (1) The majority of networking applications are beyond tems, that are custom-designed to perform an often highly the capabilities of general-purpose processors since real-time constrained task in generally small form factor current networking trends are pushing towards com- designs.AnFPGAisalsoanexcellentcandidateforrun plex protocols that provide additional and improved time dynamic reconfiguration where only some parts of the network services. The Impulse-C based implemen- algorithm can be present while others are swapped in and out tation proposed in this work achieves substantial as required. This enables any classification based algorithm to speedup (27x) over a pure software implementation consume less power and also to fit into FPGAs with different running on a state-of-the-art Xeon processor. sizes. (2) An extensive experimental analysis is performed in When mapping any algorithm onto a reconfigurable which all possible combinations of optimizations are computing platform such as FPGAs, an important step considered. To the best of our knowledge, this is the involves using an appropriate language for design entry and first paper to propose such extensive exploration for hardware synthesis. VHDL and Verilog are two popular fine-grained optimization of Impulse-C. The explo- hardware description languages (HDL) used in both industry ration performed can be easily extended to similar and academia. The main advantage of these languages is the applications that utilize ESL based approaches. efficient hardware produced via synthesis since they describe (3) In addition to a full factorial experiment that will the hardware at the register-transfer level. However, designers allow us to test interactions between different com- consume quite a substantial amount of time dealing with binations of language-level transformation based on structural details of the actual hardware. On the other hand, fine grain optimization (FGO), the authors seek higher level languages or Electronic System Level (ESL) based to further improve performance via Coarse Grain languagessuchasHandel-C[3], Impulse-C [4], and Catapult- (CGO) and Parallel Coarse Grain Optimization C[5] have started to gain popularity as an alternative to (PCGO) by exploiting both data parallelism and VHDL and Verilog for the purpose of hardware acceleration pipelining. of software-based applications. One of the goals of these languages is to enable designers to focus their attention at The remainder of this paper is organized into six sections. higher level of abstraction; that is, on the algorithm to be Section 2 provides an overview of the packet classification mapped into hardware rather than the lower level details of problem, along with necessary background. Section 3 pro- the circuit to be built. Designers can start with automatic vides a brief overview of the most significant work published compilation and then focus their efforts on improving loops in the field of packet classification. In Section 4,thePCIU and constructs to further enhance the performance of the algorithm [1] is described briefly along with the different hardware accelerator. The designer’s required effort is, there- stages of preprocessing, classification, and updating.
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]