CH 01
CH 01
Digital Design
Chapter 1:
Introduction
1,000
100
• Typical digital components per IC
– 1960s/1970s: 10-1,000 transistors 10
– 1980s: 1,000-100,000 transistors
1997
2000
2003
2006
2009
2012
2015
2018
– 1990s: Millions transistors
– 2000s: Billions transistors.
Inputs: b; Outputs: x
– Why more transistors per IC?? x=0
– When we are able to put more transistors per IC, it
diagrams Off b’
will increase the processing speed of the IC
b
• 1970s x=1 x=1 x=1
On1 On2 On3
– IC behavior documented using schematics
natural
combination of schematics, language Combinational Logic
diagrams, and natural language b x
outputs
inputs
(e.g., English)
FSM
FSM
b x
"The system has four states. Combinational n1
S_On1: begin
(HDLs) are Machine-readable X <= 1; Simulation B_s
textual languages for describing end
StateNext <= S_On2; X_s
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"
SC_MODULE(DoorOpener)
in syntax {
– 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);
sensitive << c << h << p;
– SystemVerilog }
• System-level modeling extensions to Verilog / IEEE
Standard ("1800") in 2005 void comblogic()
{
f.write((~c.read()) & (h.read() | p.read()));
}
};
Verilog for Digital Design
Copyright © 2007 8
Frank Vahid and Roman Lysecky
4 types of VHDL
• Verilog and VHDL are very much similar.
• Verilog is generally used in European countries while the VHDL is
commonly practiced in USA.
• You can learn from the previous slide that both languages were initially
introduced in 1980……….
• However……………………………………….
• SystemC and SystemVerilog are HDL but different from Verilog and
VHDL …. The question is what is the difference ?????
• Remember that it is not the difference of syntax only as we know that
Verilog and VHDL have also different syntax but still we say that they
are very much similar.
• The purpose of SystemC and SystemVerilog is to combine the
designing of hardware and software in a single language. It means
people should not use two different languages for designing software
andVerilog
hardware.
for Digital Design
Copyright © 2007 9
Frank Vahid and Roman Lysecky
HDLs for Design and Synthesis
x_s
– Many constructs not suitable for
10 20 30 40 50 60 70 80 90100110
synthesis Synthesis Tools
• 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!