1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:www.taleem.greatnow.com

Slides:



Advertisements
Similar presentations
Chapter 3 Gate-Level Minimization
Advertisements

Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Simulation executable (simv)
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
CPEN Digital System Design
Verilog Intro: Part 1.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
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.
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Verilog. 2 Behavioral Description initial:  is executed once at the beginning. always:  is repeated until the end of simulation.
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 
1 Pertemuan 9 Verilog HDL Matakuliah: H0362/Very Large Scale Integrated Circuits Tahun: 2005 Versi: versi/01.
9/15/09 - L20 Flip FlopsCopyright Joanne DeGroat, ECE, OSU1 Flip Flops Not a gymnastic movement.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Hardware Description Language HDL. 2 Hardware Description Language HDL  Describes circuits and systems in text. −As a software program.  Can be processed.
Digital System Design Verilog ® HDL Modules and Ports Maziar Goudarzi.
Digital System Design Verilog ® HDL Maziar Goudarzi.
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Spring 2002EECS150 - Lec0-intro Page 1 EECS150 - Digital Design Lecture 8 - Hardware Description Languages February 14, 2002 John Wawrzynek.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
ECE 2372 Modern Digital System Design
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
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.
1 H ardware D escription L anguages Modeling Digital Systems.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
CPEN Digital System Design
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Logic Design Process n Functional/ Non-functional requirements n Mapping into an FPGA n Hardware.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Verilog A Hardware Description Language (HDL ) is a machine readable and human readable language for describing hardware. Verilog and VHDL are HDLs.
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.
ECE 171 Digital Circuits Chapter 8 Hardware Description Language Herbert G. Mayer, PSU Status 11/23/2015 Copied with Permission from prof. Mark
Verilog tutorial Hong-Hui Chen 05/17/2002 VLSI Design Course.
Teaching Digital Logic courses with Altera Technology
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
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,
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Verilog-HDL Reference: Verilog HDL: a guide to digital design and synthesis, Palnitkar, Samir Some of slides in this lecture are supported by Prof. An-Yeu.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
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.
Introduction to Vivado
EECE6017C - Lab 0 Introduction to Altera tools and Basic Digital Logic
Discussion 2: More to discuss
Verilog-HDL-1 by Dr. Amin Danial Asham.
Topics Modeling with hardware description languages (HDLs).
Topics The logic design process..
Topics Modeling with hardware description languages (HDLs).
Introduction to Verilog
Levels in computer design
The Verilog Hardware Description Language
COE 202 Introduction to Verilog
Presentation transcript:

1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:

2 Module Outline What is Verilog? Verilog modules Types of Verilog Code Verilog simulators Example Verilog Code Working with Silos

3 Verilog Basics Verilog is a HDL – Hardware Description Language Originated at Gateway Design Automation around 1987, later purchased by Cadence Design Systems The other HDL is VHDL (VHSIC-HDL) Originally Verilog only meant to simulate Later on, synthesis also added A subset of Verilog that can be synthesized is called RTL Verilog

4 Verilog Modules A basic entity is called a module in Verilog Modules have input ports and output ports You can instantiate modules inside other modules You have to write a test-bench module to test your design modules The test-bench module instantiates your design modules, gives them appropriate set of inputs and lets you observe the outputs of interest

5 Test Bench and Module Under Design/Test

6 Types of Verilog Coding Behavioral – just like a normal programming language but with the difference of time Structural – uses primitives for basic gates, etc. and connects devices much in the same way that you would on a breadboard RTL Verilog – a subset of Verilog that can be synthesized. Synthesis means automatic generation of the digital circuit based on the Verilog code. Synthesis is done using a synthesis tool

7 Verilog Simulators There are many available such as from: Synopsys - VCS ModelTech – Modelsim Silos Many others We shall use Silos

8 Example – SR Latch // This is a comment // A circuit to implement a SR Latch // module srlatch(s, r, q, qbar); input s, r; output q, qbar; reg q, qbar; wire s, r; (s or r) begin q = ~(r | qbar); qbar = ~(s | q); end endmodule

9 A Test Bench for SR Latch // Testbench for the SR latch // module tbsrlatch(); wire q, qbar; reg s, r; srlatch mysrlatch(s, r, q, qbar); initial begin s = 1'b0; r = 1'b0; #10 s = 1'b1; r = 1'b0; #10 s = 1'b0; r = 1'b0; #10 s = 1'b0; r = 1'b1; #10 s = 1'b0; r = 1'b0; #10 s = 1'b1; r = 1'b1; #10 s = 1'b0; r = 1'b0; #10 s = 1'b0; r = 1'b1; #50; $finish; end endmodule

10 Working with Silos A Windows-based Verilog Compiler and Simulator Comes with a GUI and waveform display Download at Demo version password is sim2001 You need to be connected to Internet to install it You create a project first and then add Verilog code files to it

11 Another Example // Verilog code for Problem 4-9 // module posedgedflipflop(d, clock, q, qbar); input d, clock; output q, qbar; wire q, qbar; wire d, clock; nand n1(outn1, outn4, s); nand n2(s, outn1, clock); nand n3(r, s, clock, outn4); nand n4(outn4, r, d); nand n5(q, s, qbar); nand n6(qbar, r, q); endmodule

12 Test Bench Another Example // Testbench for the Positive Edge- // Triggered D Flip-flop // module tbposedgedflipflop(); wire q, qbar; reg d, clock; posedgedflipflop myposedgedflipflop(d, clock, q, qbar); initial begin d = 1'b0; clock = 0; #10 d = 1'b0; clock = 1; #10 d = 1'b1; clock = 0;

13 Test Bench Another Example - Continued #10 d = 1'b1; clock = 1; #10d = 1'b1; clock = 0; #10 d = 1'b0; clock = 1; #10d = 1'b0; clock = 0; #10 d = 1'b0; clock = 1; #10d = 1'b1; clock = 0; #10 d = 1'b1; clock = 1; #10d = 1'b0; clock = 0; #10d = 1'b0; clock = 1; #50; $finish; end endmodule

14 Waveform Output for Problem 4-9