0% found this document useful (0 votes)
87 views33 pages

Module 1 PDF

Uploaded by

PRADEEP KUMAR Y
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views33 pages

Module 1 PDF

Uploaded by

PRADEEP KUMAR Y
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

MODULE -1

 Overview of Digital Design with Verilog HDL


 Hierarchical Modeling Concepts
Today program

 History of Verilog® HDL


 Overview of Digital Design with Verilog® HDL
 Hello World!
 Hierarchical Modeling Concepts

2 Verilog HDL Module - 1 2017-18


History of Verilog HDL

 Beginning: 1983
 “Gateway Design Automation” company
 Simulation environment
 Comprising various levels of abstraction
 Switch (transistors), gate, register-transfer, and higher levels

3 Verilog HDL Module - 1 2017-18


History of Verilog HDL (cont’d)

 Three factors to success of Verilog


 Programming Language Interface (PLI)
 Extend and customize simulation environment

 Close attention to the needs of ASIC foundries


 “Gateway Design Automation” partnership with Motorola,
National, and UTMC in 1987-89

 Verilog-based synthesis technology


 “Gateway Design Automation” licensed Verilog to Synopsys
 Synopsys introduced synthesis from Verilog in 1987

4 Verilog HDL Module - 1 2017-18


History of Verilog HDL (cont’d)

 VHDL
 VHSIC (Very High Speed Integrated Circuit) Hardware
Description Language
 Developed under contract from DARPA
 IEEE standard
 Public domain
 Other EDA vendors adapted VHDL
 “Gateway” put Verilog in public domain

5 Verilog HDL Module - 1 2017-18


History of Verilog HDL (cont’d)

 Today
 Market divided between Verilog & VHDL
 VHDL mostly in Europe
 Verilog dominant in US
 VHDL
 More general language
 Not all constructs are synthesizable
 Verilog:
 Not as general as VHDL
 Most constructs are synthesizable

6 Verilog HDL Module - 1 2017-18


Overview of Digital Design Using
Verilog

 Evolution of Computer-Aided Digital Design


 Emergence of HDLs
 Typical Design Flow
 Importance of HDLs
 Popularity of Verilog HDL
 Trends in HDLs

7 Verilog HDL Module - 1 2017-18


Evolution of Computer-Aided
Digital Design
 SSI: Small scale integration
 A few gates on a chip
 MSI: Medium scale integration
 Hundreds of gates on a chip
 LSI: Large scale integration
 Thousands of gates on a chip
 CAD: Computer-Aided Design
 CAD vs. CAE
 Logic and circuit simulators
 Prototyping on bread board
 Layout by hand (on paper or a computer terminal)

8 Verilog HDL Module - 1 2017-18


Evolution of Computer-Aided
Digital Design (cont’d)
 VLSI: Very Large Scale Integration
 Hundred thousands of gates
 Not feasible anymore:
Bread boarding
Manual layout design
 Simulator programs
 Automatic place-and-route
 Bottom-Up design
Design small building blocks
Combine them to develop bigger ones
 More and more emphasis on logic simulation

9 Verilog HDL Module - 1 2017-18


Emergence of HDLs

 The need to a standardized language for


hardware description
 Verilog® and VHDL
 Simulators emerged
 Usage: functional verification
 Path to implementation: manual translation into
gates
 Logic synthesis technology
 Late 1980s
 Dramatic change in digital design
 Design at Register-Transfer Level (RTL) using an HDL

10 Verilog HDL Module - 1 2017-18


Typical Design Flow (in 1996)

1. Design specification
2. Behavioral description
3. RTL description
4. Functional verification and testing
5. Logic synthesis
6. Gate-level netlist
7. Logical verification and testing
8. Floor planning, automatic place & route
9. Physical layout
10. Layout verification
11. Implementation

11 Verilog HDL Module - 1 2017-18


Typical Design Flow (cont’d)

 Most design activity


 In 1996:
 Manually optimizing the RTL design
 CAD tools take care of generating lower-level details
 Reducing design time to months from years

 Today
 Still RTL is used in many cases
 But, synthesis from behavioral-level also possible
 Digital design now resembles high-level computer programming

12 Verilog HDL Module - 1 2017-18


Typical Design Flow (cont’d)

 NOTE:
 CAD tools help, but the designer still has the main role
 GIGO (Garbage-In Garbage-Out) concept
 To obtain an optimized design, the designer needs to know
about the synthesis technology
 Compare to software programming and compilation

13 Verilog HDL Module - 1 2017-18


Importance of HDLs

 Retargeting to a new fabrication technology


 Functional verification earlier in the design cycle
 Textual concise representation of the design
 Similar to computer programs
 Easier to understand

14 Verilog HDL Module - 1 2017-18


Popularity of Verilog HDL

 Verilog HDL
 General-purpose
 Easy to learn, easy to use
 Similar in syntax to C
 Allows different levels of abstraction and mixing
