Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Size: px
Start display at page:

Download "Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design"

Transcription

1 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 Machines (FSMs) is essential because they control most aspects of the functionality of a design. While simulation is irreplaceable for verifying functionality, it is only as good as its stimulus. This paper discusses how to automate formal verification of corner case chip killers of an FSM design namely that the FSM will not lock up, is not subject to metastability on reset deassertion, and that synthesis directives hold true. 1

2 Introduction Today s complex SoCs are constructed from blocks that come from many different sources, including legacy IP, third-party IP, library components from an ASIC or FPGA vendor, and new design blocks developed by geographically distributed teams. The verification task has become daunting. FSM verification is so critical to the success of an SoC that it is often a focal point of the verification plan. Traditionally FSM verification is graded by coverage metrics, but total coverage can be difficult to achieve in simulation and does not even guarantee that all scenarios and corner cases have been verified. Static analysis is recommended both to speed simulation verification by catching issues early and to bullet proof the verification of the corner cases. Lint enables quickly weeding out many issues prior to the start of simulation. While simulation is great for verification of normal operation, only formal verification can ensure that all the corner cases are verified. Ascent AutoFormal explores the sequential behavior of an FSM to ensure it will never lock up, detects reset metastability issues on reset deassertion, and determines with 100% confidence whether synthesis directives always hold true. It also verifies that all FSM transitions can be reached, which is important for achieving those simulation coverage goals. This paper describes how to automate the formal verification of FSM-related chip-killer issues such as deadlocks. The paper discusses various FSM checks, including highlights of features that facilitate debug. It also discusses why it is advantageous to use Ascent Lint early in the design process, before simulation even begins, to weed out the simple, though non-obvious, FSM issues. Ascent Lint is very fast and easy to learn and use, and the types of issues it uncovers are generally much simpler to debug statically than in simulation. Automating FSM Verification with Ascent AutoFormal Ascent AutoFormal uses exhaustive formal analysis to verify functional properties implied in the RTL. FSM-based control-oriented designs have complex execution paths that are hard to enumerate explicitly in simulation. As a result, efficient exhaustive analysis, as provided by state-of-art formal analysis algorithms, is a must for FSMs that control design functionality. Ascent AutoFormal is not dependent on simulation stimulus to expose the error. It performs deep sequential state-space analysis of automatically generated properties. Because the analysis is sequentially deep, AutoFormal is not as fast as Ascent Lint, but the analysis is exhaustive, and the results more accurate. The true benchmark of performance is the overall time it takes to configure the analysis, run the analysis, and resolve the issues, with all aspects being automated to the extent possible. Ascent AutoFormal was architected to provide the best overall user experience, from start to finish. Ascent AutoFormal does the following: Automatically creates a design-specific environment file that defines the clocks and resets. Automatically identifies and reports key characteristics of FSMs in the design. Automatically creates and formally verifies FSM-specific checks. There is no need to know any assertion languages. Does root-cause analysis to minimize debug time. Ascent AutoFormal performs additional checks that complement FSM verification. Some of these other checks aid in the debug of FSM issues. This section describes how Ascent AutoFormal can find bugs in the corners of your FSM design, as well as report other RTL characteristics. Ascent AutoFormal also provides additional non-fsm checks that are not described in this paper. 2

3 FSM RTL Characteristics Reporting FSM designs should employ a consistent state-encoding style for an FSM. Styles are often chosen for the FSM error detection and recovery scheme for the operating environment. Enumerated-state types are recommended because they are more readable and easier to tune for synthesis. Also, an FSM should have a properly defined reset state for testability and predictability. Ascent AutoFormal reports warnings when Enums, clocked Enums, and FSMs are not resettable. It also reports the details of all FSMs and related Enums. An example of FSM reporting is shown below. You can easily review the FSM s state enumerations, the state encodings, clocks, and resets.. In addition to FSM information, other information such as the existence of latches is reported. This is important because latches can prevent the detection of FSMs. The RTL information presented is structural and not formally derived, however it is a convenience feature. FSM Checks Ascent AutoFormal provides a variety of essential FSM checks based on the RTL. It automatically identifies FSMs in a design and then creates checks based on the states of the FSM and the state transitions of the FSM. The checks are then formally verified. There is a variety of very useful FSM checks in AutoFormal: One of the most valuable checks for catching corner case FSM chip-killers is the deadlock test. Deadlock is the situation when a state, once entered, is never exited. This check ensures that for any standalone FSM, there is no individual state that results in FSM deadlock. A violation indicates that the state variable can enter the indicated state, but cannot exit from it. Ascent AutoFormal verifies that for every transition into a state there is not deadlock. Debug information provides a link to the transition whereby when the state is entered it cannot be exited. Note that because each transition is tested independently of other transitions, maximal coverage is obtained. The state deadlock check can potentially cause the design to enter suspended operations due to a hung control flow. In the example below, when state 010 is entered, it cannot be exited, so a deadlock violation occurs. This is a violation that would not be report by a linter because sequential analysis is required to determine that the exit transition will never evaluate to true. Moreover, Ascent AutoFormal will report when any one of multiple incoming transitions can results in a deadlock. 3

