Gate level or structural modeling

Similar documents
Chapter 2a: Structural Modeling

Verilog Tutorial (Structure, Test)

Combinational Logic II

Contents. Appendix D Verilog Summary Page 1 of 16

Introduction to Verilog design. Design flow (from the book) Hierarchical Design. Lecture 2

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

Introduction to Verilog design. Design flow (from the book)

Introduction to Digital Design with Verilog HDL

Modeling Concepts. Introduction

Combinational Logic. Prof. Wangrok Oh. Dept. of Information Communications Eng. Chungnam National University. Prof. Wangrok Oh(CNU) 1 / 93

Verilog Design Principles

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

UNIT V: SPECIFICATION USING VERILOG HDL

Verilog Design Principles

Online Verilog Resources

Advanced Digital Design with the Verilog HDL

Lecture 15: System Modeling and Verilog

Department of Technical Education DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING. Fifth Semester. Subject: VHDL Programming

Introduction to Verilog

Verilog. Like VHDL, Verilog HDL is like a programming language but:

ECE Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers

Chap 6 - Introduction to HDL (b)

Why Should I Learn This Language? VLSI HDL. Verilog-2

EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE

Verilog for Combinational Circuits

IT T35 Digital system desigm y - ii /s - iii

Hardware description language (HDL)

N-input EX-NOR gate. N-output inverter. N-input NOR gate

ECEN 468 Advanced Logic Design

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Synthesizable Verilog

ACS College of Engineering. Department of Biomedical Engineering. Logic Design Lab pre lab questions ( ) Cycle-1

LAB #1 BASIC DIGITAL CIRCUIT

CSE 2021 Computer Organization. The Basics of Logic Design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

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

Introduction to Verilog. Garrison W. Greenwood, Ph.D, P.E.

ECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks

VLSI Design 13. Introduction to Verilog

THE VERILOG? HARDWARE DESCRIPTION LANGUAGE

ECEN 468 Advanced Digital System Design

Introduce some of the data types that are part of the Verilog language. These are known as the intrinsic (or built-in) types.

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages

Chapter 2 Basic Logic Circuits and VHDL Description

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Hardware Description Language VHDL (1) Introduction

EECS 427 Lecture 14: Verilog HDL Reading: Many handouts/references. EECS 427 W07 Lecture 14 1

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

CSE241 VLSI Digital Circuits Winter Recitation 1: RTL Coding in Verilog

DIGITAL CIRCUIT LOGIC UNIT 7: MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES

Design Using Verilog

CSE303 Logic Design II Laboratory 01

MLR Institute of Technology

ELCT 501: Digital System Design

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

WELCOME TO. ENGR 303 Introduction to Logic Design. Hello my name is Dr. Chuck Brown

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages

(ii) Simplify and implement the following SOP function using NOR gates:

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Chap 6 Introduction to HDL (d)

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

14. Introducton to Verilog

Verilog HDL Introduction

Verilog HDL. A Guide to Digital Design and Synthesis. Samir Palnitkar. SunSoft Press A Prentice Hall Title

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

EEL 4783: Hardware/Software Co-design with FPGAs

Verilog HDL. Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

VERILOG QUICKSTART. Second Edition. A Practical Guide to Simulation and Synthesis in Verilog

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011

Introduction to Verilog HDL. Verilog 1

register:a group of binary cells suitable for holding binary information flip-flops + gates

Verilog HDL:Digital Design and Modeling. Chapter 3. Keywords

14. Introducton to Verilog

Overview of Verilog Part 1

A Tutorial Introduction 1

Chapter 4. Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

Verilog Tutorial. Introduction. T. A.: Hsueh-Yi Lin. 2008/3/12 VLSI Digital Signal Processing 2

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

Combinational Logic Circuits

Chapter 3 Part 2 Combinational Logic Design

Introduction to VHDL #1

Hardware Description Languages (HDLs) Verilog

Verilog 1 - Fundamentals

Introduction to Verilog. Mitch Trope EECS 240 Spring 2004

Digital System Design Verilog-Part III. Amir Masoud Gharehbaghi

Keywords: HDL, Hardware Language, Digital Design, Logic Design, RTL, Register Transfer, VHDL, Verilog, VLSI, Electronic CAD.

HDL for Combinational Circuits. ENEL211 Digital Technology

REGISTER TRANSFER LANGUAGE

Contents of Verilog Reference Guide

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

Verilog Code File Normally this will not have delay information, but it will have fanout (loading) information. Cell Model File

DIGITAL SYSTEM DESIGN