them
 Supported by most popular logic synthesis tools
 Post-logic-synthesis simulation libraries by all
fabrication vendors
 PLI to customize Verilog simulators to
designers’ needs

15 Verilog HDL Module - 1 2017-18


Trends in HDLs

 Design at behavioral level


 Formal verification techniques
 Very high speed and time critical circuits
 e.g. microprocessors
 Mixed gate-level and RTL designs
 Hardware-Software Co-design
 System-level languages: SystemC, SpecC, …

16 Verilog HDL Module - 1 2017-18


Basics of Digital Design Using HDLs

Stimulus block

Generating Checking
inputs Circuit Under Design outputs
to CUD (CUD) of CUD
4
8

Test bench

17 Verilog HDL Module - 1 2017-18


Verilog Basic Building Block
 Module

module not_gate(in, out); // module


name+ports
// comments: declaring port type
input in;
output out;

// Defining circuit functionality


assign out = ~in;

endmodule

18 Verilog HDL Module - 1 2017-18


useless Verilog Example
module useless;

initial
$display(“ATMECE, Mysuru”);

endmodule

 Note the message-display statement


 Compare to printf() in C

19 Verilog HDL Module - 1 2017-18


Verilog® HDL
Hierarchical Modeling Concepts
Design Methodologies

21 Verilog HDL Module - 1 2017-18


4-bit Ripple Carry Counter

22 Verilog HDL Module - 1 2017-18


T-flipflop and the Hierarchy

23 Verilog HDL Module - 1 2017-18


Modules
module <module_name>(<module_terminal_list>);
...
<module internals>
...
endmodule

 Example:
module T_ff(q, clock, reset);
...
<functionality of T_flipflop>
...
endmodule

24 Verilog HDL Module - 1 2017-18


Modules (cont’d)

 Verilog supported levels of abstraction


 Behavioral (algorithmic) level
 Describe the algorithm used
 Very similar to C programming
 Dataflow level
 Describe how data flows between registers and is processed
 Gate level
 Interconnect logic gates
 Switch level
 Interconnect transistors (MOS transistors)
 Register-Transfer Level (RTL)
 Generally known as a combination of
behavioral+dataflow that is synthesizable by EDA tools

25 Verilog HDL Module - 1 2017-18


Instances
module ripple_carry_counter(q, clk, reset);

output [3:0] q;
input clk, reset;

//4 instances of the module TFF are created.


TFF tff0(q[0],clk, reset);
TFF tff1(q[1],q[0], reset);
TFF tff2(q[2],q[1], reset);
TFF tff3(q[3],q[2], reset);

endmodule

2017-18 Verilog HDL Module - 1 26


Instances (cont’d)
module TFF(q, clk, reset);
output q;
input clk, reset;
wire d;

DFF dff0(q, d, clk, reset);


not n1(d, q); // not is a Verilog provided primitive.

endmodule

// module DFF with asynchronous reset


module DFF(q, d, clk, reset);
output q;
input d, clk, reset;
reg q;

always @(posedge reset or negedge clk)


if (reset)
q = 1'b0;
else
q = d;

endmodule

27 Verilog HDL Module - 1 2017-18


Instances (cont’d)
 Illegal instantiation example:
 Nested module definition not allowed
 Note the difference between module definition and module instantiation

// Define the top level module called ripple carry


// counter. It is illegal to define the module T_FF inside
// this module.
module ripple_carry_counter(q, clk, reset);
output [3:0] q;
input clk, reset;

module T_FF(q, clock, reset);// ILLEGAL MODULE NESTING


:
<module T_FF internals>
:
endmodule // END OF ILLEGAL MODULE NESTING

endmodule

28 Verilog HDL Module - 1 2017-18


Simulation- Test Bench Styles

29 Verilog HDL Module - 1 2017-18


Example

Design block was shown before


ripple_carry_counter, T_FF, and D_FF modules
Stimulus block

2017-18 Verilog HDL Module - 1 30


Example (cont’d)
module stimulus;
reg clk; reg reset; wire[3:0] q;

// instantiate the design block


ripple_carry_counter r1(q, clk, reset);

// Control the clk signal that drives the design block.


initial clk = 1'b0;
always #5 clk = ~clk;

// Control the reset signal that drives the design block


initial
begin
reset = 1'b1;
#15 reset = 1'b0;
#180 reset = 1'b1;
#10 reset = 1'b0;
#20 $stop;
end

initial // Monitor the outputs


$monitor($time, " Output q = %d", q);
31
endmodule Verilog HDL Module - 1 2017-18
What we learned today

 History of Verilog HDL


 Principles of digital design using HDLs
 Our first Verilog design example

32 Verilog HDL Module - 1 2017-18


Other Notes

 Course web-page
 http://ce.sharif.edu/courses
 Exercise 1
 Install and use ModelSim in the lab. to simulate
ripple_carry_counter example
 Chapter 2 exercises

33 Verilog HDL Module - 1 2017-18

You might also like