Using SystemC for Hardware Design Comparison of results with VHDL, Cossap and CoCentric

Size: px
Start display at page:

Download "Using SystemC for Hardware Design Comparison of results with VHDL, Cossap and CoCentric"

Transcription

1 Comparison of results with VHDL, Cossap and CoCentric Mario Steinert, Steffen Buch, CPD AA, Infineon Technologies AG, David Slogsnat, University of Mannheim ABSTRACT This paper gives an overview of the results of an evaluation project, where the integration of SystemC into the design flow was evalulated. The most important criteria are: - applicability of SystemC for creating synthesizable code - Simulation Speed - Synthesis results (timing, area) First the root-raised cosine filter implementation that was used as mutual basis for comparisons is described. Because of the high sampling clock it is possible to calculate each channel (inphase, quadrature) of this FIR filter on only two MAC units. The coefficients are stored in a ROM, common for I and Q channel. The address for the ROM and the control signals for the data path are generated in a small internal FSM. So the design does not only contain feed forward signal processing parts but also pretty complex control overhead. The SystemC implementation will be compared with the original handwritten VHDL implementation and generated VHDL code from COSSAP. Advantages and open issues of SystemC are pointed out. A very important issue for system design is simulation speed. Here SystemC brought surprising results. In the case of the FIR filter, the SystemC simulation is about three times faster than VHDL. Also the simulation speeds of Cossap was evaluated. In terms of synthesis the usage of SystemC showed no disadvantages. The area results are nearly equal for all of the designs (handwritten VHDL, generated VHDL code from Cossap and SystemC). It is not surprising, since SystemC elaboration is integrated in Synopsys design compiler ( ). For all investigations the same version was used. These results will be presented in the last parts.

2 1.0 Introduction The aim of our investigations was the evaluation of the design flow out of SystemC RTL code to sythesized gate level netlist. Main action were: the Implementation of the filter and belonging test benches in SystemC simulation of the SystemC code using the open source SystemC core Synthesis of the SystemC code using SCC (Synopsys SystemC Compiler) In terms of High Level Design there is still a big gap in the design flow. In algorithmic concept designers used to take C/C++ for there modeling, but on architectural level, VHDL and Verilog are well established. This gap should be closed by SystemC, but if it is really applicable for RTL synthesis this investigation should show. Therefore the design flow using SystemC is compared to traditional VHDL coding and generating VHDL code from Cossap 2.0 The implemented filter The implemented filter is originally part of a cable modem project. For this filter a detailed specification was available and handwritten VHDL code and a generic C COSSAP model on untimed functional level (UTF) with bittrue behaviour were already implemented. The RRC filter converts 16QAM or QPSK symbols into root-raised cosine pulses with the following characteristics: signal quantization input: 2 * 3 bit output: 2 * 13 bit interpolation factor 4 variable symbol rate clock frequency input: output: MHz to MHz MHz to MHz 200 MHz rolloff factors 0.25 and 0.3 Table 1 - Properties of the filter The RRC is used for pulse shaping in data transmission systems: it works as a bandpass filter and is used in the case of transmission channels with limited bandwidth. 2

3 Figure 1 - Input pattern and corresponding output of the RRC filter Figure 2 - Cossap top level schematic showing the functional units of the design From Figure 2 can be seen that the filter consists of a datapath module, which is instantiated twice (once for each the real and the imaginary part), a ROM module holding the filter coefficients, and a control state machine. Figure 3 shows the architecture (except for the pipeline registers) of the datapath module. Due to the interpolation factor of 4, only every 4 th register holds a value different from 0, and so the number of registers for this 128-tap filter can be reduced to 32. At maximum symbol rate, there are 16 clock cycles to sum up the multiplication products; therefore 2 accumulation units are necessary. 3

