Assertions An assertion is a statement about the design’s intended behavior Assertions can be written in a hardware description language (HDL) Assertions.

Slides:



Advertisements
Similar presentations
VHDL 5 FINITE STATE MACHINES (FSM) Some pictures are obtained from FPGA Express VHDL Reference Manual, it is accessible from the machines in the lab at.
Advertisements

The need for AMS assertions Verify the analog/digital interfaces at block and SoC levels –Check properties involving voltages and currents –Check complex.
Combinational Logic.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Lecture 22: Sequential Circuits Today’s topic –Clocks and sequential circuits –Finite state machines 1.
Model Checking Inputs: A design (in some HDL) and a property (in some temporal logic) Outputs: Decision about whether or not the property always holds.
 2012 Bert Molenkamp, Jan Kuper, University of Twente, PSL Introduction to Assertion Based Verification with PSL (VHDL flavor) Bert Molenkamp Jan Kuper.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Temporal Specification Chris Patel Vinay Viswanathan.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
Assertions in OpenVera Assertions check for the occurrence of sequences during simulation Sequence is an ordered (maybe timed) series of boolean events.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Creating Test Environments HDL Model HDL Testbench Simulation Engine API stimulus check Testbench Program stimulus check Non-HDL languages may be used.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
Roza Ghamari Bogazici University April Outline Introduction SystemC Language Formal Verification Techniques for SystemC Design and Verification.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
ECE 2372 Modern Digital System Design
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
1 H ardware D escription L anguages Modeling Digital Systems.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
16 August Verilog++ Assertion Extension Requirements Proposal.
Introduction to OVL (Open Verification Library) Alexander Gnusin.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
IAY 0600 Digital Systems Design VHDL discussion Verification: Testbenches Alexander Sudnitson Tallinn University of Technology.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Assertions Jean-Michel Chabloz. Assertions basic Idea We assert that a certain “thing” should be true. –If it is true, fine –If it is false, then we get.
Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
ECE-C662 Lecture 2 Prawat Nagvajara
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
Can Assertions Save Military PLD Designs? MAPLD 2009 Presentation Session D: Design and Verification Tools and Methodologies Presented by: Jaroslaw "Jerry"
Introduction to ASIC flow and Verilog HDL
Digital System Design using VHDL
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
CEC 220 Digital Circuit Design Introduction to VHDL Friday, February 21 CEC 220 Digital Circuit Design Slide 1 of 10.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
State Machine Design with an HDL
Exp#7 Finite State Machine Design in Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Finite State Machines Mealy machine inputs Outputs next state function
Systems Architecture Lab: Introduction to VHDL
HDL simulation and Synthesis (Marks16)
Discussion 2: More to discuss
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
B e h a v i o r a l to R T L Coding
Topics Modeling with hardware description languages (HDLs).
cs316 section 2: Intro to Logisim + State Machines
‘if-else’ & ‘case’ Statements
SYSTEM ANALYSIS AND DESIGN
COMP541 Sequential Logic – 2: Finite State Machines
ECEN 248 Lab 9: Design of a Traffic Light Controller
Mikhail Chupilko, Alexander Protsenko
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
In processes and concurrent statements
Topics Modeling with hardware description languages (HDLs).
Introduction to Verilog
SYNTHESIS OF SEQUENTIAL LOGIC
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 8 Verilog and Finite State Machines
Founded in Silicon Valley in 1984
The Verilog Hardware Description Language
SystemVerilog and Verification
332:437 Lecture 8 Verilog and Finite State Machines
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Assertions An assertion is a statement about the design’s intended behavior Assertions can be written in a hardware description language (HDL) Assertions can be written in a verification language (e, openvera, psl, etc) Assertions are not native to verilog but can be converted to verilog Open Verification Library, http://www.eda.org/ovl VHDL assertion Verilog assertion always (a or b) begin if (a XOR b) begin $display(“A,B must be inverted”); $finish; end ASSERT ((a = ‘1’) XOR (b = ‘1’)) REPORT “A, B must be inverted”;

Benefits of Assertions Improved Observability Internal variables and be observed with less effort Reduce Debug Time Errors can be detected close to when/where they occur Easier to track down the source of a bug Facilitates Design Integration Assertions at module interface defined before implementation Interface assertions act as verifiable contracts Facilitates Designer’s Understanding The designer must fully understand his/her module to write assertions Many inconsistencies are found in the process of writing assertions

Assertion Rules of Thumb Create assertions for identified errors not detected by existing assertions Attempt to make the assertion set “complete” Give assertions good names (or good comments) Need to understand the meaning of assertions to make a complete set Provide a consistent way to disable assertions Assertion evaluation is slow Do not synthesize assertions Assertions are usually for simulation, not silicon debug

Classes of Assertions/Properties Safety Property States that a property should be true at all times May involve a finite time window Ex. 1 At a traffic intersection, no more than one light should be GREEN or YELLOW at a time. Ex. 2 If a light is YELLOW at time T then it should be RED no later than time T+3. Liveness Property States that a property must eventually become true, under a condition No limit on time In practice, there is usually a time limit Ex. A traffic light must eventually become green if a car is waiting

Assertions in Verilog We will use Open Verilog Library (OVL) since assertions are not native to Verilog An assertion for a FIFO pop input signal cnt is the number of elements in the FIFO assert_never no_underflow (clk, reset, (pop && cnt==0)) Assertion name is no_underflow clk and reset are the clock and reset signals (needed to indicate when to evaluate the assertion) (pop && cnt==0) is the boolean which cannot evaluate to true

Temporal OVL Assertion “The ack signal must be asserted exactly three clock cycles after the req signal is asserted” assert_next #(0,3) my_req_ack (clk, reset, req, ack) severity num_cks start_event test_expr Severity indicates what to do when assertion is violated (0=stop sim) Start_event is the event that triggers the monitoring of the test_expr Test_expr is the expression which must be TRUE num_clks after the trigger

Assertions as Constraints on the State Space The set of all net/variable values defines a system state The cross product of all net/variable values defines the state space Some of the state space is not feasible because some variable combinations cannot happen (two traffic lights green together) An assertion is a constraint which partially defines the feasible state space state space assertion 1 assertion 2 feasible state space

Assertions for the Traffic Light Controller Two main variables, NS and EW Each variable has 3 possible values, R, G, B State space has 9 elements (3x3) R Y G A1 A2 A3 A1: assert ~((NS == ‘G’) && (EW == ‘G’)) A2: assert ((NS == ‘R’) || (EW == ‘R’)) A3: assert ~((NS == ‘R’) && (EW == ‘R’)) Select assertions to minimize intersection A1 is not needed