Transcription:

Gate level or structural modeling Prerequisites Functioning of basic logic gates and basic understanding of Verilog coding is required. You are suggested to complete the previous unit before starting this unit. Suggested Time Gate Level Modeling requires around 4-5 hours. Motivation Gate-level modeling is virtually the lowest-level of abstraction. Although there is a lower level of abstraction known as switch-level abstraction, this is impractical to use for most systems and is rarely used. In general, gate-level modeling is used for implementing the lowest level modules in a design like, full-adder, multiplexers, etc. Verilog has gate primitives for all basic gates. Learning Objectives After finishing this module, you will be able to 1. Interpret the meaning of Gate-level modeling/structural modeling and its importance 2. Design circuits in Verilog using basic gates like AND, OR, Buffer, NOT type gates. 3. Analyze delay modeling of the circuit and analyze gate level behavior. Introduction In this module, we will discuss a design at a low level of abstraction, i.e., Gate Level. At gate level, the circuit is described in terms of gates (e.g., AND gate, NAND gate). Elementary gates are the building blocks of all

digital circuits - whether combinational, sequential, or involved version combining both. Conversely, any digital circuit can be split up into constituent elementary gates. Hardware design at this level is intuitive for a user with a basic knowledge of digital logic design because it is possible to see a one-to-one correspondence between the logic circuit diagram and the Verilog description. Therefore we start with gate-level modeling and move to higher levels of abstraction in the succeeding modules. Gate Primitives Gate primitives are predefined in Verilog, which are ready to use. They are instantiated like modules. There are two classes of gate primitives: Multiple input gate primitives and Single input gate primitives. Multiple input gate primitives include and, nand, or, nor, xor, and xnor. These can have multiple inputs and a single output. Single input gate primitives include not, buf, notif1, bufif1, notif0, and bufif0. These have a single input and one or more outputs. Some gate primitives like: notif1, bufif1, notif0, and bufif0 also have a control signal. Examples on gate primitives use are given below // Two input AND gate. and and_1 (out, in0, in1); // Three input NAND gate. nand nand_1 (out, in0, in1, in2);

// Three input NOR gate. nor nor_1 (out, in0, in1,in2); // Four input NOR gate. nor nor_1 (out, in0, in1, in2, in3); // Five input XOR gate. xor xor_1 (out, in0, in1, in2, in3, in4); In the first example and is the name of gate primitive and and_1 is the name given for reference. This name is optional and it is only for reference purposes. in0and in1 are 2 inputs and out is the output of the and module. The complete list of gate primitives is given below.

Gate level modeling refers to the ability to describe the circuit as a net list of primitive logic gates and functions. The gates have one scalar output and multiple scalar inputs. Gate Delays In Verilog, a designer can specify the gate delays in a gate primitive instance. This helps the designer to get a real time behavior of the logic circuit. Rise delay: It is equal to the time taken by a gate output transition to 1, from another value 0, x, or z. Fall delay: It is equal to the time taken by a gate output transition to 0, from another value 1, x, or z. Turn-off delay: It is equal to the time taken by a gate output transition to high impedance state, from another value 1, x, or z. If the gate output changes to x, the minimum of the three delays is considered. If only one delay is specified, it is used for all delays. If two values are specified, they are considered as rise, and fall delays. If three values are specified, they are considered as rise, fall, and turn-off delays. The default value of all delays is zero. Examples:

1. and #(2) and_1 (out, in0, in1); // All delay values are 2 time units. 2. nand #(1,2,3) nand_1 (out, in0, in1); // rise delay = 1, fall delay = 2, and turn-off delay = 3. 3. or #(3,4) or_1 (out, in0, in1); // rise delay = 3, fall delay = 4, and turn-off delay = min(3,4) = 3. There is another way of specifying delay times in Verilog, Min: Typ: Max values for each delay. This helps the designer to have a much better real time experience of design simulation, as in real time logic circuits the delays are not constant. The user can choose one of the delay values using +maxdelays, +typdelays, and +mindelays at run time. The typical value is the default value. Examples 1. and #(4:5:6) and_1 (out, in0, in1); // For all delay values: Min=4, Typ=5, Max=6. 2. nand #(3:4:5,4:5:6,5:6:7) nand_1 (out, in0, in1); // rise delay: Min=3, Typ=4, Max=5, fall delay: Min=4, Typ=5, Max=6, turn-off delay: Min=5, Typ=6, Max=7. In the above example, if the designer chooses typical values, then rise delay = 4, fall delay = 5, turn-off delay = 6.