Verilog Digital System Design Z. Navabi, McGraw-Hill, 2005

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
Evolution and History of Programming Languages Software/Hardware/System.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Introductory Comments Regarding Hardware Description Languages.
The Design Process Outline Goal Reading Design Domain Design Flow
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Digital System Design Verilog ® HDL Maziar Goudarzi.
Spring 2002EECS150 - Lec0-intro Page 1 EECS150 - Digital Design Lecture 8 - Hardware Description Languages February 14, 2002 John Wawrzynek.
O VERVIEW OF DIGITAL SYSTEMS Hardware Description Language 1.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
CSET 4650 Field Programmable Logic Devices
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
1 Verilog Digital System Design Z. Navabi, 2006 Digital Design Flow  Digital Design Flow begins with specification of the design at various levels of.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
ECE 2372 Modern Digital System Design
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
1 H ardware D escription L anguages Modeling Digital Systems.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
COE 405 Design and Modeling of Digital Systems
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Module 1.2 Introduction to Verilog
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
IAY 0600 Digital Systems Design Timing and Post-Synthesis Verifications Hazards in Combinational Circuits Alexander Sudnitson Tallinn University of Technology.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
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.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
IAY 0600 Digital Systems Design
ASIC Design Methodology
EEE2135 Digital Logic Design Chapter 1. Introduction
Topics Modeling with hardware description languages (HDLs).
ECE 551: Digital System Design & Synthesis
Topics Modeling with hardware description languages (HDLs).
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
IAY 0800 Digitaalsüsteemide disain
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
THE ECE 554 XILINX DESIGN PROCESS
H a r d w a r e M o d e l i n g O v e r v i e w
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Verilog Digital System Design Z. Navabi, McGraw-Hill, 2005 Chapter 1 Digital System Design Automation with Verilog Prepared by: Homa Alemzadeh January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Digital System Design Automation with Verilog 1.1 Digital Design Flow 1.1.1 Design entry 1.1.2 Testbench in Verilog 1.1.3 Design validation 1.1.4 Compilation and synthesis 1.1.5 Postsynthesis simulation 1.1.6 Timing analysis 1.1.7 Hardware generation 1.2 Verilog HDL 1.2.1 Verilog evolution 1.2.2 Verilog attributes 1.2.3 The verilog language 1.3 Summary January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Digital System Design Automation with Verilog As the size and complexity of digital systems increase, more computer aided design (CAD) tools are introduced into the hardware design process. Early simulation and primitive hardware generation tools have given way to sophisticated design entry, verification, high-level synthesis, formal verification, and automatic hardware generation and device programming tools. Growth of design automation tools is largely due to hardware description languages (HDLs) and design methodologies that are based on these languages. Based on HDLs, new digital system CAD tools have been developed and are now widely used by hardware designers. One of the most widely used HDLs is the Verilog HDL. Because of its wide acceptance in digital design industry, Verilog has become a must-know for design engineers and students in computer-hardware-related fields. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow FPLD Design Flow January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Design Entry Phase FPLD Design Flow January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Digital Design Flow begins with specification of the design at various levels of abstraction. Design entry phase: Specification of design as a mixture of behavioral Verilog code, instantiation of Verilog modules, and bus and wire assignments January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Presynthesis Verification FPLD Design Flow (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Presynthesis verification: Generating testbenches for verification of the design and later for verifying the synthesis output January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Synthesis Process FPLD Design Flow (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Synthesis process: Translating the design into actual hardware of a target device (FPLD, ASIC or custom IC) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Postsynthesis Verification FPLD Design Flow (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Postsynthesis simulation: Testing the behavioral model of the design and its hardware model by using presynthesis test data January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow FPLD Design Flow (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow Digital Design Flow ends with generating netlist for an application specific integrated circuits (ASIC), layout for a custom IC, or a program for a programmable logic devices (PLD) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Digital Design Flow January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Design Entry Design Entry January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Design Entry The first step in the design of a digital system Describing the design in Verilog in a top-down hierarchical fashion Register Transfer Level (RTL): High-level Verilog designs usually described at this level Verilog constructs used in RT level design: procedural statements for high-level behavioral description continuous assignments for representing logic blocks, bus assignments, and bus and input/output interconnect specifications instantiation statements for using lower-level components in an upper-level design January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Testbench in Verilog Testbench in Verilog January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Testbench in Verilog Simulation and Test of a designed system functionality before Hardware generation Detection of design errors and incompatibility of components used in the design By generation of a test data and observation of simulation results Testbench: A Verilog module Use of high-level constructs of Verilog for: Data Generation Response Monitoring Handshaking with the design Inside the Testbench: Instantiation of the design module Forms a simulation model together with the design, used by a Verilog simulation engine January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Design Validation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Design Validation An important task in any digital system design The process to check the design for any design flaws A design flaw due to: Ambiguous Problem Specifications Designer Errors Incorrect Use of Parts in the Design Can be done by: Simulation Assertion Verification Formal Verification January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Design Validation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Simulation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Simulation Simulation for design validation, done before a design is synthesized Also Referred to as RT level, or Pre-synthesis Simulation Simulation at RTL level is accurate to the clock level The advantage: its speed compared with simulations at the gate or transistor levels The Required Test data: generated graphically using waveform editors, or through a testbench Outputs of simulators: Waveforms (for visual inspection) Text for large designs for machine processing January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

for defining test input data for a simulation engine Outputs Inputs Two alternatives for defining test input data for a simulation engine Using a Testbench or a Waveform Editor for Simulation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Simulation Verilog Simulation with a Testbench Testbench for the Counter Circuit Simulation Verilog Code of a Counter Circuit The simulation results in form of a waveform Verilog Simulation with a Testbench January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Simulation The testbench instantiates the design under test, and as part of the code of the testbench it applies test data to the instantiated circuit. Verilog Simulation with a Testbench (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Simulation Validates the functionality of the counter circuit being tested, Regardless of clock frequency Verilog Simulation with a Testbench (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Simulation Obviously, an actual hardware component behaves differently. Based on the timing and delays of the parts used, there will be a nonzero delay between the active edge of the clock and the counter output. Furthermore, if the clock frequency applied to an actual part is too fast for propagation of values within the gates and transistors of a design, the output of the design becomes unpredictable. The simulation shown here is not provided with the details of the timing of the hardware being simulated. Therefore, potential timing problems of the hardware that are due to gate delays cannot be detected. This is typical of a presynthesis or high-level behavioral simulation. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Assertion Verification January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Assertion Verification Aassertion Monitors: Used to continuously check for design properties during simulation Instead of having to inspect simulation results manually or by developing sophisticated testbenches Design Properties: Certain conditions have to be met for the design to function correctly Assertion Monitors developed to assert that the Design Properties are not violated Firing of an assertion verification: alerts the malfunctioning of design according to the designer’s expectation Open verification library (OVL): provides a set of assertion monitors for monitoring common design properties January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Formal Verification Formal Verification January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Formal Verification Formal verification: The process of checking a design against certain properties Examining the design to make sure that the described properties by the designer to reflect correct behavior of the design hold under all conditions Property’s Counter Examples: Input conditions making a property to fail Property coverage indicates how much of the complete design is exercised by the property January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis Synthesis: The process of automatic hardware generation from a design description that has an unambiguous hardware correspondence. A Verilog description for synthesis: Cannot include signal and gate level timing specifications, file handling, and other language constructs that do not translate to sequential or combinational logic equations Must follow certain styles of coding for combinational and sequential circuits Compilation process has three phases: Analysis Phase Synthesis Phase Routing and Placement Phase January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis Input: Hardware description consisting of various levels of Verilog Compilation and Synthesis The compilation process and a graphical representation for each of the compilation phase outputs Output: A detailed hardware for programming an FPLD or manufacturing an ASIC Compilation and Synthesis Process January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis Analysis Phase: Translates various parts of the design to an intermediate format. Compilation and Synthesis Process (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis Synthesis Phase: Links all parts together and generates the corresponding logic. Has three different phases. Compilation and Synthesis Process (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis Routing and Placement Phase: Places and routes components of the target hardware, and generates timing details. Compilation and Synthesis Process (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Compilation and Synthesis January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Analysis January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Analysis Before the complete design is turned into hardware Analyzing the design and generating a uniform format for all parts of it Also checks the syntax and semantics of the input Verilog code January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Generic Hardware Generation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Generic Hardware Generation Generic Hardware Generation: Turning the design into a generic hardware format such as a set of Boolean expressions or a netlist of basic gates January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Logic Optimization January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Logic Optimization Logic Optimization: Reducing expressions with constant input Removing redundant logic expressions Two-level minimization Multilevel minimization that include logic sharing Output: Boolean expressions Tabular logic representations Primitive gate netlists January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Binding January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Binding Binding: Decide exactly what logic elements and cells are needed for the realization of the circuit using information from target hardware Output is specific to the FPLD, ASIC, or custom IC being used January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Routing and Placement January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Routing and Placement Decides on the placement of cells of the target hardware Determines wiring of inputs and outputs of the cells through wiring channels and switching areas of the target hardware The output is specific to the hardware being used and can be used for programming an FPLD or manufacturing an ASIC. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Routing and Placement An example of a synthesis run: The counter circuit is being synthesized An Example Synthesis Run January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Routing and Placement Verilog Description of the Design Specification of the Target Hardware An Example Synthesis Run (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

The output of synthesis tool Routing and Placement The output of synthesis tool A list of gates and flip-flops available in the target hardware and their interconnections An Example Synthesis Run (Continued) January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Postsynthesis Simulation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Post-synthesis Simulation After the Synthesis Phase a complete netlist of target hardware components and their timings is generated. The generated netlist includes: The details of gates used for the implementation of the design Wiring delays and load effects on gates used in the postsynthesis design The netlist output is made available in various netlist formats including Verilog A Postsynthesis simulation checks: Timing issues Determination of a proper clock frequency Determination of race, and hazard considerations The behavior of a design as intended by the designer and its behavior after postsynthesis simulation may be different due to delays of wires and gates. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Timing Analysis Timing Analysis January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Timing Analysis A part of the compilation process, or in some tools after the compilation process Timing Analysis Phase generates: Worst-case delays Clocking speed Delays from one gate to another Required setup and hold times Results of timing analysis appear in Tables and/or Graphs The results is used by designers to decide on speed of their circuits. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Hardware Generation Hardware Generation January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Hardware Generation Last stage in an automated Verilog-based design Generates a netlist for ASIC manufacturing, a program for programming FPLDs, or layout of custom IC cells January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog HDL January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog HDL A language that can be understood by: System Designers RT Level Designers, Test Engineers Simulators Synthesis Tools Machines Has become an IEEE standard January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Evolution January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Evolution Designed in early 1984 by Gateway Design Automation Originally used as a simulation and verification tool After the initial acceptance of this language by electronic industry, a fault simulator, a timing analyzer, and later in 1987, a synthesis tool was developed based on this language. Since acquiring Gateway Design Automation and its Verilog-based tools by Cadence Design System, Cadence has been a strong force behind popularizing the Verilog hardware description language. In 1987 VHDL became an IEEE standard hardware description language. VHDL was adapted by the U.S. government for related projects and contracts. In an effort for popularizing Verilog, in 1990, OVI (Open Verilog International) was formed and Verilog was placed in public domain. In 1993, efforts for standardization of this language started. Verilog became the IEEE standard, IEEE Std. 1364-1995, in 1995. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Evolution Verilog-2001: A new version of Verilog approved by IEEE in 2001 Additional Features of Verilog-2001: New features for external file access for read and write Library management Constructs for design Configuration Higher abstraction level constructs Constructs for specification of iterative structures January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Attributes January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Attributes Verilog is a hardware description language for describing hardware from transistor level to behavioral. Supports timing constructs for switch level timing simulation and at the same time, has features for describing hardware at the abstract algorithmic level. A Verilog description may consist of a mix of modules at various abstraction levels with different degrees of detail. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Verilog Attributes January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Switch Level Switch Level January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Switch Level Features of the language for switch level modeling and simulation: Primitive unidirectional and bidirectional switches with parameters for delay and charge storage Circuit delays may be modeled as propagation delay, rise and fall delay, and line delays. The charge storage feature for describing dynamic complimentary metal oxide semicondutor (CMOS) and metal oxide semiconductor (MOS) circuits. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Gate Level Gate Level January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Gate Level Gate level primitives with predefined parameters provide a convenient platform for: netlist representation gate level simulation. For more detailed and special purpose gate simulations: Gate components defined at the behavioral level. Verilog provides utilities for defining primitives with special functionalities: A simple 4-value logic system used for signal values 16 levels of strength in addition to the four values for more accurate logic modeling January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Pin-To-Pin Delay Pin-To-Pin Delay January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Pin-To-Pin Delay Verilog provides a utility for timing specification of components at the input/output level: Can be used for back annotation of timing information in original predesigned descriptions Enables modelers to finetune timing behavior of their models based on physical implementations January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Bussing Specifications January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Bussing Specifications Verilog provides: Bus and register modeling utilities For various bus structures, predefined wire and bus resolution functions using the 4-value logic value system. Combination of bus logic and resolution-functions enable modeling of most physical bus types. For register modeling, high-level clock representation and timing-control constructs can be used for representation of registers with various clocking and resetting schemes. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Behavioral Level Behavioral Level January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Behavioral Level Procedural blocks in Verilog enable algorithmic representations of hardware structures. Constructs similar to those in software programming languages are provided for describing hardware at this level. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 System Utilities System Utilities January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 System Utilities System tasks in Verilog provide designers with tools for : Testbench generation File access for read and write Data handling Data generation Special hardware modeling. System utilities for reading memory and programmable logic array (PLA) images provide convenient ways of modeling these components. Verilog display and I/O tasks can be used to handle all inputs and outputs for data application and simulation. Verilog allows random access to files for read and write operations. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 PLI PLI January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 The Verilog Language January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 The Verilog Language The Verilog HDL satisfies all requirements for design and synthesis of digital systems: Supports hierarchical description of hardware from system to gate or even switch level. Has strong support at all levels for timing specification and violation detection. Timing and concurrency required for hardware modeling are specially emphasized in it. A hardware component is described by the module_declaration language construct in it. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 The Verilog Language The Verilog HDL satisfies all requirements for design and synthesis of digital systems (Continued): Description of a module specifies a component’s input and output list as well as internal component busses and registers within a module, concurrent assignments, component instantiations, and procedural blocks can be used to describe a hardware component. Several modules can hierarchically be instantiated to form other hardware structures. Many Verilog tools and environments exist that provide simulation, fault simulation, formal verification, and synthesis. Simulation environments provide graphical front-end programs and waveform editing and display tools. Synthesis tools are based on a subset of Verilog. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006

Verilog Digital System Design Copyright Z. Navabi, 2006 Summary This chapter presented: An overview of mechanisms, tools, and processes used for taking a design from the design stage to a hardware implementation The history of Verilog evolution With this standard HDL, the efforts of tool developers, researchers, and software vendors have become more focused, resulting in better tools and more uniform environments. January 2006 Verilog Digital System Design Copyright Z. Navabi, 2006