EasyChair Preprint. Getting started on Co-Emulation: Why and How to Transition your Design and UVM Testbench to an Emulator
|
|
- Angela Collins
- 5 years ago
- Views:
Transcription
1 EasyChair Preprint 614 Getting started on Co-Emulation: Why and How to Transition your Design and UVM Testbench to an Emulator Jigar Savla EasyChair preprints are intended for rapid dissemination of research results and are integrated with the rest of EasyChair. November 9, 2018
2 Getting started on Co-Emulation: Why and How to Transition your Design and UVM Testbench to an Emulator Jigar Savla Juniper Networks Sunnyvale, CA, USA ABSTRACT As we move to more complex and intricate designs, time spent in testing is ever crucial. With several avenues to test our design, we have to pick and choose best ways to optimize the overall time spent on testing. In our endeavor to move some test benches and designs to Emulation, we learnt several things that could be optimized from TestBench (TB) setup, Design changes to even SVA changes to achieve better simulation performance. We also identified the kinds of tests and the nature of test benches to run on Emulation that would give the most ROI. In this paper, we start with an overview and then boil down to some code samples. Then we ll dig into things to be mindful of, in making effective use of the emulator platform.
3 Table of Contents 1. Introduction Short walkthrough of the paper Why Emulation? Goal: TB Speedup Goal: Software / Driver Bringup Tests which are great candidates to be run on an Emulator Architecture Architecture: Timed and Untimed sections and DPI-C SCE-MI2 modes of communication Porting and Optimizations Design Porting and optimizations TestBench Porting and Optimizations Key principle How Vif++ uses SCE-MI2 modes of communication underneath Virtual Interface Typical Driver Typical Monitor Typical Sequence Summary of Coding Guidelines Miscellaneous things seen in TB / Design Mimicing atomic multiple register reads in passive mode: Block or system configuration: Planning Timeline Results Conclusions Acknowledgements References Table of Figures Figure 1: Reaching the TB speedup promise land... 5 Figure 2: SCE-MI2 Modes of communication... 7 Figure 3: Example code for synopsys translate on off... 8 Page 2
4 Figure 4: Virtual Interface++ code example Figure 5: Driver code example Figure 6: Monitor example Figure 7: Timeline Table of Tables Table 1 : Software / Driver Silicon Bringup options... 5 Page 3
5 1. Introduction As we move to more complex and intricate SoC designs, test time is ever crucial. With several avenues to test our design, we have to pick and choose the best ways to optimize the testing and time spent. Emulation stands out as a way to improve your testing time, though the porting process is not seamless. 1.1 Short walkthrough of the paper In this paper, we start with an overview, the reasons why emulation is awesome. Understand the architecture. Understand the industry standards in this frontier. Then boil down to some code samples, then things to look out for and finally how to plan effectively. We ll also cover guidelines to help make your process smooth and rewarding. We ll come up with an improved Virtual Interface (Vif++) to help us in our porting process. As we know, a virtual interface(vif) is a shared piece of code between components in an interface. For purposes of this document, the term Emulator is used interchangeably with any simulator capable of executing RTL or gate-level models, including software HDL simulators. Highest speedup will be for hardware based ones and that ll be our focus for this document. 2. Why Emulation? To verify complex designs we now have several tools at our disposal such as Simulators, Emulators, SVAs, functional coverage and Formal verification. All of them target different aspects to bring us closer to the ultimate goal of getting bug-free design as fast as possible. With proper planning and effort, Emulators can help speed up runtimes in the order of 5x-1000x or more compared to CPU based RTL simulation (Level 1 performance in Fig1). 2.1 Goal: TB Speedup Page 4
6 Figure 1: Reaching the TB speedup promise land In Figure 1, we show the time consumed by TB and RTL at various performance levels and how it compares to the ideal goal the industry is aiming for. This paper discusses optimizations to get closer to the ideal goal. 2.2 Goal: Software / Driver Bringup An essential part of improving overall product development time is an improved bringup environment for Software prior to actual chip delivery in the lab. Software bringup is anything which needs as close to silicon functionality for developing or testing driver, software and systems. With Software bringup / driver development, the options available for target design: OPTIONS PROS CONS CYCLE ACCURATE SIMULATOR SIMPLIFIED / ABSTRACT MODEL No need to maintain a special code base Very fast and can be customized to consumer s (SW / Drv) tastes Level 1 performance, relatively slow. Overkill sometimes. Need to maintain a separate a code base EMULATOR Fast, no separate code base Some maintenance needed, but lower than the other options. Table 1 : Software / Driver Silicon Bringup options Page 5
7 2.3 Tests which are great candidates to be run on an Emulator We found that performance, long running tests which have already undergone significant cleanup (high level of testing and running clean for some time) in simulation are great candidates. Performance tests: Tests that may need to be run for long periods of time to get an accurate measure of performance. Long running tests: Tests which do resource or memory exhaustion, aging (any element in the design which has a timeliness property to it), system reconfiguration tests, hot banking, recycling used objects. Reproduced wedges : Wedges are tests where several things have to happen together and can take some time to reach a triggering state. These kind of scenarios are typically hard to hit or find at level 1 performance (ref Figure 1: Reaching the TB speedup promise land). Host interface connectivity checked very quickly by being able to quickly run a test that touches every register in the design. Infrastructure check test (with IOs) Tests which check for connectivity within blocks or SoCs, ring test, etc. You can get any custom IOs integrated. Encrypted Verilog is not easily handled, so you might have to create fake behavioral model to replace it. Remember that in emulators, you generally have support for only two state values. Tests which depend on X and Z values, are better checked using X-prop and Formal solutions. 3. Architecture To ensure consistency across generations and vendors it s best to follow industry standards. For Design and Verification language, we have SystemVerilog[2]. For DV libraries we have UVM. Fortunately, in Emulation too there s an interface working group: Accellera s SCE-MI2 [1]. Leading Emulation vendors support the SCE-MI2 transactor approach. Before we dig into the SCE-MI2 standard, lets understand the architecture. 3.1 Architecture: Timed and Untimed sections and DPI-C We call the untimed sections as HVL (Hardware Verification Language) domain and the timed sections as HDL (Hardware Description Language) domain. In this section time implies, simulation time: which advances RTL simulation. Most UVM Testbench code sits in the untimed domain. We can think of Testbenches as executing in zero simulation time. Drivers and monitors are the primary exception as they drive data with respect to clock edges. Designs are obviously timed or clock edge aware. There is even untimed code which sits in modern designs: Concurrent SVAs[8]a and some Functional Coverage. DPI: As defined in the manual [2]: DPI (Direct Programming Interface) is an interface between SystemVerilog and a foreign programming language. It consists of two separate layers: the SystemVerilog layer and a foreign language layer. Both sides of DPI are fully isolated. Which programming language is actually used as the foreign language is transparent and irrelevant for the SystemVerilog side of this interface. DPI communication is one of the central ideas used to separately execute, yet synchronize the timed (HDL) and the untimed (HVL) domain. Page 6
8 3.2 SCE-MI2 modes of communication There are three primary modes of SCE-MI2 communication, for more details refer [1] 1. Function based Functions (leveraging DPI C) providing mid level abstraction. 2. Macro based Message passing interface intended to be used in several use cases and by different groups of users. 3. Pipe based - A transaction pipe is a construct that is accessed via function calls that provides a means for streaming transactions to and from the HDL side Function based is the easiest to implement. Figure 2: SCE-MI2 Modes of communication One Source of slowdown may be the communication between timed (HDL) domain and the untimed (HVL) domain. 4. Porting and Optimizations As long as we ensure the HVL and HDL side transactors are SCE-MI2 compatible, we have won most of the battle. Of course, that s easier said than done, so let s see what it takes. Emulation gets it s major speedup from the fact that it s running on FPGAs, and other such accelerators mapped to hardware. Therefore, we need to have synthesizable code. Page 7
9 Constructs like : class, constraint, intersect, throughout, solve, super, within, tagged unions, rand, randc, extern are not synthesizable. This list is nonexhaustive and is only used as a representation. 4.1 Design Porting and optimizations Design is built for synthesis, making it easier to port. But when you start looking at the overall picture, there might be changes needed or you might have to cut down on parts of the chip. Eg: Multiple clock domains. Analog logic such as Serdes or PLL s must be replaced with simple digital models. Since the advent of SVAs and Functional coverage (FCov), we ve had code added to Design which is typically not synthesizable. This kind of code would generally be guarded by Synopsys pragmas to avoid compilation errors during synthesis as it s non-synthesizable. There exist syntheziable variants, but that adds mental overhead when writing these SVAs. SVA and FCov: Emulation vendors have started offering specialized hardware to take care of a subset of SVA and FCov constructs. Refer to their reference material to see if all of the constructs used in your design are supported. We can then port nearly the whole RTL code unmodified. You can always choose to not let this code run on your emulator but then you ll lose out on the test and coverage checking which these functions give. Eg: Figure 3: Example code for synopsys translate on off Guideline: If possible, write SVAs with Synthesis in mind. Emulation vendors also respect the synopsys pragmas, so you ll have to find creative ways to include SVAs and FCovs in Emulation compiles but not in design synthesis. Eg: Page 8
10 1. If writing an else statement, can t use $plusargs but have to tie it to a pin which can toggle. 2. Avoid concurrent statements in SVAs[8]a or guard them with another pragma. 3. Instead of doing inline or end of file additions, create a separate file with your SVAs and FCovs, So that you can create file-lists during compilation. 4. Analyze your SVAs and FCovs for vacuous passes. In our experience, we ve seen significant slowdown happen due to very loose trigger mechanisms and antecedent code (like triggering at every posedge clk, even though valid condition is seen rarely). 5. To reduce state space issues while dealing with SVAs and FCov, code up some small combo logic (RTL) to set the trigger and counting bits, instead of having it all sit in the property itself. This has helped speed up our runtimes. 4.2 TestBench Porting and Optimizations Clearly this is the section where most time is going to be spent during the porting process. Key things to remember: 1. Keep the HVL and HDL sections separate. Ref: Figure 2: SCE-MI2 Modes of communication 2. Keep the HVL sections untimed. Most UVM code is naturally untimed. Use events wherever time is needed. We do this to avoid needing clocks in HVL untimed domain. (eg: Incorrect Driver code: Will have ##s instead 3. HDL sections to not have any non-synthesizable code. 4. Communications to happen through the standard interface protocols of SCE-MI2, Ref: Figure 2: SCE-MI2 Modes of communication, To keep, HVL and HDL sections separate there are several approaches. Quite a few of them, would involve breaking the Monitor or Driver down into two separate components which can communicate with each other Key principle We take the approach of making small changes in the monitor and driver to make them feel nearly the same. Through this, we ll have less code to maintain. As we know, a virtual interface(vif) is a shared piece of code between components in an interface. Naturally, we can have the HDL aware code sit in a Vif. We ll have the monitor and driver access functions and tasks as defined in the Vif to toggle or read the actual DUT pins. You can think of these calls to code within the Vif as DPI-C calls: Define a call in one language, call it from the other [1]. It s also a System-verilog standard [2] How Vif++ uses SCE-MI2 modes of communication underneath Lets look at some code samples for the function approach described in Section 3 of this paper. You can consider the function / task call as the transaction and the function / task itself as the transactor. [1] We ll start with the interface improvements and then how the modified driver and monitor would look: Virtual Interface++ As we see in Figure 3, we ve added several tasks which are clock aware as well as deal with the actual toggling of the RTL signals. Page 9
11 4.2.4 Typical Driver Figure 4: Virtual Interface++ code example We ll now call the driver related tasks as we defined in the Vif from the driver. Page 10
12 4.2.5 Typical Monitor Figure 5: Driver code example We ll now call the monitor related tasks as we defined in the Vif from the monitor. Page 11
13 Figure 6: Monitor example Typical Sequence Generally, simple sequences are not clock aware. But for complex sequences, based on your coding style, there may be clock edges you need to wait for. For that, we d recommend creating a Vif handle in your sequencer. A sequencer too, normally wouldn t need a Vif, but for the purposes of providing task handles to the sequence, we ll need to add a Vif here. From the sequence then, it becomes a simple call to p_sequencer.vif.wait_one_seq_clk()whenever you need to consume time. Additionally, as you progress in your emulation effort, you ll see that the interfaces from the HVL domain to HDL domain are not getting utilized as highly. You d want to look into creating aggregate transactions, which are just several transactions bundled and sent over to the HDL domain. Then the HDL domain driver will handle the new bundled transaction. 5. Summary of Coding Guidelines 1. Write SVAs with synthesis in mind. If writing an else statement, can t use $plusargs but have to tie it to a pin which can toggle. 2. Avoid concurrent statements in SVAs[8]a or guard them with another pragma. 3. Instead of doing inline or end of file additions, create a separate file with your SVAs and FCovs, Page 12
14 So that you can create file-lists during compilation. 4. Analyze your SVAs and FCovs for vacuous passes. In our experience, we ve seen significant slowdown happen due to very loose trigger mechanisms and antecedent code (like triggering at every posedge clk, even though valid condition is seen rarely). 5. To reduce state space issues while dealing with SVAs and FCov, code up some small combo logic (RTL) to set the trigger and counting bits, instead of having it all sit in the property itself. This has helped speed up our runtimes. 6. Don t use ##1 anywhere. Clocking blocks exist for a reason. For the rest, use events. 7. Don t peek / poke into the RTL. Have the Design expose it as a register. Each time a value is sampled, it causes latency, slowing down the overall emulation. Adv: You ll be less sensitive to pipeline / hierarchy changes. Even Software / Driver folks can use it for debug just like DV folks during simulations. 8. In config_db, every time you have a set or a get with * as your context or Instance name, you are forcing a search through the whole object tree. With an SoC like environment, can be very expensive. Try to contstrain the search space. Great thing about TB coding guidelines is that, these guidelines are also highly recommended to get most performance out of even regular simulators. As Amdahl s law states, a system s performance can t be improved beyond it s slowest link. In these co-emulation [1] environments, Testbench communication tends to be the slowest link. You ll essentially get double the benefit by improving your coding style: Regular simulations would speed up as well as less work when porting to Emulation environements. 6. Miscellaneous things seen in TB / Design DPI is deprecated. Use DPI-C instead. There maybe code changes needed in your DPI call [2] 6.1 Mimicing atomic multiple register reads in passive mode: Unlike simulation where we can do a backdoor read to gather the state of a register set, in an emulation environment multiple registers in a set cannot be read at the same time. We ll have to serialize the reads just like on the real hardware. By serializing we ll be accessing individual registers within the set at different times. A single register read via the host interface based on a ring topology can consume several (order of 10^4) clocks. This is significant time lapse causing state in the design to change considerably, breaking the intent of time grouping. Our approach: Create a small synthesizable design to go along with your actual design. This new design module will be setup such that, only one write to a register within this new design causes the design itself to grab all relevant fields and store them in it s own memory. The emulator can then read out all of this data at a later time, while still mainintaining relative atomicity. Caveat emptor: This does not work if the test bench needs to react to a register value or needs to check register content on that cycle so this may require a change in verification strategy. 6.2 Block or system configuration: We use a similar approach of having a design do our work faster. In this case, you can use the spare Page 13
15 registers in your design to store the configuration state and then a new logic can read and program all of them in the order you desire. 7. Planning 7.1 Timeline Early engagement with any new platform or tool is always beneficial. Based on our experiences, and balancing time and effort with needs, we found that this worked for us. Page 14
16 Figure 7: Timeline Page 15
17 8. Results Our networking chips don t have widely used benchmarks like SPEC for CPUs, ResNet inference for ML, DL ASICs. What we do have our throughput benchmarks. Across the board, we saw 2-3x improvement in run times. Our best improvement was on the order of 100x for a full fledged UVM TB. Clearly, we have more room to improve. For a rather barebones UVM TB, we saw even higher improvement in run times. Section 2.3 covers our current top tests we like to run on the emulator. 9. Conclusions Good coding guidelines coupled with some planning right at the beginning can yield astounding results. Although, early functional or brinup tests have limited ROI, performance and long running tests have substantial savings on time. The level and ability to peek into the RTL during simulations will vary with emulation systems, with some providing the same view, while others require planning for the parts of your design you wish to inspect. However, the raw throughput increase should more than compensate for the extra effort. 10. Acknowledgements The author would like to thank his colleagues : David Skinner, Pradeep Joginipally, Rajesh Nair for their valuable inputs and help in reviewing the manuscript. Mike Bartley contributed as part of technical committee at SNUG in reviewing and offering prudent suggestions. The author would love to hear from readers with comments and feedback at emu@jigarsavla.com 11. References Standard Co-Emulation Modeling Interface (SCE-MI) Reference Manual, ver. 2.4, Accellera Interfaces Technical Committee, November, IEEE 1800 SystemVerilog: Understanding the Accellera SCE-MI Transaction Pipes Stickley et al - IEEE Design & Test 2012 IEEE Ethernet Standard: OSCI TLM-2.0 Standard: Yikes! Why is My SystemVerilog Testbench So Slooooow? - Kampf et al DVCon 2012 Are OVM & UVM Macros Evil? A Cost-Benefit Analysis - Erickson, Adam - DVCon 2011 Concurrent SVA example: a. Concur_sva_example : assert property (vld => ack); Wedges are tests where several things have to happen together and can take some time to reach a triggering state. These kind of scenarios are typically hard to hit or find at level 1 performance (ref Figure 1: Reaching the TB speedup promise land). Page 16
The 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 informationAn approach to accelerate UVM based verification environment
An approach to accelerate UVM based verification environment Sachish Dhar DWIVEDI/Ravi Prakash GUPTA Hardware Emulation and Verification Solutions ST Microelectronics Pvt Ltd Outline Challenges in SoC
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
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 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 informationPost processing techniques to accelerate assertion development Ajay Sharma
Post processing techniques to accelerate assertion development Ajay Sharma 2014 Synopsys, Inc. All rights reserved. 1 Agenda Introduction to Assertions Traditional flow for using ABV in Simulations/Emulation/Prototyping
More informationOptimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics
Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic
More informationTransaction-Based Acceleration Strong Ammunition In Any Verification Arsenal
Transaction-Based Acceleration Strong Ammunition In Any Verification Arsenal Chandrasekhar Poorna Principal Engineer Broadcom Corp San Jose, CA USA Varun Gupta Sr. Field Applications Engineer Cadence Design
More informationDVCon India 2016 Abstract submission template. Taking UVM to wider user base the open-source way Name: Nagasundaram Thillaivasagam
DVCon India 2016 Abstract submission template TITLE OF PAPER AUTHOR 1 AUTHOR 2 AUTHOR 3 AUTHOR 4 Taking UVM to wider user base the open-source way Name: Nagasundaram Thillaivasagam Email ID: naga@cvcblr.com
More informationLeveraging Formal Verification Throughout the Entire Design Cycle
Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification
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 informationValidation Strategies with pre-silicon platforms
Validation Strategies with pre-silicon platforms Shantanu Ganguly Synopsys Inc April 10 2014 2014 Synopsys. All rights reserved. 1 Agenda Market Trends Emulation HW Considerations Emulation Scenarios Debug
More informationFigure 5. HDL BFM interface with HVL proxy class
A Methodology for Hardware-Assisted Acceleration of OVM and UVM Testbenches by Hans van der Schoot, Anoop Saha, Ankit Garg, Krishnamurthy Suresh, Emulation Division, Mentor Graphics Corporation [Editor
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 informationTest and Verification Solutions. ARM Based SOC Design and Verification
Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion
More informationAccelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd.
Accelerating RTL Simulation Techniques by Lior Grinzaig, Verification Engineer, Marvell Semiconductor Ltd. Long simulation run times are a bottleneck in the verification process. A lengthy delay between
More informationThe Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System
The Veloce Emulator and its Use for Verification and System Integration of Complex Multi-node SOC Computing System Laurent VUILLEMIN Platform Compile Software Manager Emulation Division Agenda What is
More informationECE Digital Engineering Laboratory. Designing for Synthesis
ECE 554 - Digital Engineering Laboratory Designing for Synthesis Below is a list of coding styles that might cause synthesis problems and/or inefficient design implementation. This is not an exhaustive
More informationDefinitions. Key Objectives
CHAPTER 2 Definitions Key Objectives & Types of models & & Black box versus white box Definition of a test Functional verification requires that several elements are in place. It relies on the ability
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 information100M Gate Designs in FPGAs
100M Gate Designs in FPGAs Fact or Fiction? NMI FPGA Network 11 th October 2016 Jonathan Meadowcroft, Cadence Design Systems Why in the world, would I do that? ASIC replacement? Probably not! Cost prohibitive
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 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 informationPG DIPLOMA COURSE IN VERIFICATION USING SYSTEMVERILOG & UVM NEOSCHIP TECHNOLOGIES
PG DIPLOMA COURSE IN VERIFICATION USING SYSTEMVERILOG & UVM An Initiative by Industry Experts With Qualification from IITs and IISCs Address: NEOSCHIP TECHNOLOGIES 3rd Floor, Sai Durga Enclave, 1099/833-1,
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 informationAdvanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor
шт Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor Preface xv 1 Introduction to Metric-Driven Verification 1 1.1 Introduction 1 1.2 Failing
More informationAn Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes
An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes FPGA designs are becoming too large to verify by visually checking waveforms, as the functionality
More informationSystemC 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 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 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 informationShortest path to the lab. Real-world verification. Probes provide observability
OVM/UVM for FPGAs: The End of Burn and Churn FPGA Verification by In-Circuit Test Burn and churn based on at-speed test with real input 2 Shortest path to the lab Nominal simulation of RTL blocks Relatively
More informationCREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION
CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION Joseph Richards SGI, High Performance Systems Development Mountain View, CA richards@sgi.com Abstract The challenges involved in
More informationFP&A Simulation. A Complete Step-by-Step Guide. Ray Salemi
FP&A Simulation A Complete Step-by-Step Guide Ray Salemi Contents Acknowledgments vii Foreword ix Preface xi The Boiled Frog 1 A Boiled Story 3 Root Cause Analysis 4 The "Verification Complete" Milestone
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 informationHardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series
Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap
More informationModel-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany
Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation
More informationIntegrate Ethernet QVIP in a Few Hours: an A-to-Z Guide by Prashant Dixit, Questa VIP Product Team, Mentor Graphics
Integrate Ethernet QVIP in a Few Hours: an A-to-Z Guide by Prashant Dixit, Questa VIP Product Team, Mentor Graphics ABSTRACT Functional verification is critical in the development of today s complex digital
More informationADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts
1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to
More informationHigh Speed Multi-User ASIC/SoC Prototyping system
High Speed Multi-User ASIC/SoC Prototyping system Technical Resource Document Date: August 23, 2010 About GiDEL GiDEL has become one of the market leaders as a company that continuously provides cuttingedge
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 informationDigital Design and Computer Architecture
Digital Design and Computer Architecture Introduction Lab 4: Thunderbird Turn Signal In this lab, you will design a finite state machine in SystemVerilog to control the taillights of a 1965 Ford Thunderbird
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 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 informationEarly 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 informationFlexRIO. FPGAs Bringing Custom Functionality to Instruments. Ravichandran Raghavan Technical Marketing Engineer. ni.com
FlexRIO FPGAs Bringing Custom Functionality to Instruments Ravichandran Raghavan Technical Marketing Engineer Electrical Test Today Acquire, Transfer, Post-Process Paradigm Fixed- Functionality Triggers
More informationVerification of Power Management Protocols through Abstract Functional Modeling
Verification of Power Management Protocols through Abstract Functional Modeling G. Kamhi, T. Levy, Niranjan M, M. Mhameed, H. Rawlani, R. B. Rajput, E. Singerman, V. Vedula, Y. Zbar Motivation Microprocessor
More informationUsing Mentor Questa for Pre-silicon Validation of IEEE based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation
Using Mentor Questa for Pre-silicon Validation of IEEE 1149.1-2013 based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation INTRODUCTION IEEE 1149.1-2013 is not your father s JTAG.
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 informationWill Everything Start To Look Like An SoC?
Will Everything Start To Look Like An SoC? Janick Bergeron, Synopsys Verification Futures Conference 2012 France, Germany, UK November 2012 Synopsys 2012 1 SystemVerilog Inherits the Earth e erm SV urm
More informationUniversal Verification Methodology(UVM)
Universal Verification Methodology(UVM) A Powerful Methodology for Functional Verification of Digital Hardware Abstract - With the increasing adoption of UVM, there is a growing demand for guidelines and
More informationSystemVerilog 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 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 informationCS 250 VLSI Design Lecture 11 Design Verification
CS 250 VLSI Design Lecture 11 Design Verification 2012-9-27 John Wawrzynek Jonathan Bachrach Krste Asanović John Lazzaro TA: Rimas Avizienis www-inst.eecs.berkeley.edu/~cs250/ IBM Power 4 174 Million Transistors
More informationEECS 4340: Computer Hardware Design Unit 4: Validation
EECS 4340: Unit 4: Validation Prof. Simha Sethumadhavan Reference Book: System Verilog for Verification Agenda Last Unit Design abstractions Basic primitives This Unit Validation Forthcoming Design Tips
More informationSDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center
SDAccel Environment The Xilinx SDAccel Development Environment Bringing The Best Performance/Watt to the Data Center Introduction Data center operators constantly seek more server performance. Currently
More informationTough Bugs Vs Smart Tools - L2/L3 Cache Verification using System Verilog, UVM and Verdi Transaction Debugging
2016 17th International Workshop on Microprocessor and SOC Test and Verification Tough Bugs Vs Smart Tools - L2/L3 Cache Verification using System Verilog, UVM and Verdi Transaction Debugging Vibarajan
More informationArchitecture and Partitioning - Architecture
Architecture and Partitioning - Architecture Architecture Management, Marketing and Senior Project Engineers work together to define product requirements. The product requirements will set cost, size and
More informationVeloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics
Veloce2 the Enterprise Verification Platform Simon Chen Emulation Business Development Director Mentor Graphics Agenda Emulation Use Modes Veloce Overview ARM case study Conclusion 2 Veloce Emulation Use
More informationThe 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 informationWill Everything Start To Look Like An SoC?
Will Everything Start To Look Like An SoC? Vikas Gautam, Synopsys Verification Futures Conference 2013 Bangalore, India March 2013 Synopsys 2012 1 SystemVerilog Inherits the Earth e erm SV urm AVM 1.0/2.0/3.0
More informationLab 4: Audio Pipeline on the FPGA
Lab 4: Audio Pipeline on the FPGA 6.375 Laboratory 4 Assigned: March 1, 2013 Due: March 8, 2013 1 Introduction In this lab we will run the audio pipeline constructed in the previous labs on an FPGA. We
More informationHardware Design and Simulation for Verification
Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture
More informationSPECMAN-E TESTBENCH. Al. GROSU 1 M. CARP 2
Bulletin of the Transilvania University of Braşov Vol. 11 (60) No. 1-2018 Series I: Engineering Sciences SPECMAN-E TESTBENCH Al. GROSU 1 M. CARP 2 Abstract: The scope of this document is to present a Verification
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 informationQualification of Verification Environments Using Formal Techniques
Qualification of Verification Environments Using Formal Techniques Raik Brinkmann DVClub on Verification Qualification April 28 2014 www.onespin-solutions.com Copyright OneSpin Solutions 2014 Copyright
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 informationEmploying Multi-FPGA Debug Techniques
Employing Multi-FPGA Debug Techniques White Paper Traditional FPGA Debugging Methods Debugging in FPGAs has been difficult since day one. Unlike simulation where designers can see any signal at any time,
More informationE85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design
E85: Digital Design and Computer Engineering Lab 2: FPGA Tools and Combinatorial Logic Design Objective The purpose of this lab is to learn to use Field Programmable Gate Array (FPGA) tools to simulate
More informationMaking it Easy to Deploy the UVM by Dr. Christoph Sühnel, frobas GmbH
Making it Easy to Deploy the UVM by Dr. Christoph Sühnel, frobas GmbH Abstract The Universal Verification Methodology (UVM) is becoming the dominant approach for the verification of large digital designs.
More informationINDUSTRIAL TRAINING: 6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD
6 Month Industrial Internship in VLSI Design & Verification" with Industry Level Projects. CURRICULUM Key features of VLSI-Design + Verification Module: ASIC & FPGA design Methodology Training and Internship
More informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
More informationYafit Snir Arindam Guha Cadence Design Systems, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces
Yafit Snir Arindam Guha, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces Agenda Overview: MIPI Verification approaches and challenges Acceleration methodology overview and
More informationAdvanced 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 informationNavigating the RTL to System Continuum
Navigating the RTL to System Continuum Calypto Design Systems, Inc. www.calypto.com Copyright 2005 Calypto Design Systems, Inc. - 1 - The rapidly evolving semiconductor industry has always relied on innovation
More informationParallelism. CS6787 Lecture 8 Fall 2017
Parallelism CS6787 Lecture 8 Fall 2017 So far We ve been talking about algorithms We ve been talking about ways to optimize their parameters But we haven t talked about the underlying hardware How does
More informationDO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense
DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense As the complexity of electronics for airborne applications continues to rise, an increasing number of applications
More informationAssertive Verification: A Ten-Minute Primer
Assertive Verification: A Ten-Minute Primer As published on 8/16/02 in EEDesign.com And Written by Saeed Coates, Paradigm Works, Inc. www.paradigm-works.com Table of Contents 1.1 Introduction: The Verification
More informationLow Power Emulation for Power Intensive Designs
Low Power Emulation for Power Intensive Designs Harpreet Kaur Mohit Jain Piyush Kumar Gupta Jitendra Aggarwal Accellera Systems Initiative 1 Agenda Introduction Power Verification - Simulation Power Verification
More informationAssertions Instead of FSMs/logic for Scoreboarding and Verification by Ben Cohen, Accellera Systems Initiative, VhdlCohen Publishing
Assertions Instead of FSMs/logic for Scoreboarding and Verification by Ben Cohen, Accellera Systems Initiative, VhdlCohen Publishing Monitors, scoreboards, and verification logic are typically implemented
More informationFormal Technology in the Post Silicon lab
Formal Technology in the Post Silicon lab Real-Life Application Examples Haifa Verification Conference Jamil R. Mazzawi Lawrence Loh Jasper Design Automation Focus of This Presentation Finding bugs in
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 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 informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
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 informationDesign 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 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 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 informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationCustom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog
DATASHEET Custom Design Formal Equivalence Checking Based on Symbolic Simulation High-quality equivalence checking for full-custom designs Overview is an equivalence checker for full custom designs. It
More informationUVM: The Next Generation in Verification Methodology
UVM: The Next Generation in Verification Methodology Mark Glasser, Methodology Architect February 4, 2011 UVM is a new verification methodology that was developed by the verification community for the
More informationCourse Profile SystemVerilog Design
Course Profile SystemVerilog Design I. CONTENTS 1. SystemVerilog for Design (SVD)... 3 2. Class Details:... 3 3. Trainers Profiles... 3 a. Srinivasan Venkataramanan, cto... 3 b. Ajeetha Kumari, ceo AND
More informationLorenz Kolb, Missing Link Electronics
Lorenz Kolb, Missing Link Electronics Testkonzepte für FPGA/ASIC-Entwicklung nach 50 Jahren Moore s Law We are a Silicon Valley based technology company with offices in Germany. We are partner of leading
More informationNext-generation Power Aware CDC Verification What have we learned?
Next-generation Power Aware CDC Verification What have we learned? Kurt Takara, Mentor Graphics, kurt_takara@mentor.com Chris Kwok, Mentor Graphics, chris_kwok@mentor.com Naman Jain, Mentor Graphics, naman_jain@mentor.com
More informationUVM usage for selective dynamic re-configuration of complex designs
UVM usage for selective dynamic re-configuration of complex designs Kunal Panchal Pushkar Naik Accellera Systems Initiative 1 Agenda Introduction Sample DUT Verification Considerations Basic Recommendations
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationIs SystemVerilog Useful for FPGA Design & Verification?
Is Useful for FPGA Design & Verification? ( Burn and Learn versus Learn and Burn ) Stuart Sutherland Wizard Sutherland HDL, Inc. Training engineers to be HDL wizards www.sutherland-hdl.com 2of 20 About
More informationAddressing 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 informationVCS AMS. Mixed-Signal Verification Solution. Overview. testing with transistor-level accuracy. Introduction. Performance. Multicore Technology
DATASHEET VCS AMS Mixed-Signal Verification Solution Scalable mixedsignal regression testing with transistor-level accuracy Overview The complexity of mixed-signal system-on-chip (SoC) designs is rapidly
More informationCover TBD. intel Quartus prime Design software
Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a
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 information