4 Figure 1 State deadlock detection Ascent AutoFormal checks that all states of an FSM can be entered from all existing input transitions. It is more than simple state reachability in that every transition is verified. The exception is that the Verilog default and VHDL others case branches are not reported when they cannot be reached. A violation indicates that the state machine cannot enter the state from a particular transition. A violation will provide a link to the FSM transition assignment that will never complete. In the example below, a state reachability violation is reported on state 10 because while there exists a state transition into the state, that transition can never evaluate to true. This is a case that a linter would not detect because sequential analysis is required to see that the transition conditions cannot evaluate to true. Had there been multiple possible transitions into the state, only one of which cannot be reached, AutoFormal would not report an unreachable state, but would still report the unreachable state transition. Unreachable state transitions are dead code that should be fixed or eliminated to improve coverage analysis metrics. Figure 2 Unreachable state identification 4

5 Ascent AutoFormal checks that for any FSM state variable, all bits are capable of changing their value. A violation indicates that the state variable has bits that are stuck at the indicated values. This could mean the enabling condition for certain state transitions cannot occur within the design. For a onehot-style state encoding this will directly indicate unreachable states. By detecting the individually stuck bits, the driving logic should be easier to identify and debug. Ascent AutoFormal ensures that for any pair of states in two detected finite state machines, the two FSMs can be in that pair of states concurrently. Reachability checks validate that the two state machines can interact. Another situation has to do with deadlock involving two FSMs. A violation indicates that the two state machines are most likely awaiting handshaking signals from one another before proceeding to their respective states. Pairwise deadlock is a frustrating problem to detect during RTL coding due to the high level of interactions that can occur between different state machines within a design. An example is shown below, where there is a master state machine and a slave state machine, and a handshake between them. In this machine, the states shown in red below are the S_REQUEST (on left) and the M_REQUEST (on right). The handshake works as long as they don t both request at the same time. When they request at the same time, a lockup occurs. Figure 3 FSM Pairwise state deadlock 5

6 Ascent AutoFormal also has FSM Fault Tolerance checks that are useful for checking unpredictable state changes. All unused (illegal or undefined) states should transition to a defined state, whereupon this error condition can be processed accordingly. Ascent AutoFormal verifies that an illegal state is not reachable, where an illegal state is one where the state vector has an implicit or explicit X-value. Violations report all the transitions that go to the illegal state when the transition is reachable from reset. In the example below, reg [1:0] state, next_state; // sequential state/next_state logic frm_clk or negedge reset) begin if (!reset) state <= 2'b00; else state <= next_state; end // combinational next_state logic begin case (state) // synopsys full_case 2'b00: next_state = 2'b01; 2'b01: next_state = 2'b10; 2'b10: next_state = 2'b11; endcase end The state 11 is an implicit illegal state due to the full case pragma. Since it is assigned to, it is a recognized state that assigns the next state value to xx, the illegal state. A VCD is provided that shows the sequence that leads to the failure. Figure 4 Illegal State Transition shows the path to the illegal state from reset 6