4 Figure 3 - Data path of RRC filter 3.0 The design phase In all three designs (Cossap, SystemC and VHDL) the data paths and ROM modules are implemented exactly the same way. The data path follows Figure 3, with additional pipeline registers before and after the multiplier. wait 16 1 (1x1) 15 p symstrobe 64 1 (1x1) 31 p datavalid 16 1 (1x1) 2 p outreg 16 1 (1x1) 1 p shiften_ (1x1) 14 p shiften_ (1x1) 62 p mux (1x1) 1 p z (1x1) 33 p z (1x1) 17 p z (1x1) 1 p mux (1x16) 2 n st_cyc 16 1 (1x1) 1 p cntr 64 6 (0..63) 63 p Perl script Generates file containing bitvectors Read file in HDL code or COSSAP module void shape_fsm::loadfsm() { FILE *source; int i,j; int s; char ctmp; source = fopen("shapefsm.out","r");... Figure 4 - Pattern generation for control FSM The only difference is in the state machine implementation. In the handwritten VHDL code, the state machine is implemented by separate counters and logic for each group of signals. In Cossap and SystemC, the FSM is implemented as a single counter counting through the states. The output signals of the FSM are not generated by hardwired logic assignments, but by bit 4

5 patterns read from a file. This has the advantage that the HDL file is much better readable and changes can be made easily. The bit patterns are generated using a Perl script, the process can be seen in Figure 4. For verification, a model on untimed functional level (UTF) was used as a reference model. The hierarchical Cossap model was compared for bittrue conformity to it. The functional conformity of all other RTL models and all generated netlists was proven in Cossap cosimulations, or, if not possible (as in the case of SystemC) by comparing tracefiles. A Cossap testbench for comparing two filter blocks is shown in Figure 5. Figure 5 - Cossap testbench for comparing simulation results doing a cosimulation 4.0 RTL Design Entry and Synthesis with SystemC For implementation, the SystemC library version was used. Simulations were done using these libraries and an external waveform viewer, no other design- or simulation tools were used. For debugging, the GNU Data Display Debugger (ddd) with Gnu Debugger (gdb) was used. An overview about SystemC and it s anticipated advantages is given in [2] and [3]. Here only the most important reasons for the introduction of SystemC are mentioned: The argument that seems to be the most important one is that SystemC is perfectly suited to become an de-facto standard. This qualification is accomplished by e.g. the Open Community Licensing model. Also, it was important to have a common language in the whole design process. Everything, from the algorithmic model to synthesizable RTL architecture, can be described without having a switch in design language. SystemC really enables a refinement of the design while going to a lower level of abstraction. It is not necessary to recode all the hierarchies and interfaces anymore. SystemC is able to close the gap between concept and architecture design. 5

6 I can not give a complete discussion of the advantages or disadvantages of SystemC in general at this point, but a list of some problems that seemed to be worth mentioned: - SystemC has bit- and bitvector types, but does not introduce a binary constant type. As a result, all constant values have to be specified either as decimal or hexadecimal numbers. For designing hardware, it would be helpful to have at least a pseudo binary constant type, implemented as a macro or function. - SystemC is based on an open community licensing model; according to the SystemC WebPages it takes the best aspects of other innovating licensing models [1]. Unfortunately, it seems that the SystemC project is not working as good as other open community projects. An example for that is the variety of SystemC data types. For 1-bit logic there exist different synthesizable data types (bool, sc_bit). In fact, Synopsys recommends for synthesis to use bool rather than sc_bit. This undermines the idea of one vendor independent HDL language, i.e. without vendor dependent dialects. - The SystemC User Guide, bundled with the SystemC library, is not a helpful guide yet. Because of the quick evolution of SystemC, it is incomplete, and even SystemC features covered are either lacking of details or simply wrong. Big problems were encountered while trying to compile the SystemC examples coming with this documentation. However, the idea of a free user guide or reference bundled with the library should be continued. - Errors during compilation or execution most often do not report the location of the error s origin in the HDL code, but only the location in the SystemC libraries. This makes it very difficult to locate errors and is especially annoying with errors that are truly syntactical (in the SystemC HDL language). For example, switched numbers in a range-operator, i.e. the method call range(minbit, maxbit) instead of range(maxbit, minbit) results in the error message sc_port_manager.cpp:353: failed assertion `PORT_STATUS_UNBOUND!= pi->port_status' abort which is not at all helpful to locate the error. - It is possible to use an debugger like gdb to examine a SystemC design. SystemC variables can be observed. However, the origin of errors during the creation of new instances (e.g. the error mentioned above) cannot be found with justifiable expenses. Unfortunately syntax checking is not included in the SystemC libraries itself, but there are third party tools for syntax check available. For the evaluation no additional syntax checking was done. Occurring errors were recognized during synthesis. - At present, synthesis of SystemC RTL code is divided in two steps. First the code is translated into Verilog. Errors and non synthesizable construct do not generate messages during this phase. In the following logic synthesis a gate level netlist is generated out of the Verilog RTL code. Possible errors and warnings will show up now and they do not refer to the original SystemC code but to the intermediate Verilog code. Probably the usage of a syntax checker would solve this problem too. 5.0 Simulation Performance For the comparison of the simulation times, all models were simulated under same conditions: Simulation time was clock cycles, i.e. 1/10s. A file with 1024 data elements is read, the input pattern is created by periodically reading this dataset. One of the designs data outputs is traced and written to a file. The simulations were executed on a SUN Ultra-60 Workstation with 2GB main memory and two 295MHz Ultra-Sparc-II CPUs. 6

7 Figure 6 shows the results. The simulation time of the algorithmic Cossap model (1) is only shown as a reference since this model cannot be synthesized. The next result (2) belongs to the architectural Cossap model of the filter. Since it is designed with elements of Cossap s BITTRUE library, this code is highly hierarchical. Thats why, a lot of simulation time can be saved by creating a primitive SDS model out of the hole hierarchy. The flattened code (3) is simulated more than 4 times faster. All the VHDL simulation were done with Synopsys VHDLSIM v Though ModelSim is considered to be a faster simulator, ModelSim EE/Plus 5.3d turned out to be significantly slower for this design. In Figure 5 can be seen that the handwritten VHDL (4) code is much better suited for simulation than the Cossap-generated (5) code. It took just one half the time to finish the simulation. simulation time (s) Cossap algorithm (1) 7 Cossap arch hier (2) 3951 Cossap arch flat (3) 927 VHDL handwritten (4) 7917 VHDL generated (5) CoSim handwritten (6) 9359 CoSim generated (7) SystemC arch (8) Figure 6 - Simulation Performance Another investigation, that was done should show, how the simulation time increases, if the VHDL code is cosimulated (6),(7) inside Cossap instead by a standalone VHDL testbench. For both, the handwritten and also the generated VHDL code, the simulation time increased a little. This is caused by the inter process communication (IPC) between the Cossap scheduler and the VHDL simulator. SystemC (8) was simulated with SystemC compiler v (optimization step O3). The computation of the chosen test sequence took 2300 sec, this is more than 3 times faster than the simulation of the handwritten VHDL code (4)

8 6.0 Synthesis Results Synthesis was done using the Synopsys environment version ; since this version supports synthesis of SystemC code also. The used design library based on a 0.18 µm technology. As you can see in Figure 7, the resulting chip area for all three design flows is nearly equal. The synthesis out of SystemC leads to a 2 % smaller area. Since the designs are not perfectly identical, e. g. the control FSM is designed differently in every case, this small difference in area is neglectable. Synthesis out of SystemC RTL code will lead to similar results like traditional VHDL. In general the synthesis of SystemC code using the Synopsys SystemC compiler works pretty well. The synthesizable subset of SystemC is large and contains all constructs and features needed. With an older version (Synopsys ) the synthesis results were worse, for the handwritten VHDL design, the chip area is about 7 % larger than in the version. Again, as discovered when examinating simulation run times, using the most recent version of a particular tool seems to be as important as using the tool employing the best design methodology. 9 8 Register Combinational area (kgates) ,634 3,732 3,116 4,080 4,025 4,442 0 handwritten VHDL Cossap generated VHDL SystemC Figure 7 - Synthesis Results 7.0 Conclusions and Recommendations It can be said that SystemC can indeed be successfully used for RTL description. Given the fact that SystemC is still in an early stage of development, and that drawbacks are hopefully being eliminated in the future, there are no fundamental reasons against the usage SystemC in RTL design. The simulation speed is excellent and the synthesis are similar to VHDL. 8

9 It was planned to include CoCentric in this comparison. Unfortunately the generation of synthesizable SystemC code out of CoCentric s PRIM models is not released yet. Therefore this part had to be left out here and will be object of future investigations. 8.0 Acknowledgements I would like to thank Sysnopsys, especially Mr. Martin Schnieringer in Munich, for the valuable support and providing licences for their SystemC development tools. 9.0 References [1] SystemC web pages, many SystemC relevant papers and the most recent information are available here [2] SystemC User Guide Version 1.1, Synopsys, CoWare, Frontier Design, 2000 [3] System Level Design Using the SystemC Modeling Platform, J. Gerlach, W. Rosenstiel [4] Describing Synthesizable RTL in SystemC, Synopsys, May 2001 [5] CoCentric SystemC Compiler, RTL User and Modeling Guide, Synopsys, August

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Programmable Logic Devices HDL-Based Design Flows CMPE 415 HDL-Based Design Flows: ASIC Toward the end of the 80s, it became difficult to use schematic-based ASIC flows to deal with the size and complexity of >5K or more gates. HDLs were introduced to deal with

More information

An introduction to CoCentric

An introduction to CoCentric A Hand-Out 1 An introduction to CoCentric Las Palmas de G. C., Spain Jun, 27 th, 2002 Agenda 2 System-level SoC design What is SystemC? CoCentric System Studio SystemC based designs verification CoCentric

More information

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company. Appendix SystemC Product Briefs All product claims contained within are provided by the respective supplying company. Blue Pacific Computing BlueWave Blue Pacific s BlueWave is a simulation GUI, including

More information

An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs

An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs P. Banerjee Department of Electrical and Computer Engineering Northwestern University 2145 Sheridan Road, Evanston, IL-60208 banerjee@ece.northwestern.edu

More information

23. Digital Baseband Design

23. Digital Baseband Design 23. Digital Baseband Design Algorithm-to-VLSI Circuit Refinement (Floating Point) Tradeoff (SNR Loss, BER) (Fixed Point) VHDL, Verilog VHDL, Verilog Memory Control For I=0 to I=15 Sum = Sum + array[i]

More information

World Class Verilog & SystemVerilog Training

World Class Verilog & SystemVerilog Training World Class Verilog & SystemVerilog Training Sunburst Design - Expert Verilog-2001 FSM, Multi-Clock Design & Verification Techniques by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst

More information

The SOCks Design Platform. Johannes Grad

The SOCks Design Platform. Johannes Grad The SOCks Design Platform Johannes Grad System-on-Chip (SoC) Design Combines all elements of a computer onto a single chip Microprocessor Memory Address- and Databus Periphery Application specific logic

More information

INTRODUCTION TO CATAPULT C

INTRODUCTION TO CATAPULT C INTRODUCTION TO CATAPULT C Vijay Madisetti, Mohanned Sinnokrot Georgia Institute of Technology School of Electrical and Computer Engineering with adaptations and updates by: Dongwook Lee, Andreas Gerstlauer

More information

Introduction to SystemC

Introduction to SystemC Introduction to SystemC Damien Hubaux - CETIC Outline?? A language A C++ library February 12, 2004 SystemC, an alternative for system modeling and synthesis? 2 Why SystemC? Needs Increasing complexity,

More information

EEL 5722C Field-Programmable Gate Array Design

EEL 5722C Field-Programmable Gate Array Design EEL 5722C Field-Programmable Gate Array Design Lecture 17: Describing Synthesizable RTL in SystemC* Prof. Mingjie Lin * 2001 Synopsys, Inc. 1 System-Level Design Specifying the system Verifying its functionality

More information

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs New Directions in Programming FPGAs for DSP Dr. Jim Hwang Xilinx, Inc. Agenda Introduction FPGA DSP platforms Design challenges New programming models for FPGAs System Generator Getting your math into

More information

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. World Class SystemVerilog & UVM Training Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings

More information

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design Catapult C Synthesis High Level Synthesis Webinar Stuart Clubb Technical Marketing Engineer April 2009 Agenda How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware

More information

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software. White Paper DSSS Modem Lab Background The direct sequence spread spectrum (DSSS) digital modem reference design is a hardware design that has been optimized for the Altera APEX DSP development board (starter

More information

High-Level Information Interface

High-Level Information Interface High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.

More information

RTL Design-Flow with SystemC in an Industrial Design Project Modeling a GPS Receiver Using SystemC

RTL Design-Flow with SystemC in an Industrial Design Project Modeling a GPS Receiver Using SystemC RTL Design-Flow with in an Industrial Design Project Modeling a GPS Receiver Using Bernhard Niemann Martin Speitel e for Integrated Circuits www.iis.fhg.de www.iis.fhg.de/kursbuch/kurse/systemc.html 1

More information

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation Design Verification 1 Design Process Design : specify and enter the design intent Verify: verify the correctness of design and implementation Implement: refine the design through all phases Kurt Keutzer

More information

EE 4755 Digital Design Using Hardware Description Languages

EE 4755 Digital Design Using Hardware Description Languages EE 4755 Digital Design Using Hardware Description Languages Basic Information URL: http://www.ece.lsu.edu/v Offered by: David M. Koppelman, Room 345 ERAD Building 578-5482. koppel@ece.lsu.edu, http://www.ece.lsu.edu/koppel/koppel.html

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)

Experiment VERI: FPGA Design with Verilog (Part 2) (webpage:   /) Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) 1.0 Learning Outcomes

More information

LAB 9 The Performance of MIPS

LAB 9 The Performance of MIPS LAB 9 The Performance of MIPS Goals Learn how the performance of the processor is determined. Improve the processor performance by adding new instructions. To Do Determine the speed of the processor in

More information

Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog

Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog Application Note Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog www.model.com Introduction C and C++ languages have an important role to play in ASIC design, and

More information

81920**slide. 1Developing the Accelerator Using HLS

81920**slide. 1Developing the Accelerator Using HLS 81920**slide - 1Developing the Accelerator Using HLS - 82038**slide Objectives After completing this module, you will be able to: Describe the high-level synthesis flow Describe the capabilities of the

More information

LAB 9 The Performance of MIPS

LAB 9 The Performance of MIPS Goals To Do LAB 9 The Performance of MIPS Learn how the performance of the processor is determined. Improve the processor performance by adding new instructions. Determine the speed of the processor in

More information

The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs

The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs Sven Beyer, OneSpin Solutions, Munich, Germany, sven.beyer@onespin-solutions.com Dominik Straßer, OneSpin Solutions, Munich,

More information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction

More information

DESIGN STRATEGIES & TOOLS UTILIZED

DESIGN STRATEGIES & TOOLS UTILIZED CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering Winter/Summer Training Level 2 continues. 3 rd Year 4 th Year FIG-3 Level 1 (Basic & Mandatory) & Level 1.1 and

More information

EE 4755 Digital Design Using Hardware Description Languages

EE 4755 Digital Design Using Hardware Description Languages EE 4755 Digital Design Using Hardware Description Languages Basic Information URL: http://www.ece.lsu.edu/v Offered by: David M. Koppelman, Room 3316R P. F. Taylor Hall 578-5482. koppel@ece.lsu.edu, http://www.ece.lsu.edu/koppel/koppel.html

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

System Level Design Technologies and System Level Design Languages

System Level Design Technologies and System Level Design Languages System Level Design Technologies and System Level Design Languages SLD Study Group EDA-TC, JEITA http://eda.ics.es.osaka-u.ac.jp/jeita/eda/english/project/sld/index.html Problems to Be Solved 1. Functional

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Intro to High Level Design with SystemC

Intro to High Level Design with SystemC Intro to High Level Design with SystemC Aim To introduce SystemC, and its associated Design Methodology Date 26th March 2001 Presented By Alan Fitch Designer Challenges Design complexity System on Chip

More information

University of Massachusetts Amherst Department of Electrical & Computer Engineering

University of Massachusetts Amherst Department of Electrical & Computer Engineering University of Massachusetts Amherst Department of Electrical & Computer Engineering ECE 696 Independent Study Fall 2005 Final Report Title: Efficient RTL Synthesis of DSP Algorithms Supervisor: Prof. Maciej

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator

Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator Harris Hardware/Software Codesign for Wireless Systems (E168b) Lab 2: GPS Correlator Introduction In this lab, you will build a time-multiplexed correlator to search for and track GPS satellite signals.

More information

Early Models in Silicon with SystemC synthesis

Early Models in Silicon with SystemC synthesis Early Models in Silicon with SystemC synthesis Agility Compiler summary C-based design & synthesis for SystemC Pure, standard compliant SystemC/ C++ Most widely used C-synthesis technology Structural SystemC

More information

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis Benjamin Carrion Schafer 1, Ansuhree Mahapatra 2 The Hong Kong Polytechnic University Department of Electronic and Information

More information

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis Benjamin Carrion Schafer 1, Ansuhree Mahapatra 2 The Hong Kong Polytechnic University Department of Electronic and Information

More information

DSPACE: LISA Methodology

DSPACE: LISA Methodology DSPACE: LISA Methodology Maximilian Odendahl ESA DSP Day, Noordwjik, 28.8.2012 Institute for Communication Technologies and Embedded Systems Outline 2 Introduction DSPACE Requirements LISA Methodology

More information

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation UG817 (v 13.2) July 28, 2011 Xilinx is disclosing this user guide, manual, release note, and/or specification

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

More information

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004 Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs Fall 2004 Agenda FPGA design challenges Mentor Graphics comprehensive FPGA design solutions Unique tools address the full range

More information

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.

Modular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office. Modular SystemC is a set of modules related to SystemC TM (IEEE 1666-2005) aimed at fulfilling teambased training requirements for engineers from a range of technical backgrounds, i.e. hardware and software

More information

LAB 9 The Performance of MIPS

LAB 9 The Performance of MIPS LAB 9 The Performance of MIPS Goals Learn how to determine the performance of a processor. Improve the processor performance by adding new instructions. To Do Determine the speed of the processor in Lab

More information

Design and Verification of FPGA Applications

Design and Verification of FPGA Applications Design and Verification of FPGA Applications Giuseppe Ridinò Paola Vallauri MathWorks giuseppe.ridino@mathworks.it paola.vallauri@mathworks.it Torino, 19 Maggio 2016, INAF 2016 The MathWorks, Inc. 1 Agenda

More information

AL8253 Core Application Note

AL8253 Core Application Note AL8253 Core Application Note 6-15-2012 Table of Contents General Information... 3 Features... 3 Block Diagram... 3 Contents... 4 Behavioral... 4 Synthesizable... 4 Test Vectors... 4 Interface... 5 Implementation

More information

SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc

SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc 2/29/2016 Frederic Doucet, Qualcomm Atheros, Inc 2 What to Standardize Next Benefit of current standard: Provides

More information

FPGA Design Tutorial

FPGA Design Tutorial ECE 554 Digital Engineering Laboratory FPGA Design Tutorial Version 5.0 Fall 2006 Updated Tutorial: Jake Adriaens Original Tutorial: Matt King, Surin Kittitornkun and Charles R. Kime Table of Contents

More information

Cycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components

Cycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components Cycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components Rainer Dömer, Andreas Gerstlauer, Dongwan Shin Technical Report CECS-04-19 July 22, 2004 Center for Embedded Computer Systems University

More information

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien Hardware Modelling Design Flow Overview ECS Group, TU Wien 1 Outline Difference: Hardware vs. Software Design Flow Steps Specification Realisation Verification FPGA Design Flow 2 Hardware vs. Software:

More information

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping

More information

A New Electronic System Level Methodology for Complex Chip Designs

A New Electronic System Level Methodology for Complex Chip Designs A New Electronic System Level Methodology for Complex Chip Designs Chad Spackman President, Co-Founder 1 Copyright 2006. All rights reserved. We are an EDA Tool Company: C2R Compiler, Inc. General purpose

More information

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015 Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for

More information

Digital Systems Testing

Digital Systems Testing Digital Systems Testing Verilog HDL for Design and Test Moslem Amiri, Václav Přenosil Embedded Systems Laboratory Faculty of Informatics, Masaryk University Brno, Czech Republic amiri@mail.muni.cz prenosil@fi.muni.cz

More information

Evaluation of the RTL Synthesis Tools for FPGA/PLD Design. M.Matveev. Rice University. August 10, 2001

Evaluation of the RTL Synthesis Tools for FPGA/PLD Design. M.Matveev. Rice University. August 10, 2001 Evaluation of the RTL Synthesis Tools for FPGA/PLD Design M.Matveev Rice University August 10, 2001 Xilinx: Foundation ISE Design Entry: VHDL, Verilog, schematic, ABEL Synthesis: Xilinx XST, Synopsys FPGA

More information

Parallel FIR Filters. Chapter 5

Parallel FIR Filters. Chapter 5 Chapter 5 Parallel FIR Filters This chapter describes the implementation of high-performance, parallel, full-precision FIR filters using the DSP48 slice in a Virtex-4 device. ecause the Virtex-4 architecture

More information

Architecture Implementation Using the Machine Description Language LISA

Architecture Implementation Using the Machine Description Language LISA Architecture Implementation Using the Machine Description Language LISA Oliver Schliebusch, Andreas Hoffmann, Achim Nohl, Gunnar Braun and Heinrich Meyr Integrated Signal Processing Systems, RWTH Aachen,

More information

LAB 6 Testing the ALU

LAB 6 Testing the ALU Goals LAB 6 Testing the ALU Learn how to write testbenches in Verilog to verify the functionality of the design. Learn to find and resolve problems (bugs) in the design. To Do We will write a Verilog testbench

More information

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification Corey Mathis Industry Marketing Manager Communications, Electronics, and Semiconductors MathWorks 2014 MathWorks,

More information

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

FPGA Implementation and Validation of the Asynchronous Array of simple Processors FPGA Implementation and Validation of the Asynchronous Array of simple Processors Jeremy W. Webb VLSI Computation Laboratory Department of ECE University of California, Davis One Shields Avenue Davis,

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions

More information

FPGAs: FAST TRACK TO DSP

FPGAs: FAST TRACK TO DSP FPGAs: FAST TRACK TO DSP Revised February 2009 ABSRACT: Given the prevalence of digital signal processing in a variety of industry segments, several implementation solutions are available depending on

More information

Co-Emulation of Scan-Chain Based Designs Utilizing SCE-MI Infrastructure

Co-Emulation of Scan-Chain Based Designs Utilizing SCE-MI Infrastructure Co-Emulation of Scan-Chain Based Designs Utilizing SCE-MI Infrastructure Bill Jason Tomas 1, Yingtao Jiang 2 and Mei Yang 2 1 Cadence Design System, Inc., San Jose, CA, USA 2 Department of Electrical and

More information

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018 University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers

More information

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications Abstract: Rapid prototyping has become an important means to verify the performance and feasibility of algorithms and

More information

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. World Class Verilog & SystemVerilog Training Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff Cummings

More information

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES Design: Part 1 High Level Synthesis (Xilinx Vivado HLS) Part 2 SDSoC (Xilinx, HLS + ARM) Part 3 OpenCL (Altera OpenCL SDK) Verification:

More information

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

More information

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT THE FREE AND OPEN RISC INSTRUCTION SET ARCHITECTURE Codasip is the leading provider of RISC-V processor IP Codasip Bk: A portfolio of RISC-V processors Uniquely

More information

Choosing an Intellectual Property Core

Choosing an Intellectual Property Core Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.

More information

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05

Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05 DQ80251 Revolutionary Quad-Pipelined Ultra High Performance 16/32-bit Microcontroller v. 6.05 O V E R V I E W DQ80251 is a revolutionary Quad-Pipelined ultrahigh performance, speed optimized soft core,

More information

Timing Analysis in Xilinx ISE

Timing Analysis in Xilinx ISE Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the

More information

Module 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1

Module 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1 Module 4 Design of Embedded Processors Version 2 EE IIT, Kharagpur 1 Lesson 23 Introduction to Hardware Description Languages-III Version 2 EE IIT, Kharagpur 2 Instructional Objectives At the end of the

More information

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core DQ8051 Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core COMPANY OVERVIEW Digital Core Design is a leading IP Core provider and a System-on-Chip design house. The company was

More information

Evaluation of a Refinement-Driven SystemC -Based Design Flow

Evaluation of a Refinement-Driven SystemC -Based Design Flow Evaluation of a Refinement-Driven SystemC -Based Design Flow Thorsten Schubert 1, Jürgen Hanisch 2, Joachim Gerlach 2, Jens-E. Appell 1, Wolfgang Nebel 1 1 OFFIS Research Institute Escherweg 2, 26121 Oldenburg,

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial. Digital Logic Synthesis and Equivalence Checking Tools Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada CAD Tool Tutorial May, 2010

More information

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation UG817 (v13.3) November 11, 2011 Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software 01 1 Electronic Design Automation (EDA) 01 1 Electronic Design Automation (EDA): (Short Definition) The use of software to automate electronic (digital and analog) design. Electronic Design Automation

More information

RISC-V CUSTOMIZATION WITH STUDIO 8

RISC-V CUSTOMIZATION WITH STUDIO 8 RISC-V CUSTOMIZATION WITH STUDIO 8 Zdeněk Přikryl CTO, Codasip GmbH WHO IS CODASIP Leading provider of RISC-V processor IP Introduced its first RISC-V processor in November 2015 Offers its own portfolio

More information

Setup file.synopsys_dc.setup

Setup file.synopsys_dc.setup Setup file.synopsys_dc.setup The.synopsys_dc.setup file is the setup file for Synopsys' Design Compiler. Setup file is used for initializing design parameters and variables, declare design libraries, and

More information

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. World Class Verilog & SystemVerilog Training Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc. Cliff

More information

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall 2009-10 AccelDSP Getting Started Tutorial Introduction This tutorial exercise will guide you through the process of

More information

C-Based Hardware Design

C-Based Hardware Design LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples

More information

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes Presented at Design Automation Conference (DAC) San Francisco, CA, June 4, 2012. Presented by Chuck Cruse FPGA Hardware

More information

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip Ruediger Willenberg and Paul Chow High-Performance Reconfigurable Computing Group University of Toronto September 4, 2013

More information

System Level Design Flow

System Level Design Flow System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is

More information

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience

Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience Mapping Multi-Million Gate SoCs on FPGAs: Industrial Methodology and Experience H. Krupnova CMG/FMVG, ST Microelectronics Grenoble, France Helena.Krupnova@st.com Abstract Today, having a fast hardware

More information

Advanced Synthesis Techniques

Advanced Synthesis Techniques Advanced Synthesis Techniques Reminder From Last Year Use UltraFast Design Methodology for Vivado www.xilinx.com/ultrafast Recommendations for Rapid Closure HDL: use HDL Language Templates & DRC Constraints:

More information

Ten Reasons to Optimize a Processor

Ten Reasons to Optimize a Processor By Neil Robinson SoC designs today require application-specific logic that meets exacting design requirements, yet is flexible enough to adjust to evolving industry standards. Optimizing your processor

More information

SystemC Users Forum - Japan. February 1, 2001

SystemC Users Forum - Japan. February 1, 2001 SystemC Users Forum - Japan February 1, 2001 Agenda Why SystemC? Organizational Update The Growing SystemC Marketplace SystemC v2.0 Roadmap v2.0 Capabilities and Benefits v1.2beta Capabilities and Benefits

More information

OUTLINE RTL DESIGN WITH ARX

OUTLINE RTL DESIGN WITH ARX 1 2 RTL DESIGN WITH ARX IMPLEMENTATION OF DIGITAL SIGNAL PROCESSING Sabih H. Gerez University of Twente OUTLINE Design languages Arx motivation and alternatives Main features of Arx Arx language elements

More information

Hardware description language (HDL)

Hardware description language (HDL) Hardware description language (HDL) A hardware description language (HDL) is a computer-based language that describes the hardware of digital systems in a textual form. It resembles an ordinary computer

More information

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it. MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.

More information

Modeling a 4G LTE System in MATLAB

Modeling a 4G LTE System in MATLAB Modeling a 4G LTE System in MATLAB Part 3: Path to implementation (C and HDL) Houman Zarrinkoub PhD. Signal Processing Product Manager MathWorks houmanz@mathworks.com 2011 The MathWorks, Inc. 1 LTE Downlink

More information