Hardware Description Language

Slides:



Advertisements
Similar presentations
Verilog HDL -Introduction
Advertisements

ENEL111 Digital Electronics
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.
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 
Introduction to Verilog
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
B. RAMAMURTHY Hardware Description Language 8/2/
Digital System Design EEE344 Lecture 3 Introduction to Verilog HDL Prepared by: Engr. Qazi Zia, Assistant Professor EED, COMSATS Attock1.
ECE 2372 Modern Digital System Design
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.
EEE2243 Digital System Design Chapter 3: Verilog HDL (Combinational) by Muhazam Mustapha, January 2011.
Module 1.2 Introduction to Verilog
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
Digital Electronics Chapter 3 Gate-Level Minimization.
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
Multiplexers Section Topics Multiplexers – Definition – Examples – Verilog Modeling.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Introduction to Verilog. Introduction 1)Verilog is one of the hardware description languages (HDL) available in the industry for hardware designing. 2)It.
Exp#5 & 6 Introduction to Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
Mohamed Younis CMCS 411, Computer Architecture 1 CMSC Computer Architecture Lecture 8 Hardware Design Languages February 21, 2001
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.
Hardware Description Languages: Verilog
Adapted from Krste Asanovic
TODAY’S OUTLINE Introduction to Verilog Verilog coding format
ELEN 468 Advanced Logic Design
Reg and Wire:.
Discussion 2: More to discuss
Verilog Introduction Fall
Verilog-HDL-1 by Dr. Amin Danial Asham.
KARTHIK.S Lecturer/ECE S.N.G.C.E
Lecture 2 Supplement Verilog-01
HDL Programming Fundamentals
Hardware Description Languages: Verilog
Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-I]
Hardware Descriptive Languages these notes are taken from Mano’s book
Hardware Description Language
Chapter 3: Dataflow Modeling
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value
Hardware Description Language
Hardware Description Language
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
Hardware Description Language
Digital Fundamentals Floyd Chapter 4 Tenth Edition
Hardware Description Language
Supplement on Verilog adder examples
Hardware Description Language
EEE2243 Digital System Design Chapter 1: Verilog HDL (Combinational) by Muhazam Mustapha, February 2012.
Introduction to Digital IC Design
COE 202 Introduction to Verilog
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Hardware Description Language B. Ramamurthy 4/24/2018

HDL Your goal in this class is to be able to design hardware organization of digital processors. How do you specify this hardware design or model, its components/modules, instances and interface (ports) to the external world? Using a language that we can easily specify and understand. VHDL is a older language Verilog is commonly used 4/24/2018

HDL (contd.) As explained in your text: The principal feature of a hardware description language is that it contains the capability to describe the function of a piece of hardware independently of the implementation. The great advance with modern HDLs was the recognition that a single language could be used to describe the function of the design and also to describe the implementation. This allows the entire design process to take place in a single language, and thus a single representation of the design. 4/24/2018

Verilog The Verilog Hardware Description Language, usually just called Verilog, was designed and first implemented by Phil Moorby at Gateway Design Automation in 1984 and 1985. Verilog simulators are available for most computers at a variety of prices, and which have a variety of performance characteristics and features. Verilog is more heavily used than ever, and it is growing faster than any other hardware description language. It has truly become the standard hardware description language. 4/24/2018

Verilog A Verilog model is composed of modules. A module is the basic unit of the model, and it may be composed of instances of other modules. A module which is composed of other module instances is called a parent module, and the instances are called child modules. system comp2 comp1 sub3 4/24/2018

Verilog Design Concept System instantiates comp1,comp2 comp2 instantiates sub3 System comp1 comp2 sub3 4/24/2018

Primitives Primitives are pre-defined module types. They can be instantiated just like any other module type. The Verilog primitives are sometimes called gates, because for the most part, they are simple logical primitives. 1-output and,nand or,nor   1-input buf,not Etc.      4/24/2018

Example Primitives are instantiated in a module like any other module instance. For example, the module represented by this diagram would be instantiated: module test; wire n1, n2; reg ain, bin; and and_prim(n1, ain, bin); not not_prim(n2, n1); endmodule ain n2 n1 bin 4/24/2018

Assign Continuous assignments are sometimes known as data flow statements because they describe how data moves from one place, either a net or register, to another. They are usually thought of as representing combinational logic. Example:    assign w1 = w2 & w3; 4/24/2018

Lets get the Verilog module for this circuit http://www.doulos.com/knowhow/verilog_designers_guide/wire_assignments/ 4/24/2018

Solutions using “assign” and “wire” module AOI (input A, B, C, D, output F); /* start of a block comment wire F; wire AB, CD, O; assign AB = A & B; assign CD = C & D; assign O = AB | CD; assign F = ~O; end of a block comment */ // Equivalent... wire AB = A & B; wire CD = C & D; wire O = AB | CD; wire F = ~O; endmodule // end of Verilog code 4/24/2018

Module abc in vabc module vabc (d, s);    input [1:0] s;    output [3:0] d;    abc a1 (d[3], d[2], d[1], d[0], s[1], s[0]); endmodule 4/24/2018

Module Definition + Gate Level Diagram module abc (a, b, c, d, s1, s0); input s1, s0; output a, b, c,d; not (s1_, s1), (s0_, s0); and (a, s1_, s0_); and (b, s1_, s0); and (c, s1, s0_); and (d, s1, s0); endmodule 4/24/2018

Verilog Module Example module shift (shiftOut, dataIn, shiftCount); parameter width = 4; output [width-1:0] shiftOut; input [width-1:0] dataIn; input [31:0] shiftCount; assign shiftOut = dataIn << shiftCount; endmodule This module can now be used for shifters of various sizes, simply by changing the width parameter. Parameters can be changed per instance. shift sh1 (shiftedVal, inVal, 7); //instantiation of shift module defparam sh1.width = 16; // parameter redefinition 4/24/2018

Net component (connectors) Nets are the things that connect model components together. They are usually thought of as wires in a circuit. Nets are declared in statements like this:   net_type [range] [delay3] list_of_net_identifiers ; or   net_type [drive_strength] [range] [delay3]     list_of_net_decl_assignments ; Example: wire w1, w2;   tri [31:0] bus32;   wire wire_number_5 = wire_number_2 & wire_number_3; & here represents AND operation (AND gate) 4/24/2018

Register Types There are four types of registers: Reg This is the generic register data type. A reg declaration can specify registers which are 1 bit wide to 1 million bits wide. A register declared as a reg is always unsigned.   Integer Integers are 32 bit signed values. Arithmetic done on integers is 2's complement.   Time Registers declared with the time keyword are 64-bit unsigned integers.   Real (and Realtime) Real registers are 64-bit IEEE floating point. Not all operators can be used with real operands. Real and realtime are synonymous. 4/24/2018