7 The above FSM checks are key to bulletproofing an FSM against corner-case chip killers. Safe Synthesis of FSMs It is important to verify that FSMs synthesize in a predictable manner, consistent with simulation. FSMs are implemented using if-else statements and case statements, though mostly case statements. The synthesis of case statements can be optimized with the use of synthesis directives parallel case and full case pragmas, or with SystemVerilog unique and priority constructs. If-statements can also be specified as being unique and priority. It is important to ensure that these synthesis directives always hold true. Simulators are only as good as the stimulus. Ascent AutoFormal uses the full-case pragma or SV "unique" keyword to determine where the full-case checks should exist and uses formal analysis to determine that only the specified case items can be reached. Ascent AutoFormal uses the parallel-case pragma or SV "priority" keyword to determine where the checks should exist and uses formal analysis to verify that there are no duplicate or overlapping case items. For debug, a VCD is provided that shows the sequence of events that can lead to the violation. As an example, for the code shown below, a check is done to verify the unique0-if synthesis directive that says there is no overlap in a series of if-else-if conditions (i.e. all conditions are mutually exclusive): wire [1:0] sel; assign sel = {up,down}; ( posedge clk ) begin unique0 if (sel == 2'b00) u02 <= m n; else if (sel[1] == 'b0) // violation because it is not unique u02 <= p q; else if (sel == 2'b10) u02 <= m p; else if (sel == 2'b11) u02 <= m q; else u02 <= m & q; A VCD is generated that shows the violation occurs when sel is 1 b00 (i.e. when {up,down} are {0,0}) This was a very simple example for demonstration purposes, but for complex scenarios, the VCD always shows the sequence of events that lead to the failure. Figure 5 VCD that shows the value that matches multiple conditions of an unique0-if construct 7

8 FSM Reset Metastability Few would argue against the claim that FSM s require a reset to put them into a known state, but just having a reset is not good enough. You have to ensure that metastability does not occur when reset is released. Metastability can occur when the significant edge of the clock occurs at the same time as when reset is released. Logic may or may not see the reset as asserted and oscillation can occur. So in the example shown below, when the clock rises at the same time that the reset is deasserted, it is not clear whether out will be assigned a 1 or a 0, and the output can oscillate. clk or negedge reset) if (!reset ) out <= 1 b0; else out <= 1 b1; Ascent Autoformal reports a FSM Reset Metastability violation when the FSM reset is not synchronous to the FSM clock and the FSM transitions immediately after reset release. More comprehensive reset tests are available in a companion tool from Real Intent called Meridian RDC. Meridian RDC also reports when there can be other causes of metastability on the resets, reconvergence issues, and glitches on resets. Refer to the white paper Making Sure Resets Don t Kill Your SoC 1 for more details. FSM Analysis using Linters Discussion of FSM static verification would not be complete without mention of linters to verify FSMs. Linters use structural analysis, not sequential analysis, so the tool runtimes are very fast. Size limitations are not an issue - a million gate design can run in minutes with Ascent Lint. Linters such as Ascent Lint do enable eliminating some issues and they can check different aspects of your FSM that are complementary to formal analysis techniques. Ascent Lint should be used before simulation and before Ascent AutoFormal to eliminate the simple issues and ensure coding conventions are used. Real Intent s Ascent Lint offers a broad selection of FSM rules, including but not limited to: Calculated next state (which can be costly in synthesis) FSM state a literal constant Naming conventions of present state/next state variables Limit FSMs to N states Mealy or Moore FSM coding style Assignment to undefined next state One hot encoding Require FSM reset FSM state never reached FSM terminal state Ascent Lint can check for many things related to FSMs, though linters can never be as precise as Ascent AutoFormal, which is required to bulletproof an FSM. For example, Ascent Lint can miss reporting a terminal state or unreachable state because it assumes everything is reachable. Only the sequential analysis of AutoFormal can determine if the transition can occur. A linter can also be noisy because it cannot determine when the conditions for reaching a state cannot occur. For example, a linter would report a full case violation for any case statement that does not specify all possible case items and does not have a default, even when the missing case items are not reachable. Refer to the whitepaper Setting a New Lint Benchmark 2 for more details on Ascent Lint. 8

