Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog
|
|
- Erik Nelson
- 5 years ago
- Views:
Transcription
1 Application Note Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog
2 Introduction C and C++ languages have an important role to play in ASIC design, and using these languages can significantly increase designer productivity. However, C and C++ cannot be used entirely alone; they must work together with conventional HDLs (VHDL and Verilog), to create a mixed HDL and C/C++ environment. The key to success when employing a mixed environment in ASIC design is to choose and use the language that offers the most effective abstraction level for the task at hand. Traditionally, Verilog and VHDL have proven to deliver the best solution for describing hardware, because they provide an efficient abstraction for level- and edge-sensitive registers and clock logic, arbitrary logic gates and larger elements of clocked logic arranged in parallel. C and C++, on the other hand have been used for years to describe higher-level system design, and to describe and implement new algorithms. System architects use C models to evaluate new architectures without regard for implementation details, such as timing and hardwaresoftware partitioning. Recently, SystemC was developed as a useful way to bridge the gap between what has been done traditionally with HDLs and what has been done in C. SystemC has all the architectural capabilities of C (because it is C), and adds class libraries that allow HDL concepts to be included, such as a time domain, event scheduling, clocks, concurrent processes, etc. Using C as the Design Specification One of the main advantages of describing a design in C is that the C language is very powerful and easy to implement complex objects. In addition, the designer can compile it into a standalone object and quickly run it and evaluate the results. Quick turnarounds can be made and reevaluated on the fly. More important, however, is the fact that the resulting C model can be used for equivalency checking between C and RTL. Once a golden C model is decided upon, HDL designers can begin the task of implementing it in RTL HDL. Viewing the C model as a specification is, in fact, becoming common. In practice, the C model can be used to generate tabular data files that can be compared to the output of the RTL design at any intermediate partition in the design. The strength of this method is its ability to automate the comparison of large numbers of pointed regressions or extended randomized tests. A simulation log can be maintained to show precisely which test failed and what conditions caused the error. An important limitation arises, however, due to the need for cycle accuracy in the C model a specific set of assignments in the C model must map directly to a single clock cycle in the RTL model. Since a clock cannot be readily generated in C, care must be taken to ensure that all appropriate dependencies are considered when ordering execution events. This need for cycle accuracy is especially apparent when modeling asynchronous boundary behaviors. Many designs prioritize transactions according to internal events that cross clock domain boundaries in the design. Unfortunately, this can cause perfectly valid outcomes from the RTL design to appear out of order according to the predictive C data. Interfacing C to VHDL Interfacing C code to Verilog and VHDL can take many forms some ad hoc and others operating under a standard. A standard interface for connecting C modules or functions to VHDL code is defined in the IEEE standard. The most commonly employed method under the standard is what are known as foreign architectures. These special VHDL architectures do not have any executable VHDL code in them. Instead, they contain a link to executable C code. At the beginning of the architecture, a foreign attribute declaration appears, such as: architecture foreign_arch of my_module is architecture foreign of foreign_arch: attribute is init_func file.so ; begin end; 2 Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog
3 As you can see, there is no code between the begin and end statements. The standard also specifies that if there were code between the begin and end statements it would not be executed. The C code referenced by the foreign attribute declaration is called whenever this architecture needs to be evaluated such as when one of the ports is responding to input changes on the entity. Although most simulators require the same basic information to connect to the C code, the actual string for the foreign architecture specification is simulator dependent. ModelSim uses the form init_function object_file. The (init_function) is the name of the function in the C code that the simulator calls when the design is being loaded into memory (elaboration). The object_file referenced in the string is the name of the compiled and dynamically linked C code. An important note is that the IEEE standard does not define the actual procedural interface between the C and VHDL; only the definition of the foreign architecture is defined. Hence, C code is not portable between VHDL simulators. Interfacing C to Verilog The C interface for Verilog is quite different than VHDL and requires more of the designer, who must create an almost-empty module that has the single, simple task of calling a user-defined system task that is implemented in C. An example of Verilog interface code is: module my_module ( <my_ports> )... $my_task( <my_ports ); endmodule The C code that interfaces to Verilog is defined and standardized by the IEEE 1364 standard and is called Verilog PLI (Programming Language Interface). Using the code example above, the PLI defines a mechanism in the C code to specify which function to call when $my_task is evaluated. To enhance designer productivity, many simulators now include convenient shortcuts to simplify this mechanism. Unfortunately, these short cuts are not portable across all simulators. Verilog s interfacing method is clearly more complex than the interface between C and VHDL. As an example of this complexity, the code below is the C structure that must be implemented to interface C code to Verilog. typedef int (*p_tffn)(); typedef struct t_tfcell { short type;/* USERTASK, USERFUNCTION, or USERREALFUNCTION */ short data;/* passed as data argument of callback function */ p_tffn checktf; /* argument checking callback function */ p_tffn sizetf; /* function return size callback function */ p_tffn calltf; /* task or function call callback function */ p_tffn misctf; /* miscellaneous reason callback function */ char *tfname;/* name of system task or function */ int forwref; char *tfveritool; char *tferrmessage; int hash; struct t_tfcell *left_p; struct t_tfcell *right_p; char *namecell_p; int warning_printed; } s_tfcell, *p_tfcell; In addition to defining a mechanism to interface C and Verilog, the PLI also defines and standardizes function calls between C code and the simulator, something that the VHDL/C interface does not have. This means that the PLI function call interface is portable across simulators, which is a big advantage for users, and especially IP providers. Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog 3
4 The disadvantage of the standardized interface is impaired performance. The PLI has a set of documented parameters for all of the functions as well as the standardized data structures that hold information about the various design objects, and all simulators must use these conventions. Maintaining all of these data structures imposes a significant performance penalty. For example, the simulator must copy pieces of design data requested by the PLI from the internal simulator s data structures into the standard structures required by the PLI. This happens for every PLI access to the design and can be very expensive in terms of simulation time. Interfacing SystemC to VHDL and Verilog SystemC has a powerful set of features that allow it to be used for design models done in C, and design models done in VHDL or Verilog. However, it does not fully replace the need for VHDL and Verilog. Most design work done with SystemC still requires a mix of SystemC and HDLs. A common usage model is to do the top-level design in SystemC, and as the design implementation progresses, lower-level blocks of the SystemC model are replaced by VHDL or Verilog RTL implementations. Thus, to simulate the entire design throughout the development process, it is necessary to simulate the SystemC and HDL code together. The interface between SystemC and HDL is done in one of two ways: 1) the user codes his or her own interface using the FLI or PLI to connect the SystemC model and the HDL model together, or 2) the simulator vendor (or a third party) provides an integrated interface to do this. The first option of using the PLI/FLI to do the interfacing is painful at best. Not only do the design s signals and their types need to be converted across the interface, but also the events scheduled on the SystemC side must be synchronized with the events on the HDL side. The best option is to use an integrated interface provided by the simulator. Ideally, the SystemC language is native to the simulator, so the interface is not needed at all. The ModelSim 5.8 release supports SystemC natively, just as it does with VHDL and Verilog. This allows a mixed hierarchy of SystemC blocks and HDL blocks with no restrictions and no performance penalties. Full debug capabilities across all languages are available, as well. For more information about ModelSim s native SystemC integration, please refer to the application note entitled SystemC Verification with ModelSim. Interfacing C to SystemVerilog SystemVerilog has arrived, and has many powerful features to improve hardware design. One of the new features is the definition of a new API to interface C to the SystemVerilog language. This new interface is called the DPI (Direct Programming Interface). The DPI solves many of the C-to-HDL interface problems that occur today with VHDL and Verilog. In addition, SystemVerilog provides a consistent method for loading user s C code, unlike PLI/FLI, so the C code (and how it gets linked and loaded) is the same for all simulators. One of the problems of FLI and PLI is that they are complex and not easy to use. To do even simple tasks requires detailed knowledge of the interface, and requires a lot of C code to be written. Also, Verilog is able to call C code via user-defined system tasks, but the C code can t call the Verilog code. The DPI was designed to be a natural inter-language function call interface between C and SystemVerilog. In other words, the interface is such that C functions can be called directly by SystemVerilog, and SystemVerilog can directly call C functions, with no interface code between them. Even the datatypes of the parameters are converted automatically across a function call. The C calling conventions and semantics are used by the DPI. The example below shows the SystemVerilog code that calls a C function, and also exports a SystemVerilog function that can be directly called by the C code. Note all that is needed is an import and export function declaration. The imported HandleOutputPacket C function call is called directly at the bottom of the always block. 4 Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog
5 module EthPort( input [7:0] MiiOutData, input MiiOutEnable, input MiiOutError, input clk, reset, output bit [7:0] MiiInData, output bit MiiInEnable, output bit MiiInError); import DPI context void HandleOutputPacket( input integer portid, input bit [1439:0] payload); export DPI void PutPacket; function void PutPacket(input bit [1499:0] packet) // called BY C inputpacketdata = packet; inputpacketreceivedflag = 1; endfunction clk) begin // output packet FSM if (outstate == READY) begin If (MiiOutEnable) outstate <= PROCESS_OUTPUT_PACKET; end else if (outstate == PROCESS_OUTPUT_PACKET) begin HandleOutputPacket(myPortID, outpacketvector); // call TO C end end endmodule This direct call interface can save the user a lot of time debugging the interface between the C and the HDL code. In addition, the call is very fast, since there are no intermediate data structures created and destroyed, as is the case with the PLI. Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog 5
6 Summary With the complexity of ASIC and SoC designs spiraling out of control, the utilization of C and C++ for specific aspects of the design flow (such as creating a golden model for the design) is becoming imperative. Mixedlanguage environments are, however, relatively new to many designers and can cause problems for the uninitiated. Interfacing C-class languages to Verilog and VHDL, for example, requires a much different procedure and can be cumbersome, particularly when the design team wants to maintain portability between simulators. New technologies and tools have arrived which addresses many of the problems of interfacing C to HDL. SystemC has the capabilities to cross the boundary of the two design languages, and together with ModelSim s native integration, SystemC can be used seamlessly with VHDL and Verilog. SystemVerilog also solves many of the HDL/C shortcomings with its new DPI interface. No longer do designers need to concern themselves with the interface details of the two languages; now they can focus on their design implementation in both languages equally. Mentor Graphics Model Technology group is committed to supporting the SystemVerilog language and the DPI. Understanding all of the issues involved in using C and HDL together, along with using the latest tools, gives the designer an edge in development of complex designs. ModelSim leads the industry in providing a state of the art simulation environment that supports the latest C, C++, SystemC and SystemVerilog integration. For more information, call us or visit: Copyright 2003 Mentor Graphics Corporation. This document contains information that is proprietary to Mentor Graphics Corporation and may be duplicated in whole or in part by the original recipient for internal business purposed only, provided that this entire notice appears in all copies. In accepting this document, the recipient agrees to make every reasonable effort to prevent the unauthorized use of this information. Model Technology is a trademark and ModelSim and Mentor Graphics are registered trademarks of Mentor Graphics Corporation. All other trademarks are the property of their respective owners. Corporate Headquarters Mentor Graphics Corporation 8005 S.W. Boeckman Road Wilsonville, Oregon USA Phone:
SystemVerilog Assertions in the Design Process 213
SystemVerilog Assertions in the Design Process 213 6.6 RTL Design Assertions, generated during the architectural planning phases, greatly facilitate the writing of the RTL implementation because they help
More informationTaking Advantage of SystemVerilog for Design with ModelSim
D IGITAL S IMULATION A PPLICATION N OTE Taking Advantage of SystemVerilog for Design with ModelSim www.model.com Introduction SystemVerilog (SV) is the next generation of the popular Verilog language.
More informationCOMPREHENSIVE SYSTEMVERILOG-SYSTEMC-VHDL MIXED-LANGUAGE DESIGN METHODOLOGY
COMPREHENSIVE SYSTEMVERILOG-SYSTEMC-VHDL MIXED-LANGUAGE DESIGN METHODOLOGY Rudra Mukherjee Mentor Graphics Corporation rudra_mukherjee@mentor.com Gaurav Kumar Verma Mentor Graphics Corporation gaurav-kumar_verma@mentor.com
More informationOpen Verification Methodology (OVM)
Open Verification Methodology (OVM) Built on the success of the Advanced Verification Methodology (AVM) from Mentor Graphics and the Universal Reuse Methodology (URM) from Cadence, the OVM brings the combined
More informationConnecting 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 informationBoost Verification Results by Bridging the Hardware/Software Testbench Gap
Boost Verification Results by Bridging the Hardware/Software Testbench Gap Matthew Ballance Mentor Graphics Corporation Design Verification Technology Division Wilsonville, Oregon matt_ballance@mentor.com
More informationUsing PLI 2.0 (VPI) with VCS Yes, it really works! (or does it?)
Using PI 2.0 (VPI) with VCS Yes, it really works! (or does it?) Stuart HD, Inc. Portland, Oregon stuart@sutherland-hdl.com Purpose 2 VCS version 6.1 claims to support PI 2.0 What is PI 2.0? What are the
More informationתכן חומרה בשפת VERILOG הפקולטה להנדסה
תכן חומרה בשפת VERILOG סמסטר ב' תשע"ג משה דורון מרצה: מתרגלים: אריאל בורג, חג'ג' חן הפקולטה להנדסה 1 Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types
More informationSystem Level Design with IBM PowerPC Models
September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing
More informationAppendix D Verilog PLI/VPI/DPI
Appendix D Verilog PLI/VPI/DPI This appendix describes the ModelSim implementation of the Verilog PLI (Programming Language Interface), VPI (Verilog Procedural Interface) and SystemVerilog DPI (Direct
More informationIntroduction 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 informationFPGA ADVANTAGE FOR HDL DESIGN
FPGA ADVANTAGE FOR HDL DESIGN A STREAMLINED S OLUTION FOR FPGA DESIGN The FPGA Advantage Design Solution gives you smooth data transition from one step of your design process to the next. All steps are
More informationRTL Coding General Concepts
RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable
More informationEvolution of UPF: Getting Better All the Time
Evolution of UPF: Getting Better All the Time by Erich Marschner, Product Manager, Questa Power Aware Simulation, Mentor Graphics Power management is a critical aspect of chip design today. This is especially
More informationMODELING 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 informationProgrammable 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 informationSystemVerilog Essentials Simulation & Synthesis
SystemVerilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using SystemVerilog standard
More informationSVA in a UVM Class-based Environment by Ben Cohen, author, consultant, and trainer
SVA in a UVM Class-based Environment by Ben Cohen, author, consultant, and trainer INTRODUCTION Verification can be defined as the check that the design meets the requirements. How can this be achieved?
More informationSunburst 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 informationThe Need for Speed: Understanding design factors that make multicore parallel simulations efficient
The Need for Speed: Understanding design factors that make multicore parallel simulations efficient Shobana Sudhakar Design & Verification Technology Mentor Graphics Wilsonville, OR shobana_sudhakar@mentor.com
More informationMentor 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 informationAn 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 informationSunburst 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 informationSystemVerilog 3.1: It s What The DAVEs In Your Company Asked For
February 24-26, 2003 SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For Stuart HDL, Inc. www.sutherland-hdl.com 2/27/2003 1 This presentation will Define what is SystemVerilog Provide an
More informationFormal Verification: Not Just for Control Paths
Formal Verification: Not Just for Control Paths by Rusty Stuber, Mentor, A Siemens Business Formal property verification is sometimes considered a niche methodology ideal for control path applications.
More informationCypress Adopts Questa Formal Apps to Create Pristine IP
Cypress Adopts Questa Formal Apps to Create Pristine IP DAVID CRUTCHFIELD, SENIOR PRINCIPLE CAD ENGINEER, CYPRESS SEMICONDUCTOR Because it is time consuming and difficult to exhaustively verify our IP
More informationINTROSPECTION INTO SYSTEMVERILOG WITHOUT TURNING IT INSIDE OUT. Dave Rich
INTROSPECTION INTO SYSTEMVERILOG WITHOUT TURNING IT INSIDE OUT. Dave Rich Mentor Graphics. 510-354-7439 46871 Bayside Parkway Fremont, CA 94538 dave_rich@mentor.com Abstract Many times design engineers
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationWorld 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 informationLogic Simulation. Prof. Chien-Nan Liu TEL: ext: Simulation
Logic Simulation Prof. ChienNan Liu TEL: 342275 ext:34457 Email: jimmy@ee.ncu.edu.tw 3 Simulation Simulation replace the prototype with a software model Simulate the circuit behavior before realization
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationSystem-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP
, pp.221-230 http://dx.doi.org/10.14257/ijca.2014.7.2.21 System-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP Young-Jin Oh and Gi-Yong Song * Department of Electronics
More informationReuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation
Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation by Tao Jia, HDL Verifier Development Lead, and Jack Erickson, HDL Product Marketing
More informationESL design with the Agility Compiler for SystemC
ESL design with the Agility Compiler for SystemC SystemC behavioral design & synthesis Steve Chappell & Chris Sullivan Celoxica ESL design portfolio Complete ESL design environment Streaming Video Processing
More informationHardware/Software Co-Verification Using the SystemVerilog DPI
Hardware/Software Co-Verification Using the SystemVerilog DPI Arthur Freitas Hyperstone GmbH Konstanz, Germany afreitas@hyperstone.com Abstract During the design and verification of the Hyperstone S5 flash
More informationACCELERATING DO-254 VERIFICATION
ACCELERATING DO-254 VERIFICATION ACCELERATING DO-254 VERIFICATION INTRODUCTION Automated electronic control systems or avionics allow lighter, more efficient aircraft to operate more effectively in the
More informationIncisive Enterprise Verifier
Integrated formal analysis and simulation engines for faster verification closure With dual power from integrated formal analysis and simulation engines, Cadence Incisive Enterprise Verifier allows designers,
More informationASIC world. Start Specification Design Verification Layout Validation Finish
AMS Verification Agenda ASIC world ASIC Industrial Facts Why Verification? Verification Overview Functional Verification Formal Verification Analog Verification Mixed-Signal Verification DFT Verification
More informationModular SystemVerilog
SystemVerilog (IEEE 1800 TM ) is a significant new language based on the widely used and industrystandard Verilog hardware description language. The SystemVerilog extensions enhance Verilog in a number
More informationDesign 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 informationFor a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were
CHAPTER-2 HARDWARE DESCRIPTION LANGUAGES 2.1 Overview of HDLs : For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were sequential
More informationChoosing 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 informationA 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 informationAppendix 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 informationUsing PLI 2.0 (VPI) with VCS (Yes, it really works!)
Using PLI 2.0 (VPI) with VCS (Yes, it really works!) Stuart Sutherland Sutherland HDL, Inc., Portland, Oregon stuart@sutherland-hdl.com ABSTRACT The Verilog PLI VPI library, often referred to as PLI 2.0,
More informationBulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design
Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State
More informationMixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS
Mixed Signal Verification of an FPGA-Embedded DDR3 SDRAM Memory Controller using ADMS Arch Zaliznyak 1, Malik Kabani 1, John Lam 1, Chong Lee 1, Jay Madiraju 2 1. Altera Corporation 2. Mentor Graphics
More informationUsing SystemC for Hardware Design Comparison of results with VHDL, Cossap and CoCentric
Comparison of results with VHDL, Cossap and CoCentric Mario Steinert, Steffen Buch, CPD AA, Infineon Technologies AG, David Slogsnat, University of Mannheim mario.steinert@infineon.com ABSTRACT This paper
More informationThree Steps to Unified SoC Design and Verification by Shabtay Matalon and Mark Peryer, Mentor Graphics
Three Steps to Unified SoC Design and Verification by Shabtay Matalon and Mark Peryer, Mentor Graphics Developing a SoC is a risky business in terms of getting it right considering the technical complexity
More informationZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers
THE FASTEST VERIFICATION ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers White Paper April, 2010 www.eve-team.com Introduction Moore s law continues to drive
More informationVerification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation
Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation Ashish Hari ashish_hari@mentor.com Suresh Krishnamurthy k_suresh@mentor.com Amit Jain amit_jain@mentor.com Yogesh
More informationOUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationCosimulation of ITRON-Based Embedded Software with SystemC
Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology
More informationRegister Transfer Level
Register Transfer Level Something between the logic level and the architecture level A convenient way to describe synchronous sequential systems State diagrams for pros Hierarchy of Designs The design
More information7.3 Case Study - FV of a traffic light controller
Formal Verification Using Assertions 247 7.3 Case Study - FV of a traffic light controller 7.3.1 Model This design represents a simple traffic light controller for a North-South and East-West intersection.
More informationFPGAs: 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 information101-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 informationECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis
ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)
More informationDesign 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 informationModeling 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 information2. Mentor Graphics ModelSim and QuestaSim Support
November 2012 QII53001-12.1.0 2. Mentor Graphics ModelSim and QuestaSim Support QII53001-12.1.0 This chapter provides specific guidelines for simulation of Quartus II designs with Mentor Graphics ModelSim-Altera,
More informationSystemC 1.3. Languages for Embedded Systems. Prof. Stephen A. Edwards Summer 2004 NCTU, Taiwan
SystemC 1.3 Languages for Embedded Systems Prof. Stephen A. Edwards Summer 2004 NCTU, Taiwan Designing Big Digital Systems Even Verilog or VHDL s behavioral modeling is not high-level enough People generally
More informationOSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder
OSCI Update Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder Chief Strategy Officer charter Ensure that OSCI strategy is created, coordinated, communicated & executed Identify OSCI technical
More informationNEW 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 informationSystemVerilog 3.1 It s What The DAVEs In Your Company Asked For ABSTRACT
SystemVerilog 3.1 It s What The DAVEs In Your Company Asked For Stuart Sutherland, Sutherland HDL, Inc., Portland, Oregon ABSTRACT DAVE. It's short for all the Design And Verification Engineers at you
More informationRIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)
RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8) HDL-BASED SYNTHESIS Modern ASIC design use HDL together with synthesis tool to create
More informationModeling and Verifying Mixed-Signal Designs with MATLAB and Simulink
Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink Arun Mulpur, Ph.D., MBA Industry Group Manager Communications, Electronics, Semiconductors, Software, Internet Energy Production, Medical
More informationDate Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits
Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts
More informationUnifying Design and Verification
Unifying Design and Verification SystemVerilog Overview Agenda SystemVerilog Introduction Synopsys SystemVerilog Solution SystemVerilog Features and Successful Stories 2006 Synopsys, Inc. (2) Agenda SystemVerilog
More informationMEMORY TEST AND REPAIR SOLUTION FOR ARM PROCESSOR CORES STEVE PATERAS JANUARY 2011
MEMORY TEST AND REPAIR SOLUTION FOR ARM PROCESSOR CORES STEVE PATERAS JANUARY 2011 S I L I C O N T E S T A N D Y I E L D A N A L Y S I S W H I T E P A P E R w w w. m e n t o r. c o m Many large systems-on-chip
More informationEEL 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 informationLecture 32: SystemVerilog
Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:
More informationPA GLS: The Power Aware Gate-level Simulation
PA GLS: The Power Aware Gate-level Simulation by Progyna Khondkar Mentor, A Siemens Business In post-synthesis, gate-level netlist (GL-netlist), power aware (PA) simulation, the fundamental focus is to
More informationComprehensive AMS Verification using Octave, Real Number Modelling and UVM
Comprehensive AMS Verification using Octave, Real Number Modelling and UVM John McGrath, Xilinx, Cork, Ireland (john.mcgrath@xilinx.com) Patrick Lynch, Xilinx, Dublin, Ireland (patrick.lynch@xilinx.com)
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationMixed Signal Verification Transistor to SoC
Mixed Signal Verification Transistor to SoC Martin Vlach Chief Technologist AMS July 2014 Agenda AMS Verification Landscape Verification vs. Design Issues in AMS Verification Modeling Summary 2 AMS VERIFICATION
More informationEEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools
EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction
More informationDesign Creation & Synthesis Division Avoid FPGA Project Delays by Adopting Advanced Design Methodologies
Design Creation & Synthesis Division Avoid FPGA Project Delays by Adopting Advanced Design Methodologies Alex Vals, Technical Marketing Engineer Mentor Graphics Corporation June 2008 Introduction Over
More informationTKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008
TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL
More informationECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7
More informationEasy Steps Towards Virtual Prototyping using the SystemVerilog DPI
Easy Steps Towards Virtual Prototyping using the SystemVerilog DPI Dave Rich Mentor Graphics, Inc. Fremont, CA dave_rich@mentor.com Abstract The hardware and software worlds have been drifting apart ever
More informationExtending SystemVerilog Data Types to Nets
Extending SystemVerilog Data Types to Nets SystemVerilog extended Verilog by adding powerful new data types and operators that can be used to declare and manipulate parameters and variables. Extensions
More informationProgramming with HDLs
Programming with HDLs Paul Chow February 11, 2008 1 Introduction The purpose of this document is to encourage the proper approach or mindset for programming in a hardware description language (HDL), particularly
More informationSimulation-Based FlexRay TM Conformance Testing an OVM success story
Simulation-Based FlexRay TM Conformance Testing an OVM success story Mark Litterick, Co-founder & Verification Consultant, Verilab Abstract This article presents a case study on how the Open Verification
More informationAccelerating FPGA/ASIC Design and Verification
Accelerating FPGA/ASIC Design and Verification Tabrez Khan Senior Application Engineer Vidya Viswanathan Application Engineer 2015 The MathWorks, Inc. 1 Agenda Challeges with Traditional Implementation
More informationOptimize DSP Designs and Code using Fixed-Point Designer
Optimize DSP Designs and Code using Fixed-Point Designer MathWorks Korea 이웅재부장 Senior Application Engineer 2013 The MathWorks, Inc. 1 Agenda Fixed-point concepts Introducing Fixed-Point Designer Overview
More informationLab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)
Nate Pihlstrom, npihlstr@uccs.edu Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Objective The objective of this lab assignment is to introduce and use a methodology for designing
More informationLecture 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 informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationAlgorithmic C synthesis (High-level synthesis)
Algorithmic C synthesis (High-level synthesis) Reminder System level design The complexity of digital systems grows exponentially because of technological improvements, and user demands. The design entries
More informationBibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.
Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationThe Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science
The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven
More informationSystemC Implementation of VLSI Embedded Systems for MEMS. Application
Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June
More informationComprehensive CDC Verification with Advanced Hierarchical Data Models
Comprehensive CDC Verification with Advanced Hierarchical Data Models by Anwesha Choudhury, Ashish Hari, Aditya Vij, and Ping Yeung Mentor, A Siemens Business The size and complexity of designs, and the
More informationDESIGNING MULTI-FPGA PROTOTYPES THAT ACT LIKE ASICS
Design Creation & Synthesis White Paper DESIGNING MULTI-FPGA PROTOTYPES THAT ACT LIKE ASICS May 2009 ABSTRACT FPGA prototyping has become indispensable for functional verification and early software integration
More informationJump-Start Software-Driven Hardware Verification with a Verification Framework
Jump-Start Software-Driven Hardware Verification with a Verification Framework Matthew Ballance Mentor Graphics 8005 SW Boeckman Rd Wilsonville, OR 97070 Abstract- Software-driven hardware verification
More informationUVM hardware assisted acceleration with FPGA co-emulation
UVM hardware assisted acceleration with FPGA co-emulation Alex Grove, Aldec Inc. Accellera Systems Initiative 1 Tutorial Objectives Discuss use of FPGAs for functional verification, and explain how to
More informationModeling Asynchronous Communication at Different Levels of Abstraction Using SystemC
Modeling Asynchronous Communication at Different Levels of Abstraction Using SystemC Shankar Mahadevan Inst. for Informatics and Mathematical Modeling Tech. Univ. of Denmark (DTU) Lyngby, Denmark sm@imm.dtu.dk
More informationSpecC Methodology for High-Level Modeling
EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy
More information