Ece5440 Chapter1 VerilogIntroduction Updated
Ece5440 Chapter1 VerilogIntroduction Updated
Ece5440 Chapter1 VerilogIntroduction Updated
Digital Design
Chapter 1:
Introduction
1,000
10
– 1960s/1970s: 10-1,000
–
2003
1997
2000
2006
2009
2012
2015
2018
1980s: 1,000-100,000
– 1990s: Millions Inputs: b; Outputs: x
– 2000s: Billions x=0
diagrams Off b’
• 1970s b
x=1 x=1 x=1
– IC behavior documented using On1 On2 On3
combination of schematics, schematics
natural
diagrams, and natural language language Combinational Logic
(e.g., English) b x
outputs
inputs
FSM
FSM
b x
"The system has four states.
• 1980s Combinational n1
When in state Off, the logic n1
– Simulating circuits becoming more system outputs 0 and stays s1 s0
n0
• Hardware description
languages (HDLs) –
Machine-readable textual FSM outputs
languages for describing // CombLogic
always @(State, B) begin
hardware case (State)
S_Off: begin
– Text language could be X <= 0;
if (B == 0)
more efficient means of StateNext <= S_Off;
Clk_s
else
circuit entry than graphical StateNext <= S_On1; Rst_s
end
language S_On1: begin
X <= 1; Simulation B_s
StateNext <= S_On2; X_s
end
S_On2: begin 10 20 30 40 50 60 70 80 90 100110
X <= 1;
StateNext <= S_On3;
end
S_On3: begin
X <= 1;
StateNext <= S_Off;
end
endcase
Verilog for Digital Design end
Copyright © 2007 6
Frank Vahid and Roman Lysecky
module DoorOpener(C,H,P,F);
input C, H, P;
output F;
Verilog reg F;
always @(C,H,P)
begin
• Verilog F = (~C) & (H | P);
end
– Defined in 1985 at Gateway Design Automation Inc., endmodule
which was then acquired by Cadence Design
Systems ENTITY DoorOpener IS
– C-like syntax PORT (c, h, p: IN std_logic;
f: OUT std_logic);
– Initially a proprietary language, but became open END DoorOpener;
standard in early 1990s, then IEEE standard ("1364")
in 1995, revised in 2002, and again in 2005. ARCHITECTURE Beh OF DoorOpener IS
BEGIN
• Other HDLs PROCESS(c, h, p)
– VHDL BEGIN
f <= NOT(c) AND (h OR p);
• VHSIC Hardware Description Language / defined in END PROCESS;
1980s / U.S. Dept. of Defense project / Ada-like syntax / END Beh;
IEEE standard ("1076") in 1987
• VHDL & Verilog very similar in capabilities, differ mostly #include "systemc.h"
in syntax SC_MODULE(DoorOpener)
{
– SystemC sc_in<sc_logic> c, h, p;
sc_out<sc_logic> f;
• Defined in 2000s by several companies / C++ libraries
and macro routines / IEEE standard ("1666") in 2005 SC_CTOR(DoorOpener)
{
• Excels for system-level; cumbersome for logic level SC_METHOD(comblogic);
– SystemVerilog }
sensitive << c << h << p;
x_s
– Many constructs not suitable for
10 20 30 40 50 60 70 80 90100110
synthesis Synthesis
• e.g., delays
– Behavior description may simulate, but HDL circuit
not synthesize, or may synthesize to
incorrect or inefficient circuit
• Not necessarily synthesis tool's fault!