9 Summary FSM verification is so critical to the success of an SoC that it is often a focal point of the verification plan. Traditionally FSM verification is graded by coverage metrics, but total coverage can be difficult to achieve in simulation and does not even guarantee that all scenarios and corner cases have been verified. Static analysis is recommended both to speed simulation verification by catching issues early and to bullet proof the verification of corner cases. Many companies have found value in Ascent Lint as an early verification tool, deploying it throughout RTL and circuit-level design, to enforce coding standards and to detect coding anomalies, including FSM design verification. It can run a million-gate design in minutes, and also provides a great debug environment. Ascent Lint is ideal for eliminating simple, though not always obvious, issues before simulation and AutoFormal. Ascent AutoFormal builds on the structural analysis of Ascent Lint by automating the use of formal sequential analysis to verify the integrity of FSM designs. Ascent AutoFormal is enabling the widespread adoption of formal technology for FSM verification by promoting a use model that is almost as simple as that of a linter. Ascent AutoFormal goes beyond all other tools in its category by also providing root cause analysis to minimize debug, thus setting a new benchmark in minimizing the overall verification effort from start to finish. Some of the most important reasons for using Ascent AutoFormal for FSM verification are: Reports the characteristics of identified FSMs, including warnings on non-resettable FSMs. This information can be useful for verification of design practices. Verifies that an FSM will never lock up Verifies that all FSM transitions can occur and all states can be reached Verifies absence of reset metastability of FSMs, and that the FSM does have a reset Identifies areas where simulation may not match the behavior of an FSM design in hardware. Managing the results and tracking status is made easy through a database-driven graphical user interface. AutoFormal works with the idebug debugger that includes a source browser, RTL-based schematics, and waveform viewer. AutoFormal is the only AutoFormal tool on the market that does root-cause analysis. This provides magnitudes of reduction in debug time. Only primary issues are reported as Errors. Secondary, structurally detected issues, and duplicates, are reported as Warnings. 9

10 References (you can obtain these references from ): 1. Making Sure Resets Don t Kill Your SoC, Vikas Sachdeva, June Setting a New Lint Benchmark, Lisa Piper, November Copyright 2017 Real Intent Inc. Real Intent, Inc. 932 Hamlin Court Sunnyvale, CA support@realintent.com Phone: Fax: realintent.com 10

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging 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 information

Quick Introduction to SystemVerilog: Sequental Logic

Quick 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 information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State

More information

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst 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 information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Lecture 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 information

Finite State Machines

Finite 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 information

FSM and Efficient Synthesizable FSM Design using Verilog

FSM and Efficient Synthesizable FSM Design using Verilog FSM and Efficient Synthesizable FSM Design using Verilog Introduction There are many ways to code FSMs including many very poor ways to code FSMs. This lecture offers guidelines for doing efficient coding,

More information

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques FSM Components XST features: Specific inference capabilities for synchronous Finite State Machine (FSM) components. Built-in FSM encoding strategies to accommodate your optimization goals. You may also

More information

Qualification of Verification Environments Using Formal Techniques

Qualification 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 information

Synthesizable Verilog

Synthesizable 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 information

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

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 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 information

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

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 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 information

EECS150 - 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) 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 information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

World Class Verilog & SystemVerilog Training

World Class Verilog & SystemVerilog Training World Class Verilog & SystemVerilog Training Sunburst Design - Expert Verilog-2001 FSM, Multi-Clock Design & Verification Techniques by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst

More information

ACCELERATING DO-254 VERIFICATION

ACCELERATING DO-254 VERIFICATION ACCELERATING DO-254 VERIFICATION ACCELERATING DO-254 VERIFICATION INTRODUCTION Automated electronic control systems or avionics allow lighter, more efficient aircraft to operate more effectively in the

More information

Sequential Logic Design

Sequential 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 information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

Lecture 32: SystemVerilog

Lecture 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 information

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007 EE178 Lecture Verilog FSM Examples Eric Crabill SJSU / Xilinx Fall 2007 In Real-time Object-oriented Modeling, Bran Selic and Garth Gullekson view a state machine as: A set of input events A set of output

More information

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date: Design of Datapath Controllers and Sequential Logic Lecturer: Date: 2009.03.18 ACCESS IC LAB Sequential Circuit Model & Timing Parameters ACCESS IC LAB Combinational Logic Review Combinational logic circuits

More information

ECE 551: Digital System *

ECE 551: Digital System * ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - 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 information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

More information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware 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 information

Designing Safe Verilog State Machines with Synplify

Designing Safe Verilog State Machines with Synplify Designing Safe Verilog State Machines with Synplify Introduction One of the strengths of Synplify is the Finite State Machine compiler. This is a powerful feature that not only has the ability to automatically

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

