1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.

Slides:



Advertisements
Similar presentations
CMSC 611: Advanced Computer Architecture
Advertisements

Combinational Logic.
ELEN 468 Lecture 21 ELEN 468 Advanced Logic Design Lecture 2 Hardware Modeling.
Fundamental Concepts 大同大學 資訊工程系 副教授
Verilog Intro: Part 1.
Hardware Description Language (HDL)
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
1 Brief Introduction to Verilog Weiping Shi. 2 What is Verilog? It is a hardware description language Originally designed to model and verify a design.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.
Lecture 1 Design Hierarchy Chapter 1. Digital System Design Flow 1.Register-Transfer Levl (RTL) – e.g. VHDL/Verilog 2.Gate Level Design 3.Circuit Level.
Lecture 2: Hardware Modeling with Verilog HDL
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
VHDL Quick Start Peter J. Ashenden The University of Adelaide.
The Multicycle Processor II CPSC 321 Andreas Klappenecker.
The Design Process CPSC 321 Computer Architecture Andreas Klappenecker.
Verilog Module Module declaration Module instantiation module Add_full (sum, c_out, a, b, c_in); // parent module input a, b, c_in; output c_out, sum;
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
ECEN ECEN475 Introduction to VLSI System Design Verilog HDL.
Digital System Design Verilog ® HDL Maziar Goudarzi.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
Digital System Design EEE344 Lecture 2 Introduction to Verilog HDL Prepared by: Engr. Qazi Zia, Assistant Professor EED, COMSATS Attock1.
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
ECE 2372 Modern Digital System Design
1 Digital System Design Subject Name : Digital System Design Course Code : IT- 308 Instructor : Amit Prakash Singh Home page :
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
CPEN Digital System Design
Module 1.2 Introduction to Verilog
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
February 6, 2009http://csg.csail.mit.edu/6.375/L02-1 Verilog 1 - Fundamentals Complex Digital Systems Arvind February 6, 2009 FA module adder( input.
Verilog A Hardware Description Language (HDL ) is a machine readable and human readable language for describing hardware. Verilog and VHDL are HDLs.
CMSC 611: Advanced Computer Architecture Design & Simulation Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, February 25 CEC 220 Digital Circuit Design Slide 1 of 19.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
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
Introduction to Verilog
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.
CMSC 611: Advanced Computer Architecture Hardware Design Languages Some material adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material.
Exp#5 & 6 Introduction to Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
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.
KARTHIK.S Lecturer/ECE S.N.G.C.E
Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-I]
Hardware Descriptive Languages these notes are taken from Mano’s book
Peter J. Ashenden The University of Adelaide
Introduction to Verilog
Hardware Descriptive Languages these notes are taken from Mano’s book
332:437 Lecture 5 Verilog Tutorial
The Verilog Hardware Description Language
332:437 Lecture 5 Verilog Tutorial
332:437 Lecture 5 Verilog Tutorial
COE 202 Introduction to Verilog
Presentation transcript:

1 Lecture 1: Verilog HDL Introduction

2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent and simulate digital design Hardware concurrency Parallel Activity Flow Semantics for Signal Value and Time –Design examples using Verilog HDL Intel Pentium, AMD K5, K6, Atheon, ARM7, etc Thousands of ASIC designs using Verilog HDL

3 What is VHDL? VHDL represents another high level language for digital system design. In this course we study Verilog HDL –reason: used more often in electronic and computer industry programming style is very similar to C programming language

4 Basic Design Methodology Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest Bench ASIC or FPGA Place & Route Timing Model Simulate

5 Modeling Digital Systems Verilog HDL is for writing models of a system Reasons for modeling –requirements specification –documentation –testing using simulation –formal verification –synthesis Goal –most reliable design process, with minimum cost and time –avoid design errors!

6 Domains and Levels of Modeling high level of abstraction Functional Structural Geometric “Y-chart” due to Gajski & Kahn low level of abstraction

7 Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Algorithm (behavioral) Register-Transfer Language Boolean Equation Differential Equation

8 Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Processor-Memory Switch Register-Transfer Gate Transistor

9 Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Polygons Sticks Standard Cells Floor Plan

10 Verilog HDL Models HDL model specifies the relationship between input signals and output signals HDL uses special constructs to describe hardware concurrency, parallel activity flow, time delays and waveforms Verilog code for a AND gate module and_gate(y, x1, x2); inputx1, x2; outputy; and(y, x1, x2); endmodule

11 Verilog Examples module Add_half (sum, c_out, a, b); output sum, c_out; inputa, b; wirec_out_bar; xorG1 (sum, a, b); nandG2 (c_out_bar, a, b); notG3 (c_out, c_out_bar); endmodule * the instance name of Verilog primitives is optional.

12 Verilog Example: A D Flip Flop module Flip_Flop (q, data_in, clk, rst); input data_in, clk, rst; output q; reg q; (posedge clk) begin if (rst = = 1) q = 0; else q = data_in; end endmodule

13 Verilog Example: behavioral model module adder_4_RTL (a, b, c_in, sum, c_out); output [3:0] sum; output c_out; input [3:0] a, b; input c_in; assign {c_out, sum} = a + b + c_in; endmodule

14 Verilog Example: Structural Models Structural models –Are built from gate primitives and/or other modules –They describe the circuit using logic gates — much as you would see in an implementation of a circuit. Identify –Gate instances, wire names, delay from a or b to f. module mux (f, a, b, sel); outputf; inputa, b, sel; and #5g1 (f1, a, nsel), g2 (f2, b, sel); or #5g3 (f, f1, f2); notg4 (nsel, sel); endmodule a b f sel

15 Verilog Example: Gate-Level Models Need to model the gate’s: –Function –Delay Function –Generally, HDLs have built-in gate-level primitives Verilog has NAND, NOR, AND, OR, XOR, XNOR, BUF, NOT, and some others –The gates operate on input values producing an output value typical Verilog gate instantiation is: and #delay instance-name (out, in1, in2, in3, …); optional“many”

16 Other things you can do More than modeling hardware –$monitor — give it a list of variables. When one of them changes, it prints the information. Can only have one of these active at a time. e.g. … $monitor ($time,,, “a=%b, b=%b, sum=%b, cOut=%b”,a, b, sum, cOut); The above will print: 2 a=0, b=0, sum=0, cOut=0 –$display() — sort of like printf() $display (“Hello, world — %h”, hexvalue) extra commas print a spaces %b is binary (also, %h, %d and others) newline automatically included display contents of data item called “hexvalue” using hex digits (0-9,A-F)

17 Structural vs Behavioral Models Structural model –Just specifies primitive gates and wires –i.e., the structure of a logical netlist –You basically know how to do this now. Behavioral model –More like a procedure in a programming language –Still specify a module in Verilog with inputs and outputs... –...but inside the module you write code to tell what you want to have happen, NOT what gates to connect to make it happen –i.e., you specify the behavior you want, not the structure to do it Why use behavioral models –For testbench modules to test structural designs –For high-level specs to drive logic synthesis tools

18 Summary Model hardware at different levels of abstraction Mix different levels of abstraction in description and simulation Able to model hardware concurrency Support Hierarchical decomposition Availability of ASIC Foundry Support