16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

Verilog Section 3.10 Section 4.5. Keywords Keywords are predefined lowercase identifiers that define the language constructs – Key example of keywords:
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
ENEL111 Digital Electronics
Verilog.
The Verilog Hardware Description Language
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
ELEN 468 Lecture 21 ELEN 468 Advanced Logic Design Lecture 2 Hardware Modeling.
Chapter 11 Verilog HDL Application-Specific Integrated Circuits Michael John Sebastian Smith Addison Wesley, 1997.
CPEN Digital System Design
Verilog Intro: Part 1.
Hardware Description Language (HDL)
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.

DON’T CARE CONDITIONS Functions that have unspecified output for some input combinations are called incompletely specified functions. Unspecified minterms.
Introduction to Verilog (Behavioral Modeling). Agenda Gate Delays and User-Defined Primitives Behavioral Modeling Design Examples Hands-on Practice.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
Hardware Description Language HDL. 2 Hardware Description Language HDL  Describes circuits and systems in text. −As a software program.  Can be processed.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
ECE 2372 Modern Digital System Design
ECE/CS 352 Digital Systems Fundamentals
COE 405 Introduction to Logic Design with Verilog
Verilog HDL. Hardware Description Language  HDL – a “language” for describing hardware  Two industry IEEE standards: Verilog VHDL (Very High Speed Integrated.
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
Verilog HDL: A solution for Everybody By, Anil Kumar Ram Rakhyani
Verilog Language Concepts
CS 3850 Lecture 3 The Verilog Language. 3.1 Lexical Conventions The lexical conventions are close to the programming language C++. Comments are designated.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
CPEN Digital System Design
Introduction to Chapter 3  Now that we understand the concept of binary numbers, we will study ways of describing how systems using binary logic levels.
Module 1.2 Introduction to Verilog
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, February 25 CEC 220 Digital Circuit Design Slide 1 of 19.
LECTURE III INTRODUCTION TO HDL/VERILOG. HDL: Hardware Description Languages (Verilog for this class) are a way in which digital circuits can be described.
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
ECE 171 Digital Circuits Chapter 8 Hardware Description Language Herbert G. Mayer, PSU Status 11/23/2015 Copied with Permission from prof. Mark
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
CEC 220 Digital Circuit Design Introduction to VHDL Wed, Oct 14 CEC 220 Digital Circuit Design Slide 1 of 19.
LECTURE VI USER DEFINED PRIMITIVES GATE-LEVEL MODELING.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
ECE 171 Digital Circuits Chapter 8 Hardware Description Language
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.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Discussion 2: More to discuss
Verilog-HDL-1 by Dr. Amin Danial Asham.
Verilog-HDL-3 by Dr. Amin Danial Asham.
Hardware Descriptive Languages these notes are taken from Mano’s book
Behavioral Modeling in Verilog
Introduction to Verilog
Lecture 1.3 Hardware Description Languages (HDLs)
Levels in computer design
Hardware Descriptive Languages these notes are taken from Mano’s book
HDL Hardware Description Language
مدار منطقی به نام یگانه مهندس هستی مهدی قدیری
Chapters 4 – Part3: Verilog – Part 1
The Verilog Hardware Description Language
COE 202 Introduction to Verilog
Presentation transcript:

16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and complex functions Signals Gates, and complex functions A Complete Digital System

16/04/20152 HDL, Area of Application Design Entry Logic Simulation Functional Verification Digital Circuit Synthesis Timing Verification Fault Simulation Documntation

16/04/20153 Declarations Language Manual describes Syntax Reserved words….around 100 Reserved words are lower case: module, endmodule, input, output, wire, timescale….. // is used for comments /*….*/ Is used for multi-line comments Blank spaces are ignored Blank spaces may not appear within a reserved word, identifier, an operator or a number

16/04/20154 Declarations Verilog is case sensitive module.. Must be closed with endmodule and there is no “;” after endmodule. Combinational Logic can be described by: Boolean Equations, Truth Table, Schematic Capture A digital System can be modeled in structural, algorithmic or behavioural.

16/04/20155 Identifiers Are case sensitive, Must NOT start with numeric characters They may contain the underscore “ _” Example: Asim Al_Khalili Al-khalili COEN312

16/04/20156 Verilog Constructs Each module starts with reserved word module and ends with endmodule. The port list is enclosed within parenthesis. Commas are used to separate the elements. All statements must end with a “;”. input and out define the ports. wire defines the internal connections. Gates are defined with reserved words and, not or … Each gate is called by a gate instantiation. Gates names are optional but help in identifying the circuit. Gate output, inputs are ordered separated with a comma and enclosed by parenthesis.

16/04/20157 Example (Mano’s book 4thEdition ) A w1 B G1 G3 D G2 E // Verilog model circuit of above figure. IEEE Syntax module Simple_Circuit (A,B,C,D,E); output D,E; input A,B,C; wire w1; and G1 (w1,A,B); not G2 (E,C); or G3 (D,w1,E); endmodule

16/04/20158 Delays The propagation delay is specified in terms of time units and is specified by the symbol # and #(10) G1 (w1, A,B) The association of time unit and the time scale is made with the compiler directive ‘timescale The directive is specified before the declaration of a module ‘timescale 1 ns/100ps indicates unit of measurement for time delay followed by the precision round off.

16/04/20159 Test Bench T_Simple_Circuit Test generator Circuit reg wire CircuitStimulator // Test bench for Simple_Circuit__delay module t_Simple_Circuit_delay; wire D,E; reg A,B,C; Simple_Circuit_delay M1 (A,B,C,D,E); //instantiation of M1 initial begin A= 1’b0; B=1’b0; C=1’b0; #100 A=1’b1; B=1’b1; C=1”b1; end Initial #200 $finish; endmodule

16/04/ Example (Mano’s book 4thEdition ) A (30ns) w1 (20 ns) B G1 G3 D E C G2 (10) ns // Verilog model circuit of above figure. IEEE Syntax module Simple_Circuit_with_delay (A,B,C,D,E); output D,E; input A,B,C; wire w1; and # (30) G1 (w1,A,B); not #(10)G2 (E,C); or #(20)G3 (D,w1,E); endmodule Time units (ns) Input A B C Output E w1 D Initial initial

16/04/ Example (Mano’s book 4thEdition ) A w1 B G1 G3 D E C G2 A B C W1 E D

16/04/ Boolean Expressions Use reserved word assign and &, | and ~ for AND,OR,NOT Example: // Boolean Circuit representation module Boolean Circuit (E,F,A,B,C,D); output E,F; input A,B,C,D; assign E= A| (B&C)|(~B&D); assign F= (~B &C) | (B& ~C & ~D); endmodule

16/04/ User Defined Primitives System primitives: and, or, nand, xor One way is to define own primitive by a Truth Table…. Use primitive and endprimitive to create a UDP It is declared with the reserved word primitive followed by a name and port list One output and it must be listed first in the port listing and following the output declaration Any number of inputs, however the order given in the port declaration must be the same as the Table The table must start with the reserved word table and end with endtable The values of the inputs are listed in order and separated from output by : the line ends with ;

16/04/ User Defined Primitives Example: // Verilog model: User Defined Primitive primitive UDP_02467 (D,A,B,C); output D; input A,B,C; // Truth Table for D= f( A, B,C ) = Σ m(0,2,4,6,7); table // A B C : D // headers endtable endprimitive 000:1; 001:0; 010:1; 011:0; 100:1; 101:0; 110:1; 111:

16/04/ Calling of UDP // Verilog model: Circuit instantiation of Circuit_UPD_02467 module Circuit_withUDP_02467 (e,f,a,b,c,d); output e,f; input a,b,c,d; UDP_02467 (e,a,b,c); and (f,e,d); endmodule UDP_02467 abcdabcd efef