ECEN 468 Advanced Logic Design

ECEN 468 Advanced Logic Design ECEN 468 Advanced Logic Design Lecture 28: Synthesis of Language Constructs Synthesis of Nets v An explicitly declared net may be eliminated in synthesis v Primary input and output (ports) are always retained

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 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 information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

EECS 270 Verilog Reference: Sequential Logic

EECS 270 Verilog Reference: Sequential Logic 1 Introduction EECS 270 Verilog Reference: Sequential Logic In the first few EECS 270 labs, your designs were based solely on combinational logic, which is logic that deps only on its current inputs. However,

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL 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 information

Digital design laboratory 5

Digital design laboratory 5 Digital design laboratory 5 Preparations Launch the ISE Design Suite Create new project: File -> New Project Preparations Name: DigLab5 Location: D drive! D:\DigLab5 Working directory: The same as Location

More information

EECS150 - Digital Design Lecture 6 - Logic Simulation

EECS150 - 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 information

EE 4755 Digital Design Using Hardware Description Languages

EE 4755 Digital Design Using Hardware Description Languages EE 4755 Digital Design Using Hardware Description Languages Basic Information URL: http://www.ece.lsu.edu/v Offered by: David M. Koppelman, Room 345 ERAD Building 578-5482. koppel@ece.lsu.edu, http://www.ece.lsu.edu/koppel/koppel.html

More information

HDLs and SystemVerilog. Digital Computer Design

HDLs and SystemVerilog. Digital Computer Design HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function

More information

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Sunburst 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 information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but

More information

SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For

SystemVerilog 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 information

7.3 Case Study - FV of a traffic light controller

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 information

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam Last (family) name: First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Instructor: Kewal

More information

Testbenches for Sequential Circuits... also, Components

Testbenches for Sequential Circuits... also, Components ! Testbenches for Sequential Circuits... also, Components Lecture L04 18-545 Advanced Digital Design ECE Department Many elements Don Thomas, 2014, used with permission with credit to G. Larson State Transition

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Stuart Sutherland, Sutherland HDL, Inc.

Stuart 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 information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

VHDL Essentials Simulation & Synthesis

VHDL Essentials Simulation & Synthesis VHDL Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using VHDL standard language. The course

More information

ECE Digital Engineering Laboratory. Designing for Synthesis

ECE 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 information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 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 information

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Nate Pihlstrom, npihlstr@uccs.edu Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Objective The objective of this lab assignment is to introduce and use a methodology for designing

More information

Reset and Initialization, the Good, the Bad and the Ugly

Reset and Initialization, the Good, the Bad and the Ugly Reset and Initialization, the, the and the Ugly Ping Yeung Design & Verification Technology Mentor Graphics, Fremont, U.S.A. Kaowen Liu Design Technology Division MediaTek Inc, San Jose, U.S.A. Abstract-

More information

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines

ECE 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 information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx

Techniques 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 information

EE 4755 Digital Design Using Hardware Description Languages

EE 4755 Digital Design Using Hardware Description Languages EE 4755 Digital Design Using Hardware Description Languages Basic Information URL: http://www.ece.lsu.edu/v Offered by: David M. Koppelman, Room 3316R P. F. Taylor Hall 578-5482. koppel@ece.lsu.edu, http://www.ece.lsu.edu/koppel/koppel.html

More information

Formal Verification: Not Just for Control Paths

Formal 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 information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 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 information

Digital System Design with SystemVerilog

Digital System Design with SystemVerilog Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem

More information

With design complexity increasing significantly

With design complexity increasing significantly With design complexity increasing significantly over the years, the verification of asynchronous designs has become one of the biggest challenges in modern systems-on-a-chip (SoCs). Functional simulation,

More information

ASIC world. Start Specification Design Verification Layout Validation Finish

ASIC 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 information

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL

More information

What, If Anything, In SystemVerilog Will Help Me With FPGA-based Design. Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc.

What, If Anything, In SystemVerilog Will Help Me With FPGA-based Design. Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc. What, If Anything, In SystemVerilog Will Help Me With FPGA-based Design Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc. About the Presenter... Stuart Sutherland, SystemVerilog wizard Independent

More information

Writing Circuit Descriptions 8

Writing 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 information

