A Survey and Evaluation of FPGA High-Level Synthesis Tools

Total Page:16

File Type:pdf, Size:1020Kb

A Survey and Evaluation of FPGA High-Level Synthesis Tools This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCAD.2015.2513673, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems TCAD, VOL. X, NO. Y, DECEMBER 2015 1 A Survey and Evaluation of FPGA High-Level Synthesis Tools Razvan Nane, Member, IEEE, Vlad-Mihai Sima, Christian Pilato, Member, IEEE, Jongsok Choi, Student Member, IEEE, Blair Fort, Student Member, IEEE, Andrew Canis, Student Member, IEEE, Yu Ting Chen, Student Member, IEEE, Hsuan Hsiao, Student Member, IEEE, Stephen Brown, Member, IEEE, Fabrizio Ferrandi, Member, IEEE, Jason Anderson, Member, IEEE, Koen Bertels Member, IEEE Abstract—High-level synthesis (HLS) is increasingly popular at a low level of abstraction, where cycle-by-cycle behavior for the design of high-performance and energy-efficient heteroge- is completely specified. The use of such languages requires neous systems, shortening time-to-market and addressing today’s advanced hardware expertise, besides being cumbersome to system complexity. HLS allows designers to work at a higher-level of abstraction by using a software program to specify the hard- develop in. This leads to longer development times that can ware functionality. Additionally, HLS is particularly interesting critically impact the time-to-market. for designing FPGA circuits, where hardware implementations An interesting solution to realize such heterogeneity and, can be easily refined and replaced in the target device. Recent at the same time, address the time-to-market problem is the years have seen much activity in the HLS research community, combination of reconfigurable hardware architectures, such with a plethora of HLS tool offerings, from both industry and academia. All these tools may have different input languages, as field-programmable gate arrays (FPGAs) and high-level perform different internal optimizations, and produce results of synthesis (HLS) tools [2]. FPGAs are integrated circuits that different quality, even for the very same input description. Hence, can be configured by the end user to implement digital circuits. it is challenging to compare their performance and understand Most FPGAs are also reconfigurable, allowing a relatively which is the best for the hardware to be implemented. We quick refinement and optimization of a hardware design with present a comprehensive analysis of recent HLS tools, as well as overview the areas of active interest in the HLS research no additional manufacturing costs. The designer can modify community. We also present a first-published methodology to the HDL description of the components and then use an evaluate different HLS tools. We use our methodology to compare FPGA vendor toolchain for the synthesis of the bitstream to one commercial and three academic tools on a common set of configure the FPGA. HLS tools start from a high-level soft- C benchmarks, aiming at performing an in-depth evaluation in ware programmable language (HLL) (e.g. C, C++, SystemC) terms of performance and use of resources. to automatically produce a circuit specification in HDL that Index Terms—High-Level Synthesis, Survey, Evaluation, Com- performs the same function. HLS offers benefits to software parison, FPGA, DWARV, LegUp, Bambu. engineers, enabling them to reap some of the speed and energy benefits of hardware, without actually having to build I. INTRODUCTION up hardware expertise. HLS also offers benefits to hardware engineers, by allowing them to design systems faster at a high- Clock frequency scaling in processors stalled in the mid- level abstraction and rapidly explore the design space. This is dle of the last decade, and in recent years, an alternative crucial in the design of complex systems [3] and especially approach for high-throughput and energy-efficient processing suitable for FPGA design where many alternative implemen- is based on heterogeneity, where designers integrate software tations can be easily generated, deployed onto the target processors and application-specific customized hardware for device, and compared. Recent developments in the FPGA acceleration, each tailored towards specific tasks [1]. Although industry, such as Microsoft’s application of FPGAs in Bing specialized hardware has the potential to provide huge acceler- search acceleration [4], and the forthcoming acquisition of ation at a fraction of a processor’s energy, the main drawback Altera by Intel, further underscore the need for using FPGAs is related to its design. On one hand, describing these compo- as computing platforms with high-level software-amenable nents in a hardware description language (HDL) (e.g. VHDL design methodologies. HLS has also been recently applied to or Verilog) allows the designer to adopt existing tools for a variety of applications (e.g. medical imaging, convolutional RTL and logic synthesis into the target technology. On the neural networks, machine learning), with significant benefits other hand, this requires the designer to specify functionality in terms of performance and energy consumption [5]. R. Nane, V.M. Sima, and K. Bertels are with Delft University of Technol- Although HLS tools seem to efficiently mitigate the problem ogy, The Netherlands. of creating the hardware description, automatically generating C. Pilato was with Politecnico di Milano, Italy, and is now with Columbia hardware from software is not easy and a wide range of University, NY, USA. F. Ferrandi is with Politecnico di Milano, Italy. different approaches have been developed. One approach is J. Choi, B. Fort, A. Canis, Y.T. Chen, H. Hsiao, S. Brown, and J. Anderson to adapt the high-level language to a specific application are with University of Toronto, Canada. domain (e.g. dataflow languages for describing streaming Copyright (c) 2015 IEEE. Personal use of this material is permitted. However, permission to use this material for any other purposes must be applications). These HLS tools can leverage dedicated op- obtained from the IEEE by sending an email to [email protected]. timizations or micro-architectural solutions for the specific 0278-0070 (c) 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TCAD.2015.2513673, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems TCAD, VOL. X, NO. Y, DECEMBER 2015 2 domain. However, the algorithm designer, who is usually a its status. Furthermore, the bullet type, defined in the figure’s software engineer, has to understand how to properly update legend, denotes the target application domain for which the the code. This approach is usually time consuming and er- tool can be used. Finally, tool names which are underlined ror prone. For this reason, some HLS tools offer complete in the figure mean that the tool also supports SystemC as support for a standard high-level language, such as C, giving input. Using DSLs or SystemC raises challenges for adoption complete freedom to the algorithm designer. Understanding of HLS by software developers. In this section, due to space the current HLS research directions, the different HLS tools limitations, we describe only the unique features of each available and their capabilities is a difficult challenge, and tool. For general information (e.g. target application domain, a thoughtful analysis is lacking in the literature to cover all support for floating/fixed-point arithmetic, automatic testbench these aspects. For example, [6] was a small survey of existing generation), the reader is referred to Table I. We first introduce HLS tools with a static comparison (on criteria such as the the academic HLS tools evaluated in this study, before moving documentation available or the learning curve) of their features onto highlight features of other HLS tools available in the and user experience. However, the tools have not been applied community (either commercial or academic). to benchmarks, nor were the results produced by the tools compared. Indeed, given an application to be implemented as A. Academic HLS Tools Evaluated in This Study a hardware accelerator, it is crucial to understand which HLS tool better fits the characteristics of the algorithm. For this DWARV [7] is an academic HLS compiler developed at reason, we believe that it is important to have a comprehensive Delft University of Technology. The tool is based on the CoSy survey of recent HLS tools, research directions, as well as commercial compiler infrastructure [10] developed by ACE. a systematic method to evaluate different tools on the same The characteristics of DWARV are directly related to the benchmarks in order to analyze the results. advantages of using CoSy, which are its modular and robust In this paper, we present a thorough analysis of HLS tools, back-end, and that is easily extensible with new optimizations. current HLS research thrusts, as well as a detailed way to BAMBU [8] is an academic HLS tool developed at Po- evaluate different state-of-the-art tools (both academic and litecnico di Milano and first released in 2012. BAMBU is commercial) on performance and resource usage. The three able to generate different pareto-optimal implementations to academic
Recommended publications
  • An Introduction to High-Level Synthesis
    High-Level Synthesis An Introduction to High-Level Synthesis Philippe Coussy Michael Meredith Universite´ de Bretagne-Sud, Lab-STICC Forte Design Systems Daniel D. Gajski Andres Takach University of California, Irvine Mentor Graphics today would even think of program- Editor’s note: ming a complex software application High-level synthesis raises the design abstraction level and allows rapid gener- solely by using an assembly language. ation of optimized RTL hardware for performance, area, and power require- In the hardware domain, specification ments. This article gives an overview of state-of-the-art HLS techniques and languages and design methodologies tools. 1,2 ÀÀTim Cheng, Editor in Chief have evolved similarly. For this reason, until the late 1960s, ICs were designed, optimized, and laid out by hand. Simula- THE GROWING CAPABILITIES of silicon technology tion at the gate level appeared in the early 1970s, and and the increasing complexity of applications in re- cycle-based simulation became available by 1979. Tech- cent decades have forced design methodologies niques introduced during the 1980s included place-and- and tools to move to higher abstraction levels. Raising route, schematic circuit capture, formal verification, the abstraction levels and accelerating automation of and static timing analysis. Hardware description lan- both the synthesis and the verification processes have guages (HDLs), such as Verilog (1986) and VHDL for this reason always been key factors in the evolu- (1987), have enabled wide adoption of simulation tion of the design process, which in turn has allowed tools. These HDLs have also served as inputs to logic designers to explore the design space efficiently and synthesis tools leading to the definition of their synthe- rapidly.
    [Show full text]
  • A Highly Configurable High-Level Synthesis Functional Pattern Library
    electronics Article A Highly Configurable High-Level Synthesis Functional Pattern Library Lan Huang 1,2,‡, Teng Gao 1,‡, Dalin Li 1,†, Zihao Wang 1 and Kangping Wang 1,2,* 1 College of Computer Science and Technology, Jilin University, Changchun 130012, China; [email protected] (L.H.); [email protected] (T.G.); [email protected] (D.L.); [email protected] (Z.W.) 2 Key Laboratory of Symbolic Computation and Knowledge Engineering, Jilin University, Changchun 130012, China * Correspondence: [email protected] † Current address: Zhuhai Laboratory of Key Laboratory of Symbol Computation and Knowledge Engineering of Ministry of Education, Department of Computer Science and Technology, Zhuhai College of Jilin University, Zhuhai 519041, China. ‡ These authors contributed equally to this work. Abstract: FPGA has recently played an increasingly important role in heterogeneous computing, but Register Transfer Level design flows are not only inefficient in design, but also require designers to be familiar with the circuit architecture. High-level synthesis (HLS) allows developers to design FPGA circuits more efficiently with a more familiar programming language, a higher level of abstraction, and automatic adaptation of timing constraints. When using HLS tools, such as Xilinx Vivado HLS, specific design patterns and techniques are required in order to create high-performance circuits. Moreover, designing efficient concurrency and data flow structures requires a deep understanding of the hardware, imposing more learning costs on programmers. In this paper, we propose a set of functional patterns libraries based on the MapReduce model, implemented by C++ templates, Citation: Huang, L.; Gao,T.; Li, D.; which can quickly implement high-performance parallel pipelined computing models on FPGA with Wang, Z.; Wang, K.
    [Show full text]
  • Richard S. Uhler
    Smten and the Art of Satisfiability-Based Search by Richard S. Uhler B.S., University of California, Los Angeles (2008) S.M., Massachusetts Institute of Technology (2010) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2014 c Massachusetts Institute of Technology 2014. All rights reserved. Author.............................................................. Department of Electrical Engineering and Computer Science August 22, 2014 Certified by. Jack B. Dennis Professor of Computer Science and Engineering Emeritus Thesis Supervisor Accepted by . Leslie A. Kolodziejski Chairman, Committee for Graduate Students 2 Smten and the Art of Satisfiability-Based Search by Richard S. Uhler Submitted to the Department of Electrical Engineering and Computer Science on August 22, 2014, in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical Engineering and Computer Science Abstract Satisfiability (SAT) and Satisfiability Modulo Theories (SMT) have been leveraged in solving a wide variety of important and challenging combinatorial search prob- lems, including automatic test generation, logic synthesis, model checking, program synthesis, and software verification. Though in principle SAT and SMT solvers sim- plify the task of developing practical solutions to these hard combinatorial search problems, in practice developing an application that effectively uses a SAT or SMT solver can be a daunting task. SAT and SMT solvers have limited support, if any, for queries described using the wide array of features developers rely on for describing their programs: procedure calls, loops, recursion, user-defined data types, recursively defined data types, and other mechanisms for abstraction, encapsulation, and modu- larity.
    [Show full text]
  • FPGA Programming for the Masses
    practice DOI:10.1145/2436256.2436271 used to implement sequential logic. Article development led by queue.acm.org Apart from the homogeneous array of logic cells, an FPGA also contains discrete components such as BRAMs The programmability of FPGAs must improve (block RAMs), digital signal process- if they are to be part of mainstream computing. ing (DSP) slices, processor cores, and various communication cores (for ex- BY DavID F. BACON, RODRIC RabbaH, AND SUNIL SHUkla ample, Ethernet MAC and PCIe). BRAMs, which are specialized mem- ory structures distributed throughout the FPGA fabric in columns, are of par- ticular importance. Each BRAM can FPGA hold up to 36Kbits of data. BRAMs can be used in various form factors and can be cascaded to form a larger logical memory structure. Because of the dis- Programming tributed organization of BRAMs, they can provide terabytes of bandwidth for memory bandwidth-intensive applica- tions. Xilinx and Altera dominate the PLD market, collectively holding more for the Masses than an 85% share. FPGAs were long considered low- volume, low-density ASIC replace- ments. Following Moore’s Law, how- ever, FPGAs are getting denser and faster. Modern-day FPGAs can have up to two million logic cells, 68Mbits WHEN LOOKING AT how hardware influences of BRAM, more than 3,000 DSP slices, computing performance, we have general-purpose and up to 96 transceivers for imple- menting multigigabit communication processors (GPPs) on one end of the spectrum and channels.23 The latest FPGA families application-specific integrated circuits (ASICs) on the from Xilinx and Altera are more like a system-on-chip (SoC), mixing dual- other.
    [Show full text]
  • Design Automation for Streaming Systems
    Design Automation for Streaming Systems Eylon Caspi Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2005-27 http://www.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-27.html December 16, 2005 Copyright © 2005, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Design Automation for Streaming Systems by Eylon Caspi B.S. (University of Maryland, College Park) 1996 M.S. (University of California, Berkeley) 2000 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY OF CALIFORNIA, BERKELEY Committee in charge: Professor John Wawrzynek, Chair Professor Edward A. Lee Professor Robert Jacobsen Fall 2005 Design Automation for Streaming Systems Copyright c 2005 by Eylon Caspi Abstract Design Automation for Streaming Systems by Eylon Caspi Doctor of Philosophy in Computer Science University of California, Berkeley Professor John Wawrzynek, Chair RTL design methodologies are struggling to meet the challenges of modern, large system design. Their reliance on manually timed design with fully exposed device resources is laborious, restricts reuse, and is increasingly ineffective in an era of Moore’s Law expansion and growing interconnect delay.
    [Show full text]
  • Review of FPD's Languages, Compilers, Interpreters and Tools
    ISSN 2394-7314 International Journal of Novel Research in Computer Science and Software Engineering Vol. 3, Issue 1, pp: (140-158), Month: January-April 2016, Available at: www.noveltyjournals.com Review of FPD'S Languages, Compilers, Interpreters and Tools 1Amr Rashed, 2Bedir Yousif, 3Ahmed Shaban Samra 1Higher studies Deanship, Taif university, Taif, Saudi Arabia 2Communication and Electronics Department, Faculty of engineering, Kafrelsheikh University, Egypt 3Communication and Electronics Department, Faculty of engineering, Mansoura University, Egypt Abstract: FPGAs have achieved quick acceptance, spread and growth over the past years because they can be applied to a variety of applications. Some of these applications includes: random logic, bioinformatics, video and image processing, device controllers, communication encoding, modulation, and filtering, limited size systems with RAM blocks, and many more. For example, for video and image processing application it is very difficult and time consuming to use traditional HDL languages, so it’s obligatory to search for other efficient, synthesis tools to implement your design. The question is what is the best comparable language or tool to implement desired application. Also this research is very helpful for language developers to know strength points, weakness points, ease of use and efficiency of each tool or language. This research faced many challenges one of them is that there is no complete reference of all FPGA languages and tools, also available references and guides are few and almost not good. Searching for a simple example to learn some of these tools or languages would be a time consuming. This paper represents a review study or guide of almost all PLD's languages, interpreters and tools that can be used for programming, simulating and synthesizing PLD's for analog, digital & mixed signals and systems supported with simple examples.
    [Show full text]
  • Xcell Journal Issue 50, Fall 2004
    ISSUE 50, FALL 2004ISSUE 50, FALL XCELL JOURNAL XILINX, INC. Issue 50 Fall 2004 XcellXcelljournaljournal THETHE AUTHORITATIVEAUTHORITATIVE JOURNALJOURNAL FORFOR PROGRAMMABLEPROGRAMMABLE LOGICLOGIC USERSUSERS MEMORYMEMORY DESIGNDESIGN Streaming Data at 10 Gbps Control Your QDR Designs PARTNERSHIP 20 Years of Partnership Author! Author! Programmable WorldWorld 20042004 SOFTWARE Algorithmic C Synthesis The Need for Speed MANUFACTURING Lower PCB Mfg. Costs Optimize PCB Routability R COVER STORY FPGAs on Mars The New SPARTAN™-3 Make It You r ASIC The world’s lowest-cost FPGAs Spartan-3 Platform FPGAs deliver everything you need at the price you want. Leading the way in 90nm process technology, the new Spartan-3 devices are driving down costs in a huge range of high-capability, cost-sensitive applications. With the industry’s widest density range in its class — 50K to 5 Million gates — the Spartan-3 family gives you unbeatable value and flexibility. Lots of features … without compromising on price Check it out. You get 18x18 embedded multipliers for XtremeDSP™ processing in a low-cost FPGA. Our unique staggered pad technology delivers a ton of I/Os for total connectivity solutions. Plus our XCITE technology improves signal integrity, while eliminating hundreds of resistors to simplify board layout and reduce your bill of materials. With the lowest cost per I/O and lowest cost per logic cell, Spartan-3 Platform FPGAs are the perfect fit for any design … and any budget. MAKE IT YOUR ASIC The Programmable Logic CompanySM For more information visit www.xilinx.com/spartan3 Pb-free devices available now ©2004 Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124.
    [Show full text]
  • Catapult DS 1-10 2PG Datasheet US.Qxd
    C-B ase d D e s i g n Catapult C Synthesis D ATASHEET Major product features: • Mixed datapath and control logic synthesis from both pure ANSI C++ and SystemC • Multi-abstraction synthesis supports untimed, transaction-level, and cycle-accurate modeling styles • Full-chip synthesis capabilities including pipelined multi-block subsystems and SoC interconnects • Power, performance, and area exploration and optimization • Push button generation of RTL verification infrastructure • Advanced top-down and bottom-up hierarchical design management Catapult C Synthesis produces high-quality RTL implementations from abstract • Full and accurate control over design specifications written in C++ or SystemC, dramatically reducing design and interfaces with Interface Synthesis verification efforts. technology and Modular IO • Interactive and incremental design Tackle Complexity, Accelerate Time to RTL, Reduce Verification Effort methodology achieves fastest path to optimal hardware Traditional hardware design methods that require manual RTL development and debugging are too time consuming and error prone for today’s complex designs. • Fine-grain control for superior The Catapult® C Synthesis tool empowers designers to use industry standard ANSI quality of results C++ and SystemC to describe functional intent, and move up to a more productive • Built-in analysis tools including abstraction level. From these high-level descriptions Catapult generates production Gantt charts, critical path viewer, and quality RTL. With this approach, full hierarchical systems comprised of both cross-probing control blocks and algorithmic units are implemented automatically, eliminating the typical coding errors and bugs introduced by manual flows. By speeding time • Silicon vendor certified synthesis to RTL and automating the generation of bug free RTL, the Catapult C Synthesis libraries and integration with RTL tool significantly reduces the time to verified RTL.
    [Show full text]
  • An Introduction to High-Level Synthesis
    [3B2-8] mdt2009040008.3d 17/7/09 13:24 Page 8 High-Level Synthesis An Introduction to High-Level Synthesis Philippe Coussy Michael Meredith Universite´ de Bretagne-Sud, Lab-STICC Forte Design Systems Daniel D. Gajski Andres Takach University of California, Irvine Mentor Graphics today would even think of program- Editor’s note: ming a complex software application High-level synthesis raises the design abstraction level and allows rapid gener- solely by using an assembly language. ation of optimized RTL hardware for performance, area, and power require- In the hardware domain, specification ments. This article gives an overview of state-of-the-art HLS techniques and languages and design methodologies tools. 1,2 Tim Cheng, Editor in Chief have evolved similarly. For this reason, ÀÀ until the late 1960s, ICs were designed, optimized, and laid out by hand. Simula- THE GROWING CAPABILITIES of silicon technology tion at the gate level appeared in the early 1970s, and and the increasing complexity of applications in re- cycle-based simulation became available by 1979. Tech- cent decades have forced design methodologies niques introducedduring the 1980s included place-and- and tools to move to higher abstraction levels. Raising route, schematic circuit capture, formal verification, the abstraction levels and accelerating automation of and static timing analysis. Hardware description lan- both the synthesis and the verification processes have guages (HDLs), such as Verilog (1986) and VHDL for this reason always been key factors in the evolu- (1987), have enabled wide adoption of simulation tion of the design process, which in turn has allowed tools. These HDLs have also served as inputs to logic designers to explore the design space efficiently and synthesis tools leading to the definition of their synthe- rapidly.
    [Show full text]
  • High Level Synthesis with Catapult
    High Level Synthesis with Catapult 8.0 Richard Langridge European AE Manager 21 st January 2015 Calypto Overview • Background – Founded in 2002 – SLEC released 2005 & PowerPro 2006 – Acquired Mentor’s Catapult HLS technology and team in 2011 • Operations – Headquarters in San Jose with R&D in California, Oregon, NOIDA India – Sales and support worldwide, with new support office opened in Korea • Technology – Patented Deep Sequential Analysis Technology for verification and power optimization – Industry leading High-Level Synthesis technology – 30 patents granted; 17 pending • Customers – Over 130 customers worldwide • FY14 Results - Record revenue 2 Calypto Design Systems Calypto Design Systems’ Platforms Catapult HL Design & Verification Platform PowerPro RTL Low Power Platform 3 Calypto Design Systems Why Teams Want to Adopt HLS • Accelerate design time by working at higher level of void func (short a[N], abstraction for (int i=0; i<N; i++) { if (cond) – z+=a[i]*b[i]; New features added in days not weeks else – Address complexity through abstraction • Cut verification costs with 1000x speedup vs RTL – Faster design simulation in higher level languages – Easier functional verification and debug • Determine optimal microarchitecture – Rapidly explore multiple options for optimal Power Performance Area (PPA) • Facilitate collaboration, reuse and creation of derivatives – Technology and architectural neutral design descriptions RTL are easily shared, modified and retargeted – HLS becoming an IP enabler 4 Calypto Design Systems Catapult Delivers
    [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]
  • Automatic Instruction-Set Architecture Synthesis for VLIW Processor Cores in the ASAM Project
    Automatic Instruction-set Architecture Synthesis for VLIW Processor Cores in the ASAM Project Roel Jordansa,∗, Lech J´o´zwiaka, Henk Corporaala, Rosilde Corvinob aEindhoven University of Technology, Postbus 513, 5600MB Eindhoven, The Netherlands bIntel Benelux B.V., Capronilaan 37, 1119NG Schiphol-Rijk Abstract The design of high-performance application-specific multi-core processor systems still is a time consuming task which involves many manual steps and decisions that need to be performed by experienced design engineers. The ASAM project sought to change this by proposing an auto- matic architecture synthesis and mapping flow aimed at the design of such application specific instruction-set processor (ASIP) systems. The ASAM flow separated the design problem into two cooperating exploration levels, known as the macro-level and micro-level exploration. This paper presents an overview of the micro-level exploration level, which is concerned with the anal- ysis and design of individual processors within the overall multi-core design starting at the initial exploration stages but continuing up to the selection of the final design of the individual proces- sors within the system. The designed processors use a combination of very-long instruction-word (VLIW), single-instruction multiple-data (SIMD), and complex custom DSP-like operations in or- der to provide an area- and energy-efficient and high-performance execution of the program parts assigned to the processor node. In this paper we present an overview of how the micro-level design space exploration interacts with the macro-level, how early performance estimates are used within the ASAM flow to determine the tasks executed by each processor node, and how an initial processor design is then proposed and refined into a highly specialized VLIW ASIP.
    [Show full text]