System Modeling & HW/SW Co-Verification

Total Page:16

File Type:pdf, Size:1020Kb

System Modeling & HW/SW Co-Verification System Modeling & HW/SW Co-Verification Prof. Chien-Nan Liu TEL: 03-4227151 ext:4534 Email: [email protected] 1 Outline l Introduction l System Modeling Languages l SystemC Overview l Data-Types l Processes l Interfaces l Simulation Supports l System Design Environments l HW/SW Co-Verification l Conclusion 2 Outline l Introduction l System Modeling Languages l SystemC Overview l Data-Types l Processes l Interfaces l Simulation Supports l System Design Environments l HW/SW Co-Verification l Conclusion 3 Design Challenges Reference http://www.doulos.com 4 Silicon complexity v.s Software complexity Silicon complexity is growing 10x Software in systems is growing faster every 6 years than 10x every 6 years Reference http://www.doulos.com 5 Increasing Complexity in SoC Designs l One or more processors l 32-bit Microcontrollers l DSPs or specialized media processors l On-chip memory l Special function blocks l Peripheral control devices l Complex on-chip communications network (On-chip busses) l RTOS and embedded software which are layering architecture l …… 6 How to Conquer the Complexity ? l Modeling strategies – Using the appropriate modeling for different levels – The consistency and accuracy of the model l Reuse existing designs – IP reuse – Architecture reuse (A platform based design) l Partition – Based on functionality – Hardware and software 7 Traditional System Design Flow (1/2) l Designers partition the system into hardware and software early in the flow l HW and SW engineers design their respective components in isolation l HW and SW engineers do not talk to each other l The system may not be the suitable solution l Integration problems l High cost and long iteration 8 Traditional System Design Flow (2/2) nn System System Level Level D Designesign nn Hardware Hardware and and Software Software nn Algorithm Algorithm Developm Developmentent nn Processor Processor Selection Selection nn Done Done mainly mainly in in C/C++ C/C++ C/C++C/C++ Environment Environment nn IC IC Development Development Verification Process ww Software Software Design Design nn Hardware Hardware ww Code Code Development Development nn Implementation Implementation ww R RTTOOSS details details nn Decisions Decisions $ $ $ ww Done Done mainly mainly in in C/C++ C/C++ nn Done Done mainly mainly in in HDL HDL EDAEDA Environment Environment C/C++C/C++ Environment Environment Reference : Synopsys 9 Typical Project Schedule System Design Hardware Design Prototype Build Hardware Debug Software Design Software Coding Software Debug Reference : Mentor Graphic Project Complete 10 Former Front-End Design Flow Convert by Hand C/C++C/C++ System System LevelLevel Model Model Verilog Verilog Verilog TestbenchTestbench AnalysisAnalysis SimulationSimulation ResultsResults Refine SynthesisSynthesis Reference : DAC 2002 SystemC Tutorial 11 Problems with the Design Flow Convert by Hand C/C++C/C++ System System LevelLevel Model Model Verilog Verilog Verilog TestbenchTestbench AnalysisAnalysis Not reusable SimulationSimulation ResultsResults Refine SynthesisSynthesis ˝ Not done by designers ˝ The netlist is not preserved Reference : DAC 2002 SystemC Tutorial 12 Shortcoming of Current System Design Flow l Use natural language to describe the system specification – Cannot verify the desired functions directly l Require many experts in system architecture for the partition of software and hardware parts – The partition may not be the optimal solution l Hardware designers have to restart the design process by capturing the designs using the HDLs – May have unmatched problems l Hardware and software integration is often painful – Hardware and software cannot work together – Co-verification of hardware and software is inefficient 13 Concurrent HW/SW Design l Can provide a significant performance improvement for embedded system design – Allows earlier architecture closure – Reduce risk by 80% l Allows HW/SW engineering groups to talk together l Allows earlier HW/SW Integration l Reduce design cycle – Develop HW/SW in parallel – 100x faster than RTL 14 Project Schedule with HW/SW Co-design System Design Hardware Design Prototype Build Hardware Debug Software Design Software Coding Software Debug Reference : Mentor Graphic Project Complete 15 Modern System Design Flow Specification of the System System Level Modeling Hardware and Software Partitioning Architectural Exploration H/W Model S/W Model H/W Design Flow S/W Development Integration and Verification 16 Outline l Introduction l System Modeling Languages l SystemC Overview l Data-Types l Processes l Interfaces l Simulation Supports l System Design Environments l HW/SW Co-Verification l Conclusion 17 Motivation to Use a Modeling Language l The increasing system design complexity l The demand of higher level abstraction and modeling l Traditional HDLs (verilog, VHDL, etc) are suitable for system level design – Lack of software supports l To enable an efficient system design flow 18 Requirements of a System Design Language l Support system models at various levels of abstraction l Incorporation of embedded software portions of a complex system – Both models and implementation-level code l Creation of executable specifications of design intent l Creation of executable platform models – Represent possible implementation architectures on which the design intent will be mapped 19 Requirements of a System Design Language l Fast simulation speed to enable design-space exploration – Both functional specification and architectural implementation alternatives l Constructs allowing the separation of system function from system communications – In order to allow flexible adaptation and reuse of both models and implementation l Based on a well-established programming language – In order to capitalize on the extensive infrastructure of capture, compilation, and debugging tools already available 20 Model Accuracy Requirements l Structural accuracy l Timing accuracy l Functional accuracy l Data organization accuracy l Communication protocol accuracy 21 System Level Language SystemC Cynlib C/C++ Based SoC++ Handel-C A/RT (Library) VHDL/Verilog VHDL+ Replacements System-Level Modeling System Language Verilog Higher-level Languages SDL SLDL Entirely New Languages SUPERLOG Java-Based Java 22 Language Use C/C++ SystemC TestBuilder, Verilog SUPERLOG 2.0 OpenVer,e VHDL Very Embedded Good NO NO NO SW Good System Very Level OK Excel NO Good Design Poor Very Verification OK Good Excel OK Good RTL Design NO Good NO Excel Excel Reference : DAC 2002 SystemC Tutorial 23 Trend of System-Level Languages l Extend existing design languages (ex: SystemVerilog) – Pros: • Familiar languages and environments to designers • Allow descriptions of prior version of Verilog – Cons: • Not standardized yet • Become more and more complex to learn l Standard C/C++ based languages (ex: SystemC) – Pros: • Suitable for very abstract descriptions • Suitable to be an executable specification – Cons: • A new language to learn • Need solutions for the gap to traditional design flow 24 Evolution of Verilog Language l Proprietary design description language developed by Gateway, 1990 – Donated to OVI(Open Verilog International) by Cadence l Verilog Hardware Description Language LRM by OVI, V2.0 1993 l IEEE Std. 1364-1995, “Verilog 1.0” (called Verilog-1995) l Synopsys proposed Verilog-2000, including synthesizable subset l IEEE Std. 1364-2001, “Verilog 2.0” (called Verilog-2001) (1st main enhancement) l SystemVerilog 3.0, approved as an Accellera standard in June 2002 – add system-level architectural modeling l SystemVerilog 3.1, approved as an Accellera standard in May, 2003 – add verification and C language integration (Not yet as standard) l Verilog Standards Group(IEEE 1364) announced a project authorization request for 1364-2005 25 Compatibility of SystemVerilog ANSI C-style ports, named parameter passing, comma-separated sensitivity lists and attributes SystemVerilog 3.0/3.1 Verilog-1995 Verilog- 2001 earliest Verilog initialization of variables, the semantics of "posedge" and "negedge" constructs, record-like constructs, handling of interfaces and various keywords 26 Enhancements in SystemVerilog l C data types l Interfaces to encapsulate l Dynamic processes l A unique top level hierarchy ($root) l Verification functionality l Synchronization l Classes l Dynamic memory l Assertion mechanism l …… 27 Summary about SystemVerilog l More extension in high-level abstraction to the Verilog-2001 standard – Still no much enhancement in transaction-level abstraction l Improves the productivity and readability of Verilog code l Provide more concise hardware descriptions l Extends the verification aspects of Verilog by incorporating the capabilities of assertions – Still no coverage construct within testbench design l 3.0/3.1 LRM are still not very clear in more details l Not yet simulator support – No compiler for trying its syntax l SV is a valuable direction to be watched – Will it become too complex for most designers/verification engineers’ requirement/understanding?? 28 Reference for SystemVerilog l SystemVerilog 3.1, ballot draft: Accellera's Extensions to Verilog? Accellera, Napa, California, April 2003. l Verilog 2001: A Guide to the new Verilog Standard? Stuart Sutherland, Kluwer Academic Publishers, Boston, Massachusetts, 2001 l An overview of SystemVerilog 3.1, By Stuart Sutherland, EEdesign, May 21, 2003 http://www.eedesign.com/story/OEG20030521S0086 URL: 1) http://www.eda.org/sv-ec/ (SystemVerilog Testbench Extension Committee) 2) http://www.eda.org/sv-ec/SV_3.1_Web/index.html
Recommended publications
  • Prostep Ivip CPO Statement Template
    CPO Statement of Mentor Graphics For Questa SIM Date: 17 June, 2015 CPO Statement of Mentor Graphics Following the prerequisites of ProSTEP iViP’s Code of PLM Openness (CPO) IT vendors shall determine and provide a list of their relevant products and the degree of fulfillment as a “CPO Statement” (cf. CPO Chapter 2.8). This CPO Statement refers to: Product Name Questa SIM Product Version Version 10 Contact Ellie Burns [email protected] This CPO Statement was created and published by Mentor Graphics in form of a self-assessment with regard to the CPO. Publication Date of this CPO Statement: 17 June 2015 Content 1 Executive Summary ______________________________________________________________________________ 2 2 Details of Self-Assessment ________________________________________________________________________ 3 2.1 CPO Chapter 2.1: Interoperability ________________________________________________________________ 3 2.2 CPO Chapter 2.2: Infrastructure _________________________________________________________________ 4 2.3 CPO Chapter 2.5: Standards ____________________________________________________________________ 4 2.4 CPO Chapter 2.6: Architecture __________________________________________________________________ 5 2.5 CPO Chapter 2.7: Partnership ___________________________________________________________________ 6 2.5.1 Data Generated by Users ___________________________________________________________________ 6 2.5.2 Partnership Models _______________________________________________________________________ 6 2.5.3 Support of
    [Show full text]
  • Systemverilog
    SystemVerilog ● Industry's first unified HDVL (Hw Description and Verification language (IEEE 1800) ● Major extension of Verilog language (IEEE 1364) ● Targeted primarily at the chip implementation and verification flow ● Improve productivity in the design of large gate-count, IP- based, bus-intensive chips Sources and references 1. Accellera IEEE SystemVerilog page http://www.systemverilog.com/home.html 2. “Using SystemVerilog for FPGA design. A tutorial based on a simple bus system”, Doulos http://www.doulos.com/knowhow/sysverilog/FPGA/ 3. “SystemVerilog for Design groups”, Slides from Doulos training course 4. Various tutorials on SystemVerilog on Doulos website 5. “SystemVerilog for VHDL Users”, Tom Fitzpatrick, Synopsys Principal Technical Specialist, Date04 http://www.systemverilog.com/techpapers/date04_systemverilog.pdf 6. “SystemVerilog, a design and synthesis perspective”, K. Pieper, Synopsys R&D Manager, HDL Compilers 7. Wikipedia Extensions to Verilog ● Improvements for advanced design requirements – Data types – Higher abstraction (user defined types, struct, unions) – Interfaces ● Properties and assertions built in the language – Assertion Based Verification, Design for Verification ● New features for verification – Models and testbenches using object-oriented techniques (class) – Constrained random test generation – Transaction level modeling ● Direct Programming Interface with C/C++/SystemC – Link to system level simulations Data types: logic module counter (input logic clk, ● Nets and Variables reset, ● enable, Net type,
    [Show full text]
  • Powerpoint Template
    Accellera Overview February 27, 2017 Lu Dai | Accellera Chairman Welcome Agenda . About Accellera . Current news . Technical activities . IEEE collaboration 2 © 2017 Accellera Systems Initiative, Inc. February 2017 Accellera Systems Initiative Our Mission To provide a platform in which the electronics industry can collaborate to innovate and deliver global standards that improve design and verification productivity for electronics products. 3 © 2017 Accellera Systems Initiative, Inc. February 2017 Broad Industry Support Corporate Members 4 © 2017 Accellera Systems Initiative, Inc. February 2017 Broad Industry Support Associate Members 5 © 2017 Accellera Systems Initiative, Inc. February 2017 Global Presence SystemC Evolution Day DVCon Europe DVCon U.S. SystemC Japan Design Automation Conference DVCon China Verification & ESL Forum DVCon India 6 © 2017 Accellera Systems Initiative, Inc. February 2017 Agenda . About Accellera . Current news . Technical activities . IEEE collaboration 7 © 2017 Accellera Systems Initiative, Inc. February 2017 Accellera News . Standards - IEEE Approves UVM 1.2 as IEEE 1800.2-2017 - Accellera relicenses SystemC reference implementation under Apache 2.0 . Outreach - First DVCon China to be held April 19, 2017 - Get IEEE free standards program extended 10 years/10 standards . Awards - Thomas Alsop receives 2017 Technical Excellence Award for his leadership of the UVM Working Group - Shrenik Mehta receives 2016 Accellera Leadership Award for his role as Accellera chair from 2005-2010 8 © 2017 Accellera Systems Initiative, Inc. February 2017 DVCon – Global Presence 29th Annual DVCon U.S. 4th Annual DVCon Europe www.dvcon-us.org 4th Annual DVCon India www.dvcon-europe.org 1st DVCon China www.dvcon-india.org www.dvcon-china.org 9 © 2017 Accellera Systems Initiative, Inc.
    [Show full text]
  • Co-Simulation Between Cλash and Traditional Hdls
    MASTER THESIS CO-SIMULATION BETWEEN CλASH AND TRADITIONAL HDLS Author: John Verheij Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) Computer Architecture for Embedded Systems (CAES) Exam committee: Dr. Ir. C.P.R. Baaij Dr. Ir. J. Kuper Dr. Ir. J.F. Broenink Ir. E. Molenkamp August 19, 2016 Abstract CλaSH is a functional hardware description language (HDL) developed at the CAES group of the University of Twente. CλaSH borrows both the syntax and semantics from the general-purpose functional programming language Haskell, meaning that circuit de- signers can define their circuits with regular Haskell syntax. CλaSH contains a compiler for compiling circuits to traditional hardware description languages, like VHDL, Verilog, and SystemVerilog. Currently, compiling to traditional HDLs is one-way, meaning that CλaSH has no simulation options with the traditional HDLs. Co-simulation could be used to simulate designs which are defined in multiple lan- guages. With co-simulation it should be possible to use CλaSH as a verification language (test-bench) for traditional HDLs. Furthermore, circuits defined in traditional HDLs, can be used and simulated within CλaSH. In this thesis, research is done on the co-simulation of CλaSH and traditional HDLs. Traditional hardware description languages are standardized and include an interface to communicate with foreign languages. This interface can be used to include foreign func- tions, or to make verification and co-simulation possible. Because CλaSH also has possibilities to communicate with foreign languages, through Haskell foreign function interface (FFI), it is possible to set up co-simulation. The Verilog Procedural Interface (VPI), as defined in the IEEE 1364 standard, is used to set-up the communication and to control a Verilog simulator.
    [Show full text]
  • Development of Systemc Modules from HDL for System-On-Chip Applications
    University of Tennessee, Knoxville TRACE: Tennessee Research and Creative Exchange Masters Theses Graduate School 8-2004 Development of SystemC Modules from HDL for System-on-Chip Applications Siddhartha Devalapalli University of Tennessee - Knoxville Follow this and additional works at: https://trace.tennessee.edu/utk_gradthes Part of the Electrical and Computer Engineering Commons Recommended Citation Devalapalli, Siddhartha, "Development of SystemC Modules from HDL for System-on-Chip Applications. " Master's Thesis, University of Tennessee, 2004. https://trace.tennessee.edu/utk_gradthes/2119 This Thesis is brought to you for free and open access by the Graduate School at TRACE: Tennessee Research and Creative Exchange. It has been accepted for inclusion in Masters Theses by an authorized administrator of TRACE: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. To the Graduate Council: I am submitting herewith a thesis written by Siddhartha Devalapalli entitled "Development of SystemC Modules from HDL for System-on-Chip Applications." I have examined the final electronic copy of this thesis for form and content and recommend that it be accepted in partial fulfillment of the equirr ements for the degree of Master of Science, with a major in Electrical Engineering. Dr. Donald W. Bouldin, Major Professor We have read this thesis and recommend its acceptance: Dr. Gregory D. Peterson, Dr. Chandra Tan Accepted for the Council: Carolyn R. Hodges Vice Provost and Dean of the Graduate School (Original signatures are on file with official studentecor r ds.) To the Graduate Council: I am submitting herewith a thesis written by Siddhartha Devalapalli entitled "Development of SystemC Modules from HDL for System-on-Chip Applications".
    [Show full text]
  • Lattice Synthesis Engine User Guide and Reference Manual
    Lattice Synthesis Engine for Diamond User Guide April, 2019 Copyright Copyright © 2019 Lattice Semiconductor Corporation. All rights reserved. This document may not, in whole or part, be reproduced, modified, distributed, or publicly displayed without prior written consent from Lattice Semiconductor Corporation (“Lattice”). Trademarks All Lattice trademarks are as listed at www.latticesemi.com/legal. Synopsys and Synplify Pro are trademarks of Synopsys, Inc. Aldec and Active-HDL are trademarks of Aldec, Inc. All other trademarks are the property of their respective owners. Disclaimers NO WARRANTIES: THE INFORMATION PROVIDED IN THIS DOCUMENT IS “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF ACCURACY, COMPLETENESS, MERCHANTABILITY, NONINFRINGEMENT OF INTELLECTUAL PROPERTY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL LATTICE OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER (WHETHER DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE INFORMATION PROVIDED IN THIS DOCUMENT, EVEN IF LATTICE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF CERTAIN LIABILITY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. Lattice may make changes to these materials, specifications, or information, or to the products described herein, at any time without notice. Lattice makes no commitment to update this documentation. Lattice reserves the right to discontinue any product or service without notice and assumes no obligation to correct any errors contained herein or to advise any user of this document of any correction if such be made.
    [Show full text]
  • Download the Compiled Program File Onto the Chip
    International Journal of Computer Science & Information Technology (IJCSIT) Vol 4, No 2, April 2012 MPP SOCGEN: A FRAMEWORK FOR AUTOMATIC GENERATION OF MPP SOC ARCHITECTURE Emna Kallel, Yassine Aoudni, Mouna Baklouti and Mohamed Abid Electrical department, Computer Embedded System Laboratory, ENIS School, Sfax, Tunisia ABSTRACT Automatic code generation is a standard method in software engineering since it improves the code consistency and reduces the overall development time. In this context, this paper presents a design flow for automatic VHDL code generation of mppSoC (massively parallel processing System-on-Chip) configuration. Indeed, depending on the application requirements, a framework of Netbeans Platform Software Tool named MppSoCGEN was developed in order to accelerate the design process of complex mppSoC. Starting from an architecture parameters design, VHDL code will be automatically generated using parsing method. Configuration rules are proposed to have a correct and valid VHDL syntax configuration. Finally, an automatic generation of Processor Elements and network topologies models of mppSoC architecture will be done for Stratix II device family. Our framework improves its flexibility on Netbeans 5.5 version and centrino duo Core 2GHz with 22 Kbytes and 3 seconds average runtime. Experimental results for reduction algorithm validate our MppSoCGEN design flow and demonstrate the efficiency of generated architectures. KEYWORD MppSoC, Automatic code generation; mppSoC configuration;parsing ; MppSoCGEN; 1. INTRODUCTION Parallel machines are most often used in many modern applications that need regular parallel algorithms and high computing resources, such as image processing and signal processing. Massively parallel architectures, in particular Single Instruction Multiple Data (SIMD) systems, have shown to be powerful executers for data-intensive applications [1].
    [Show full text]
  • 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]
  • UNIVERSITY of CALIFORNIA RIVERSIDE Emulation of Systemc
    UNIVERSITY OF CALIFORNIA RIVERSIDE Emulation of SystemC Applications for Portable FPGA Binaries A Dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science by Scott Spencer Sirowy June 2010 Dissertation Committee: Dr. Frank Vahid, Chairperson Dr. Tony Givargis Dr. Sheldon X.-D. Tan Copyright by Scott Spencer Sirowy 2010 The Dissertation of Scott Spencer Sirowy is approved: Committee Chairperson University of California, Riverside ABSTRACT OF THE DISSERTATION Emulation of SystemC Applications for Portable FPGA Binaries by Scott Spencer Sirowy Doctor of Philosophy, Graduate Program in Computer Science University of California, Riverside, June 2010 Dr. Frank Vahid, Chairperson As FPGAs become more common in mainstream general-purpose computing platforms, capturing and distributing high-performance implementations of applications on FPGAs will become increasingly important. Even in the presence of C-based synthesis tools for FPGAs, designers continue to implement applications as circuits, due in large part to allow for capture of clever spatial, circuit-level implementation features leading to superior performance and efficiency. We demonstrate the feasibility of a spatial form of FPGA application capture that offers portability advantages for FPGA applications unseen with current FPGA binary formats. We demonstrate the portability of such a distribution by developing a fast on-chip emulation framework that performs transparent optimizations, allowing spatially-captured FPGA applications to immediately run on FPGA platforms without costly and hard-to-use synthesis/mapping tool flows, and sometimes faster than PC-based execution. We develop several dynamic and transparent optimization techniques, including just-in-time compilation , bytecode acceleration , and just-in-time synthesis that take advantage of a platform’s available resources, resulting in iv orders of magnitude performance improvement over normal emulation techniques and PC-based execution.
    [Show full text]
  • 3. Verilog Hardware Description Language
    3. VERILOG HARDWARE DESCRIPTION LANGUAGE The previous chapter describes how a designer may manually use ASM charts (to de- scribe behavior) and block diagrams (to describe structure) in top-down hardware de- sign. The previous chapter also describes how a designer may think hierarchically, where one module’s internal structure is defined in terms of the instantiation of other modules. This chapter explains how a designer can express all of these ideas in a spe- cial hardware description language known as Verilog. It also explains how Verilog can test whether the design meets certain specifications. 3.1 Simulation versus synthesis Although the techniques given in chapter 2 work wonderfully to design small machines by hand, for larger designs it is desirable to automate much of this process. To automate hardware design requires a Hardware Description Language (HDL), a different nota- tion than what we used in chapter 2 which is suitable for processing on a general- purpose computer. There are two major kinds of HDL processing that can occur: simu- lation and synthesis. Simulation is the interpretation of the HDL statements for the purpose of producing human readable output, such as a timing diagram, that predicts approximately how the hardware will behave before it is actually fabricated. As such, HDL simulation is quite similar to running a program in a conventional high-level language, such as Java Script, LISP or BASIC, that is interpreted. Simulation is useful to a designer because it allows detection of functional errors in a design without having to fabricate the actual hard- ware. When a designer catches an error with simulation, the error can be corrected with a few keystrokes.
    [Show full text]
  • Version Control Friendly Project Management System for FPGA Designs
    Copyright 2016 Society of Photo-Optical Instrumentation Engineers. This paper was published in Proceedings of SPIE (Proc. SPIE Vol. 10031, 1003146, DOI: http://dx.doi.org/10.1117/12.2247944 ) and is made available as an electronic reprint (preprint) with permission of SPIE. One print or electronic copy may be made for personal use only. Systematic or multiple reproduction, distribution to multiple locations via electronic or other means, duplication of any material in this paper for a fee or for com- mercial purposes, or modification of the content of the paper are prohibited. 1 Version control friendly project management system for FPGA designs Wojciech M. Zabołotnya aInstitute of Electronic Systems, Warsaw University of Technology, ul. Nowowiejska 15/19, 00-665 Warszawa, Poland ABSTRACT In complex FPGA designs, usage of version control system is a necessity. It is especially important in the case of designs developed by many developers or even by many teams. The standard development mode, however, offered by most FPGA vendors is the GUI based project mode. It is very convenient for a single developer, who can easily experiment with project settings, browse and modify the sources hierarchy, compile and test the design. Unfortunately, the project configuration is stored in files which are not suited for use with Version Control System (VCS). Another important problem in big FPGA designs is reuse of IP cores. Even though there are standard solutions like IEEE 1685-2014, they suffer from some limitations particularly significant for complex systems (e.g. only simple types are allowed for IP-core ports, it is not possible to use parametrized instances of IP-cores).
    [Show full text]
  • Using Modelsim to Simulate Logic Circuits in Verilog Designs
    Using ModelSim to Simulate Logic Circuits in Verilog Designs For Quartus Prime 16.0 1 Introduction This tutorial is a basic introduction to ModelSim, a Mentor Graphics simulation tool for logic circuits. We show how to perform functional and timing simulations of logic circuits implemented by using Quartus Prime CAD software. The reader is expected to have the basic knowledge of the Verilog hardware description language, and the Altera Quartus® Prime CAD software. Contents: • Introduction to simulation • What is ModelSim? • Functional simulation using ModelSim • Timing simulation using ModelSim Altera Corporation - University Program 1 May 2016 USING MODELSIM TO SIMULATE LOGIC CIRCUITS IN VERILOG DESIGNS For Quartus Prime 16.0 2 Background Designers of digital systems are inevitably faced with the task of testing their designs. Each design can be composed of many modules, each of which has to be tested in isolation and then integrated into a design when it operates correctly. To verify that a design operates correctly we use simulation, which is a process of testing the design by applying inputs to a circuit and observing its behavior. The output of a simulation is a set of waveforms that show how a circuit behaves based on a given sequence of inputs. The general flow of a simulation is shown in Figure1. Figure 1. The simulation flow. There are two main types of simulation: functional and timing simulation. The functional simulation tests the logical operation of a circuit without accounting for delays in the circuit. Signals are propagated through the circuit using logic and wiring delays of zero. This simulation is fast and useful for checking the fundamental correctness of the 2 Altera Corporation - University Program May 2016 USING MODELSIM TO SIMULATE LOGIC CIRCUITS IN VERILOG DESIGNS For Quartus Prime 16.0 designed circuit.
    [Show full text]