Sharif University of Technology Department of Computer Engineering Digital System Design Verilog ® HDL Basic Concepts Digital System Design Verilog ® HDL.

Slides:



Advertisements
Similar presentations
Verilog HDL -Introduction
Advertisements

Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 06: Verilog (2/3) Prof. Sherief Reda Division of.
Simulation executable (simv)
Synchronous Sequential Logic
Chap. 6 Dataflow Modeling
Verilog Intro: Part 1.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value Z:high-impedance.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
CS 3850 Lecture 4 Data Type. Physical Data Types The primary data types are for modeling registers (reg) and wires (wire). The reg variables store the.
ENEE 408C Lab Capstone Project: Digital System Design Spring 2006 Class Web Site:
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value Z:high-impedance.
CS 3850 Lecture 5 Operators. 5.1 Binary Arithmetic Operators Binary arithmetic operators operate on two operands. Register and net (wire) operands are.
Reconfigurable Computing (EN2911X, Fall07) Lecture 05: Verilog (1/3) Prof. Sherief Reda Division of Engineering, Brown University
Digital System Design Verilog ® HDL Behavioral Modeling (1) Maziar Goudarzi.
B. RAMAMURTHY Hardware Description Language 8/2/
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
Digital System Design EEE344 Lecture 3 Introduction to Verilog HDL Prepared by: Engr. Qazi Zia, Assistant Professor EED, COMSATS Attock1.
Tasks and Functions Programmable Logic Design (40-493) Fall 2001 Computer Engineering Department Sharif University of Technology Maziar Gudarzi.
Spring 2007W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 7: Design Example,
Chap. 3 Basic Concepts. 2 Basic Concepts Lexical Conventions Data Types System Tasks and Compiler Directives Summary.
Digital System Design Verilog ® HDL Basic Concepts Maziar Goudarzi.
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
Programmable Logic Architecture Verilog HDL FPGA Design Jason Tseng Week 2-3.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Introduction to Verilog Tahir Muhammad FPGA Based System Design.
ECE 2372 Modern Digital System Design
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 2: Introduction to Verilog Syntax Spring.
Spring 2007W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 2: Introduction.
Workshop Topics - Outline
CSE 241 Computer Organization Lecture # 9 Ch. 4 Computer Arithmetic Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
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 Design Introduction to Verilog ® HDL Maziar Goudarzi.
Module 1.3 Verilog Basics UNIT 1 : Introduction to Verilog Data Types.
CSNB374: Microprocessor Systems Chapter 1: Introduction to Microprocessor.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Use of HDLs in Teaching of Computer Hardware Courses Zvonko Vranesic and Stephen Brown University of Toronto.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
Sharif University of Technology Department of Computer Engineering Verilog ® HDL Basic Concepts Alireza Ejlali.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 6: Procedural Modeling Spring 2009 W. Rhett.
Introduction to Verilog
Signals & Data-typesVer 1.1, Copyright 1997, TS, Inc. VHDL S i g n a l s & D a t a T y p e s Page 1.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Chapter 3: Dataflow Modeling Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 3-1 Chapter 3: Dataflow Modeling.
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,
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Structural Description
SystemVerilog for Verification
Discussion 2: More to discuss
Verilog® HDL -Parameters -Strings -System tasks
KARTHIK.S Lecturer/ECE S.N.G.C.E
Verilog-HDL-3 by Dr. Amin Danial Asham.
Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-I]
Behavioral Modeling in Verilog
Chapter 3: Dataflow Modeling
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value
Introduction to Verilog® HDL
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value
COE 202 Introduction to Verilog
Introduction to Digital System and Microprocessor Design
Logic Values 0:logic 0 / false 1:logic 1 / true X:unknown logic value
Introduction to Verilog® HDL
COE 202 Introduction to Verilog
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Sharif University of Technology Department of Computer Engineering Digital System Design Verilog ® HDL Basic Concepts Digital System Design Verilog ® HDL Basic Concepts Alireza Ejlali

2 Verilog Syntax White Space White Space Space \b Space \b Tab \t Tab \t Newline \n Newline \n Comments Comments /* Comments */ /* Comments */ // Comments // Comments Number Specification (‘b, ‘h, ‘o, ‘d) Number Specification (‘b, ‘h, ‘o, ‘d) 4’b1111 4’b ’habc 12’habc 16’d255 16’d255 Default length = at least 32, Default radix = decimal Default length = at least 32, Default radix = decimal

3 4-Value Logic Set of values = {0,1,x,z} Set of values = {0,1,x,z} 12’h13x, 4’b1x0z 12’h13x, 4’b1x0z Z=? Z=? Extension Extension Filled with x if the specified MSB is x Filled with x if the specified MSB is x Filled with z if the specified MSB is z Filled with z if the specified MSB is z Zero-extended otherwise Zero-extended otherwise 6’hx, 32’bz, ‘hf0 6’hx, 32’bz, ‘hf0 Two’s complement Two’s complement -6’d3 = 6’d61 ( =111101) -6’d3 = 6’d61 ( =111101) -6’b01zz00 = 6’bxxxxxx -6’b01zz00 = 6’bxxxxxx Readability Readability 16’b0110_1011_0100_ ’b0110_1011_0100_0001

4 Value Set Value level HW Condition 0 Logic zero, false 1 Logic one, true xUnknown z High imp., floating Strength level TypesupplyDriving strongDriving pullDriving largeStorage weakDriving mediumStorage smallStorage highz High Impedance

5 Signal Strength Driving Driving Storage Storage

6 wire and reg wire wire Used to represent connections between HW elements Used to represent connections between HW elements Default Value = z Default Value = z reg reg Retain value until next assignment Retain value until next assignment NOTE: this is not a hardware register or flipflop NOTE: this is not a hardware register or flipflop Default Value = x Default Value = x

7 Vectors Syntax: Syntax: wire/reg [msb_index : lsb_index] data_id; wire/reg [msb_index : lsb_index] data_id; Example Example wire a; wire [7:0] bus; wire [31:0] busA, busB, busC; reg clock; reg [0:40] virtual_addr; Access to parts of a vector Access to parts of a vectorBus[2:0]

8 Other data types Integer, Real, Time,… Integer, Real, Time,…