Assertive Verification: A Ten-Minute Primer

Assertive 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 information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University

VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University 1 The Wait Statement Syntax wait until condition; Different forms wait until(clk event and clk = 1 ); wait

More information

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

Course Topics - Outline

Course Topics - Outline Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types Lecture 4 - Operators Lecture 5 - Behavioral modeling A Lecture 6 Behavioral modeling B Lecture 7

More information

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses VHDL Sample Slides from the 2-day and 4-day VHDL Training Courses Rev. 4.7 VHDL 2011 TM Associates, Inc. 1-1 These sample slides are taken from the 4-day basic VHDL training course. They are from a variety

More information

A Practical Solution to Fixing Netlist X-Pessimism

A Practical Solution to Fixing Netlist X-Pessimism A Practical Solution to Fixing Netlist X-Pessimism Most functional verification for SoC and FPGA designs is done prior to RTL hand-off to digital synthesis, since gate-level simulations take longer to

More information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

State Machine Descriptions

State Machine Descriptions State Machine Descriptions Can be modelled using many different coding styles Style guidelines available for Moore or Mealy type machines Several encoding schemes for state variables used in FSM descriptions

More information

Testbench and Simulation

Testbench 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 information

SystemVerilog Essentials Simulation & Synthesis

SystemVerilog Essentials Simulation & Synthesis SystemVerilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using SystemVerilog standard

More information

RTL Design (Using ASM/SM Chart)

RTL Design (Using ASM/SM Chart) Digital Circuit Design and Language RTL Design (Using ASM/SM Chart) Chang, Ik Joon Kyunghee University Process of Logic Simulation and Synthesis Design Entry HDL Description Logic Simulation Functional

More information

Last 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 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 information

Challenges in Verification of Clock Domain Crossings

Challenges in Verification of Clock Domain Crossings Challenges in Verification of Clock Domain Crossings Vishnu C. Vimjam and Al Joseph Real Intent Inc., Sunnyvale, CA, USA Notice of Copyright This material is protected under the copyright laws of the U.S.

More information

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Clock

More information

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

More information

HDL Compiler Directives 7

HDL Compiler Directives 7 7 HDL Compiler Directives 7 Directives are a special case of regular comments and are ignored by the Verilog HDL simulator HDL Compiler directives begin, like all other Verilog comments, with the characters

More information

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis Synthesis of Language Constructs 1 Nets Nets declared to be input or output ports are retained Internal nets may be eliminated due to logic optimization User may force a net to exist trireg, tri0, tri1

More information

Graduate Institute of Electronics Engineering, NTU Design of Datapath Controllers

Graduate 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 information

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

Verilog for High Performance

Verilog 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 information

7.3.3 Same Inputs in Antecedent and Consequent

7.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 information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013

Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013 Beyond Soft IP Quality to Predictable Soft IP Reuse TSMC 2013 Open Innovation Platform Presented at Ecosystem Forum, 2013 Agenda Soft IP Quality Establishing a Baseline With TSMC Soft IP Quality What We

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

One-hot state machine design for FPGAs

One-hot state machine design for FPGAs One-hot state machine design for FPGAs Steve Golson Trilobyte Systems, 33 Sunset Road, Carlisle MA 01741 Phone: 508/369-9669 Email: sgolson@trilobyte.com Abstract: One-hot state machines use one flop per

More information

FINITE STATE MACHINES (FSM) DESCRIPTION IN VHDL. Cristian Sisterna UNSJ

FINITE STATE MACHINES (FSM) DESCRIPTION IN VHDL. Cristian Sisterna UNSJ FINITE STATE MACHINES (FSM) DESCRIPTION IN VHDL UNSJ FSM Review 2 A sequential circuit that is implemented in a fixed number of possible states is called a Finite State Machine (FSM). Finite state machines

More information

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED 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 information

EECS150 - Digital Design Lecture 6 - Logic Simulation. Encoder Example

EECS150 - Digital Design Lecture 6 - Logic Simulation. Encoder Example EECS150 - Digital Design Lecture 6 - Logic Simulation Feb 7, 2013 John Wawrzynek Spring 2013 EECS150 - Lec06-sim Page 1 Encoder Example What is y if x == 4 b1111? always @(x) : encode if (x == 4'b0001)

More information