VCS SystemVerilog Assertions Training Exercises
|
|
- Julie Johns
- 6 years ago
- Views:
Transcription
1 VCS SystemVerilog Assertions Training Exercises LAB : SVA / VCS Overall Inline Tool Flow using checkers Goal Get Familiar with Inlined SVA Flow Location SVA/lab_ Design Traffic Light Controller Allocated Time 45 minutes The design file is named traffic.v. There are 2 state machines that control the lights for the orth/south traffic and for the East/West traffic. The state variables are named ps0 and ps. There are also 6 binary signals that are the outputs of the traffic module and directly control the 2 traffic lights: Signal ps0 ps g0 y0 r0 g y r Functionality 5-bit FSM state variable, -hot encoded for orth/south Lanes 5-bit FSM state variable, -hot encoded for East/West Lanes Green Light for /S; on, 0 off Yellow Light for /S; on, 0 off Red Light for /S; on, 0 off Green Light for E/W; on, 0 off Yellow Light for E/W; on, 0 off Red Light for E/W; on, 0 off It is required to verify the following invariant properties of the design: ) The state codes of ps0 respect the one-hot encoding ( bit asserted) 2) The state codes of ps respect the one-hot encoding ( bit asserted) 3) At most lane should have a green light at any time 4) At most lane should have a yellow light at any time 2004 Synopsys, Inc. of 9
2 Use the appropriate checkers from the SVA Checker Library and instantiate them in the design. Consider the following checkers: ame Parameters Arguments assert_one_hot #(severity_level, width, options, msg, category) severity_level: Default value is 0. options: Unused. (The only supported option is options=, which defines the assertion as a constraint for formal tools.) Default is 0. width: Width of the port test_expr. msg: String to be printed upon failure. category: Category value for control over assertions. Default is 0. assert_mutex #(severity_level, edge_expr, msg, category) severity_level: Default value is 0. edge_expr: Defines clock sampling edge. 0 = posedge, = negedge. Default is 0. msg: String to be printed upon failure. category: Category value for control over assertions. Default is 0. (clk,reset_n,test_expr) reset_ n: reset signal, active low clk: sampling clock at posedge test_expr: expression to be checked (clk, reset_n, a, b) reset_ n: reset signal, active low clk: sampling clock at specified edge a, b: two expressions that must never be at the same time To compile the design with the assertions in debug mode: > vcs traffic.v -sverilog -PP -assert enable_diag \ +define+assert_o -y $VCS_HOME/packages/sva +libext+.v \ +incdir+$vcs_home/packages/sva To run a simulation: > simv -assert success assert verbose -assert report The report will appear on screen and also in a report file named by default assert.report in the current directory. ote that these commands can also be found in the run file in the lab directory. There should be assertion successes and failures reported. Can you identify the source of the failures in the design and correct it? A binary wave file called vcdplus.vpd is also created during the simulation. To view the assertion results in Virsim enter the following command: > vcs RPP & 2004 Synopsys, Inc. 2 of 9
3 Open the file vcdplus.vpd and then in the hierarchy window open tb and then dut. You should see 4 assertion groups. Each group contains the associated design signals as well as another group of signals named clk_event, result and end_time. Drag all the signals onto the wave panel and examine how the assertion successes and failures are presented. To enable SVA coverage add the cm assert switch at compile and run times, i.e.: > vcs traffic.v -sverilog -PP -assert enable_diag \ +define+assert_o -y $VCS_HOME/packages/sva +libext+.v \ +incdir+$vcs_home/packages/sva cm assert > simv -assert success -assert report cm assert > assertcovreport To view the coverage results use etscape: > netscape simv.vdb/reports/report.index.html 2004 Synopsys, Inc. 3 of 9
4 LAB 2: SVA / VCS Custom Flow Simple properties Goal Familiarization with Custom SVA Flow Location SVA/lab_2 Design Traffic Light Controller Allocated Time 45 minutes In this lab the objective is to create a number of custom SVA assertions that will be placed in a separate module and file. This checker module will then be bound to the design using the bind statement. Use the file traffic.sv as a template for the custom assertions. In the file the module interface and the binding is already done. Write SVA assertions to verify the following behaviors of the traffic controller: ) Proper state transitions following the cycle green -> yellow -> red -> red -> green, for both lights (ote that the light will remain in the red state for 2 cycles). More specifically, verify that If (currently green) then (next is yellow) If (currently yellow) then (next is red for two clock cycles) If (changed to red in the past cycle and is red) then ( next it is green) Hint: Create a property (sequence) -> (sequence), and then assert that property, repeat this 5 more times. Hint: Consider using the built-in functions $past and $rose. Should these properties hold also during reset? If not, what can you do about it? 2) Only one light (red or green or yellow) may be on for the /S lane. Repeat for the E/W lane. Hint: Use the built-in function $countones. 3) Upon exiting reset, both lights should be red (reset is active high). Hint: Use the built-in function $fell. The following two built-in functions can be used when writing the properties: 2004 Synopsys, Inc. 4 of 9
5 $countones( x ) Returns the number of bits set to in the bitvector expression x $past( x, n ) Returns the value of the bitvector expression x <n> cycles ago. $rose( x ) Returns true () iff the bit expression x changed value from 0 to as sampled by two consecutive clock ticks. $fell( x ) Returns true () iff the bit expression x changed value from to 0 as sampled by two consecutive clock ticks. Again, to compile the design with the assertions in debug mode: > vcs traffic.v traffic.sv -sverilog -PP -assert enable_diag \ +define+assert_o -y $VCS_HOME/packages/sva +libext+.v \ +incdir+$vcs_home/packages/sva To run the simulation: > simv assert verbose -assert report ote that the above commands can be found in the run file. There should not be any assertion failures. A binary wave file called vcdplus.vpd is created during the simulation. To see the assertion results in the GUI, invoke Virsim as in Lab. Questions:. How many evaluation attempts of each assertion were made? How many of them were vacuously satisfied? Hint: Use the cm assert option 2. How many times did the light cycle through (green, yellow, red) for the /S lane? 2004 Synopsys, Inc. 5 of 9
6 LAB 3: SVA / VCS Custom Flow Protocol checking Goal Location Design Familiarization with Custom SVA Flow SVA/lab_3 Memory Controller Allocated Time 60 minutes The design file is named design.v. There is an SVA checker module started for you in the file design.sv It already contains the module interface and some useful boolean expressions. The bind statements is also in that file. The design hierarchy is as follows: cntrlr_top cntrlr_tb cntrlr Top level random stimulus generation, clock generation Bus functional models and memory model testbench DUT - Memory controller The protocol followed by the controller is shown on the next page. The start of Read or Write operation is marked by a -cycle-wide pulse on adxstrb. If it is a Write operation, busrdwr_ is pulsed low at the same time. Read operation: busrdwr_ is held high with adxstrb. When adxstrb is sampled high, the address is transferred from busaddr[5:0] to ramaddr and remains stable for 2 cycles. busaddr[7:0] is decoded and the appropriate cex_ (x = 0,, 2, or 3) line is driven low for one cycle one cycle after adxstrb is sampled high. When cex_ is sampled low, the data on ramdata is driven to busdata for one cycle. This completes the Read operation. Write operation: busrdwr_ is pulsed low with adxstrb high. When adxstrb is sampled high, the address from busaddr [5:0] is transferred to ramaddr and remains stable for 4 cycles. busaddr[7:0] are decoded and drive the appropriate cex_ line low 2 cycles later, for one cycle. rdwr_ is driven low at the same time as cex_. busdata is sampled with adxstrb high and transferred to ramdata cycle later where it stays stable for 3 cycles. This completes the Write operation Synopsys, Inc. 6 of 9
7 2004 Synopsys, Inc. 7 of 9 The memory Read protocol is as shown in the following diagram (delays in cycles). The memory Write protocol is as shown in the following diagram (delays in cycles)
8 The following are two useful boolean expressions that when true mark the beginning of a Read, resp. Write, operation: read_req write_req Read operation starts when adxstrb is high, busrdwr_ high, and!reset Write operation starts when adxstrb is high, busrdwr_ low and!reset Write the following assertions for the memory controller: ) There are 4 memory chip enable signals (ce0_, ce_, ce2_, ce3_). At most one of them should ever be asserted low. Are there any assertion failures? If yes, locate the error in the design, correct it and re-simulate. Hint: There are two nested case statements (one for read and one for write) where nxce_ is assigned. 2) Any pulse on cex_ should be one clock cycle wide. Take into account reset when this condition may not apply. 3) In a Read operation, the correct cex_ should be sampled low 2 cycles after adxstrb is sampled high. 4) In a Write operation, the correct cex_ should be sampled low 3 cycles after adxstrb is sampled high. 5) In a Read operation, the value on ramdata when cex_ is sampled low should appear (be sampled) on busdata one cycle later. 6) Write cover property statements that detect the occurrence of a Read and of a Write operation. Questions: ) How many times did a Read operation occur? 2) How many times did a memory operation occur (Read + Write)? 2004 Synopsys, Inc. 8 of 9
9 LAB 4: Advanced SVA Goal Advanced SVA Location SVA/lab_4 Design Memory Controller Allocated Time 90 minutes The design is the same as in Lab 3. Write assertions that verify the following behaviors:. Once cex_ returns inactive (all deasserted), they all four must remain inactive until the next assertion of adxstrb. Use repetition [*M:] in the property. As it is not known when the next address strobe will arrive, you can specify an open-ended range for. You could specify a finite value of as an equivalent of a watchdog timer check. However, in that case the finite delay is in fact verifying that the environment is behaving correctly, while the assertion is to verify the behavior of the DUT. Would this be a correct formulation of the property? 2. Verify that the address is correctly transferred from busaddr to ramaddr, and it remains stable for the required number of clock cycles, in both Read and Write operations. 3. Verify that the controller correctly transfers data from busdata to ramdata during a Write operation. 4. Verification of the memory and controller: Verify that the memory retains the last written value to an address. I.e., after a Write, a subsequent Read operation will read back that value, regardless other intervening operations to different addresses, as observed from the bus signals. after a reset, as long as an address has not been written into, the value read out should be 0. Question: Consider implementing the above assertions using SVA local variables and using Verilog variables. What are the pro s and con s, in particular regarding property 4? 2004 Synopsys, Inc. 9 of 9
7.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 information7.3.3 Same Inputs in Antecedent and Consequent
Formal Verification Using Assertions 249 There are some special scenarios in which the user may want to intentionally toggle the reset signal during a session. This may be needed to check conditions such
More informationLab 1.5 (Warmup): Synthesis Workflow and SystemVerilog Register File Not Due
CMU 18-447: Introduction to Computer Architecture Lab 1.5 (Warmup): Synthesis Workflow and SystemVerilog Register File Not Due In this tutorial, you will take a quick tour of the tools we will use in this
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
1 In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
More informationOPEN VERIFICATION LIBRARY
A PPENDIX A OPEN VERIFICATION LIBRARY The Accellera Open Verification Library [Accellera OVL 2003] provides designers, integrators, and verification engineers with a single, vendor-independent assertion
More informationLast Lecture: Divide by 3 FSM
Last Lecture: Divide by 3 FSM Output should be 1 every 3 clock cycles S2 S0 S1 The double circle indicates the reset state Slide derived from slides by Harris & Harris from their book 1 Finite State Machines
More informationGraduate Institute of Electronics Engineering, NTU Design of Datapath Controllers
Design of Datapath Controllers Lecturer: Wein-Tsung Shen Date: 2005.04.01 ACCESS IC LAB Outline Sequential Circuit Model Finite State Machines Useful Modeling Techniques pp. 2 Model of Sequential Circuits
More informationOpenVera Assertions. March Synopsys, Inc.
OpenVera Assertions March 2003 2003 Synopsys, Inc. Introduction The amount of time and manpower that is invested in finding and removing bugs is growing faster than the investment in creating the design.
More informationEECS 151/251A ASIC Lab 2: Simulation
EECS 151/251A ASIC Lab 2: Simulation Written by Nathan Narevsky (2014, 2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016) and Taehwan Kim (2018) Overview In lecture, you have learned how
More informationLaboratory Exercise 7
Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied
More informationIntroduction to Verilog and ModelSim. (Part 6 State Machines)
Introduction to Verilog and ModelSim (Part 6 State Machines) State Machine Actually, a Finite State Machine (FSM) mathematical model of computation abstract machine with finite states can only be in ONE
More informationFORMAL SPECIFICATION, SYSTEM VERILOG ASSERTIONS & COVERAGE. By Calderón-Rico, Rodrigo & Tapia Sanchez, Israel G.
FORMAL SPECIFICATION, SYSTEM VERILOG ASSERTIONS & COVERAGE By Calderón-Rico, Rodrigo & Tapia Sanchez, Israel G. OBJECTIVE Learn how to define objects by specifying their properties which are formally
More informationGetting to Grips with the SystemVerilog Scheduler
Getting to Grips with the SystemVerilog Scheduler Alan Fitch, Doulos 1 SystemVerilog Scheduler The Verilog Scheduler SystemVerilog 2005 SystemVerilog 2009/2012 Gotchas!... and Conclusions Verilog Scheduler
More informationLab 6 : Introduction to Verilog
Lab 6 : Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of
More informationSubject: Scheduling Region Questions and Problems of new SystemVerilog commands
Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly
More information166 SystemVerilog Assertions Handbook, 4th Edition
166 SystemVerilog Assertions Handbook, 4th Edition example, suppose that a cache controller performs behavior A when there is a cache hit (e.g., fetch data from the cache), or performs behavior B when
More informationECE 2300 Digital Logic & Computer Organization. More Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)
More informationEECS150 - Digital Design Lecture 20 - Finite State Machines Revisited
EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential
More informationENGR 5865 DIGITAL SYSTEMS
ENGR 5865 DIGITAL SYSTEMS ModelSim Tutorial Manual January 22, 2007 Introduction ModelSim is a CAD tool widely used in the industry for hardware design. This document describes how to edit/add, compile
More informationLogic Verification 13-1
Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof
More informationDebugging Inconclusive Assertions and a Case Study
Debugging Inconclusive Assertions and a Case Study by Jin Hou Mentor, A Siemens Business INTRODUCTION Formal assertion-based verification uses formal technologies to analyze if a design satisfies a given
More informationYou will work in groups of four for the project (same groups as Project 1).
COS/ELE 375 Prof. August Lab 2: PAW Processor Design (18 Nov 2015) Due January 12, 2015 Introduction In the prior project, you became familiar with the PAW instruction set. In this project you will design,
More informationSystem Verilog Assertions Language and Methodology. Comprehensive 1 Day Training Class. DefineView Consulting
System Verilog Assertions Language and Methodology Comprehensive 1 Day Training Class DefineView Consulting http://www.defineview.com 2006-2008 Training :: Abstract Abstract System Verilog Assertions (SVA)
More informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The
More informationExperiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) 1.0 Learning Outcomes
More informationOne and a half hours. Section A is COMPULSORY
One and a half hours Section A is COMPULSORY An additional answersheet is provided for Question 4. Please remember to complete the additional answersheet with your University ID number and attach it to
More informationSystemVerilog Assertions
by, Getting Started With SystemVerilog Assertions presented by Stuart Sutherland of Sutherland H D L training Engineers to be SystemVerilog Wizards! 3 About the Presenter... Stuart Sutherland, a SystemVerilog
More informationTestbench and Simulation
Testbench and Simulation Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Focus of this Class Understand the simulator Event Based Simulation Testbenches and verification Approaches and metodologies Examples:
More informationFinite State Machines
Finite State Machines Design methodology for sequential logic -- identify distinct states -- create state transition diagram -- choose state encoding -- write combinational Verilog for next-state logic
More informationDigital Design and Computer Architecture J. Spjut & M. Spencer
Digital Design and Computer Architecture J. Spjut & M. Spencer Lab 3: Adventure Game Introduction In this lab may you will design a Finite State Machine (FSM) that implements an adventure game! You will
More informationStuart Sutherland, Sutherland HDL, Inc.
SystemVerilog Design: User Experience Defines Multi-Tool, Multi-Vendor Language Working Set Ways Design Engineers Can Benefit from the Use of SystemVerilog Assertions Stuart Sutherland, Sutherland HDL,
More informationSequential Logic Design
Sequential Logic Design Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted
More informationA User s Experience with SystemVerilog
A User s Experience with SystemVerilog and Doulos Ltd Ringwood, U.K. BH24 1AW jonathan.bromley@doulos.com michael.smith@doulos.com 2 Objectives Practical use of SystemVerilog Synopsys tools (VCS, Design
More informationFinite State Machines
Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab
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 informationEECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review
EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition
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 informationOne and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE
One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions
More 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 informationMealy and Moore examples
CSE 37 Spring 26 Introduction to igital esign ecture 2: uential ogic Technologies ast ecture Moore and Mealy Machines Today uential logic technologies Ving machine: Moore to synch. Mealy OPEN = creates
More informationEECS150 - Digital Design Lecture 6 - Logic Simulation
EECS150 - Digital Design Lecture 6 - Logic Simulation Sep. 17, 013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)
More informationTechniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Tajana Simunic Rosing Source: Eric Crabill, Xilinx 1 More complex behavioral model module life (n0, n1, n2, n3, n4, n5, n6,
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 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 informationCSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0
Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1
More informationAssertion-Based Verification
Assertion-Based Verification Introduction to SVA Harry Foster Chief Scientist Verification info@verificationacademy.com www.verificationacademy.com Session Overview After completing this session you will...
More informationThe Verilog Hardware Description Language Testing the Design Overview
The Verilog Hardware Description Language Testing the Design Overview In this lesson we will Move from design to test Introduce the test bench Examine several of the system tools that support testing Learn
More informationUVM for VHDL. Fast-track Verilog for VHDL Users. Cont.
UVM for VHDL Fast-track Verilog for VHDL Users Course Description Verilog for VHDL Users is an intensive 2-day course, converting knowledge of VHDL to practical Verilog skills. Contrasting Verilog and
More informationModule 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1
Module 4 Design of Embedded Processors Version 2 EE IIT, Kharagpur 1 Lesson 22 Introduction to Hardware Description Languages - II Version 2 EE IIT, Kharagpur 2 Instructional Objectives At the of the lesson
More informationARM 64-bit Register File
ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4
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 informationCourse Profile Assertions in UVM
Course Profile Assertions in UVM I. CONTENTS 1. Assertions in UVM Flow (ABV UVM)... 2 2. Class Details:... 3 3. Trainers Profiles... 3 a. Srinivasan Venkataramanan, cto... 3 b. Ajeetha Kumari, ceo AND
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 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 informationSD Card Controller IP Specification
SD Card Controller IP Specification Marek Czerski Friday 30 th August, 2013 1 List of Figures 1 SoC with SD Card IP core................................ 4 2 Wishbone SD Card Controller IP Core interface....................
More informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Prof. Montek Singh Fall 2017 Lab #3A: Sequential Design: Counters Issued Wed 9/6/17; Due Wed 9/13/17 (11:59pm)
More informationEECS 470 Lab 2. Synopsys Build System. Department of Electrical Engineering and Computer Science College of Engineering University of Michigan
EECS 470 Lab 2 Synopsys Build System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 17 th January, 2014 (University of Michigan) Lab 2:
More informationWriting Circuit Descriptions 8
8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the
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 informationQuick Introduction to SystemVerilog: Sequental Logic
! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis
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 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 informationEECS 470 Lab 1 Assignment
Note: The lab should be completed individually. EECS 470 Lab 1 Assignment The lab must be checked off by a GSI before lab on Thursday, 13 th September, 2018. 1 Linux Introduction and Setup The work in
More informationGeneral FSM design procedure
Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday
More informationGeneral FSM design procedure
Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer
More informationLast Lecture. Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal
Last Lecture Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal always_comb t = a & b; f = t c; should use = (called
More informationSimulating Verilog RTL using Synopsys VCS
Simulating Verilog RTL using Synopsys VCS 6.375 Tutorial 1 February 16, 2006 In this tutorial you will gain experience using Synopsys VCS to compile cycle-accurate executable simulators from Verilog RTL.
More informationMicroprogram Control Unit Design: Merging Two Arrays
Microprogram Control Unit Design: Merging Two Arrays 1. Synopsis: The purpose of this lab is to implement a state machine by using a microprogram control unit design. Microprograming allows flexibility
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 informationLecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines
Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event
More informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More informationIntro to Digital Logic, Lab 5 Sequential Logic. Lab Objectives. Assigned Task Mapping sequential logic to the FPGA
Intro to Digital Logic, Lab 5 Sequential Logic Lab Objectives Now that we have mastered combinational logic, it is time to figure out sequential circuits. In this lab you will download a premade design
More informationUsing SystemVerilog Assertions for Functional Coverage
Using SystemVerilog Assertions for Functional Coverage Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Outline Demonstrate capability of SVA for implementing a complex functional
More informationSynthesizable Watchdog Logic: A Key Coding Strategy for Managing Complex Designs
System, Inc 1 Synthesizable Watchdog Logic: A Key Coding Strategy for Managing Complex Designs Wilson Snyder. 1 The Fundamental Design Issue 2 Even with the oddities of Verilog the actual writing of HDL
More informationTutorial 2 Implementing Circuits in Altera Devices
Appendix C Tutorial 2 Implementing Circuits in Altera Devices In this tutorial we describe how to use the physical design tools in Quartus II. In addition to the modules used in Tutorial 1, the following
More informationTutorial 3. Appendix D. D.1 Design Using Verilog Code. The Ripple-Carry Adder Code. Functional Simulation
Appendix D Tutorial 3 This tutorial introduces more advanced capabilities of the Quartus II system. We show how Verilog code is organized and compiled and illustrate how multibit signals are represented
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationIP Core Design. Lecture 10 Property/Assertion-Based Verification
IP Core Design Lecture 10 Property/Assertion-Based Verification Juinn-Dar Huang, Ph.D. Assistant Professor jdhuang@mail.nctu.edu.tw October 2004 1 Outline Verification challenge Introduction to PBV Property
More informationAXI4-Stream Verification IP v1.0
AXI4-Stream Verification IP v1.0 LogiCORE IP Product Guide Vivado Design Suite Table of Contents IP Facts Chapter 1: Overview Feature Summary..................................................................
More informationAssertion-Based Verification
Assertion-Based Verification ABV and Formal Property Checking Harry Foster Chief Scientist Verification info@verificationacademy.com www.verificationacademy.com Session Overview After completing this session
More information23. Digital Baseband Design
23. Digital Baseband Design Algorithm-to-VLSI Circuit Refinement (Floating Point) Tradeoff (SNR Loss, BER) (Fixed Point) VHDL, Verilog VHDL, Verilog Memory Control For I=0 to I=15 Sum = Sum + array[i]
More informationFibre Channel Arbitrated Loop v2.3
- THIS IS A DISCONTINUED IP CORE - 0 Fibre Channel Arbitrated Loop v2.3 DS518 March 24, 2008 0 0 Introduction The LogiCORE IP Fibre Channel Arbitrated Loop (FC-AL) core provides a flexible, fully verified
More informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationFinite State Machines
Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2017 More Verilog Finite State Machines Lecture 8: 1 Announcements 1 st batch of (raw) quiz scores released on CMS Solutions to HW 1-3 released on
More informationECE 274 Digital Logic Verilog
ECE 274 igital Logic Verilog egister ehavior equential circuits have storage egister: most common storage component N-bit register stores N bits tructure may consist of connected flip-flops I3 I2 I I 3
More informationFocussing Assertion Based Verification Effort for Best Results
Focussing Assertion Based Verification Effort for Best Results Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Project background Overview of ABV including methodology
More informationECEN : Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University. Homework #1 Solutions
ECEN 449 749: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Homework #1 Solutions Upload your homework solution to ecampus as a single pdf file. Your
More information271/469 Verilog Tutorial
271/469 Verilog Tutorial Prof. Scott Hauck, last revised 8/14/17 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More informationQUARTUS II Altera Corporation
QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?
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 informationUniversity of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering
University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,
More informationEPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013
EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch
More informationHomework deadline extended to next friday
Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception
More informationDIGITAL SYSTEM DESIGN
DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:
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 informationA framework for verification of Program Control Unit of VLIW processors
A framework for verification of Program Control Unit of VLIW processors Santhosh Billava, Saankhya Labs, Bangalore, India (santoshb@saankhyalabs.com) Sharangdhar M Honwadkar, Saankhya Labs, Bangalore,
More informationDDR SDRAM Bus Monitoring using Mentor Verification IP by Nikhil Jain, Mentor Graphics
DDR SDRAM Bus Monitoring using Mentor Verification IP by Nikhil Jain, Mentor Graphics This article describes how Mentor s verification IP (VIP) for various double-data rate (DDR) memory standards can act
More information