This document discusses hardware description languages (HDL) and digital circuit design using HDLs. It covers HDL modeling techniques including gate-level, dataflow, and behavioral modeling. Examples of basic digital components like half adders, full adders, multiplexers are shown in HDL code. The document also discusses HDL simulation, synthesis, and the commonly used HDL languages VHDL and Verilog.
1. CS 8351- DIGITAL PRINCIPLES
AND SYSTEM DESIGN
II YEAR CSE & IT
HDL- HARDWARE DESCRIPTIVE
LANGUAGE
K.BALAJI, AP/ECE, SSMCE
2. HDL- HARDWARE DESCRIPTIVE
LANGUAGE
A Hardware Descriptive Language
describes the hardware of the digital
system in a Textual Form.
K.BALAJI, AP/ECE, SSMCE
4. Logic Simulation
• A Simulator interprets the HDL
description given by the designer and
produces a readable output, like a Timing
Diagram, that predicts how the hardware
will behave before it is actually
fabricated.
K.BALAJI, AP/ECE, SSMCE
5. TEST BENCH
A Testbench is a HDL Program used as
a stimulus to test the functionality of
the design
K.BALAJI, AP/ECE, SSMCE
6. LOGIC SYNTHESIS
Logic Synthesis is the process of deriving a list
of components and their interconnections
from the model of a digital system described
in HDL.
K.BALAJI, AP/ECE, SSMCE
7. Two HDL Languages
• VHDL- VHSIC HDL – Very High Speed
Integrated Circuit HDL
• Verilog HDL
K.BALAJI, AP/ECE, SSMCE
8. HALF ADDER:
Verilog PROGRAM FOR HALF ADDER:
module halfadder (a,b, sum,carry);
input a,b;
output sum,carry;
xor G1(sum,a,b);
and G2(carry,a,b);
endmodule
K.BALAJI, AP/ECE, SSMCE
10. PROGRAM FOR FULL ADDER:
module fulladder(a,b,c,sum,carry);
input a,b,c;
output sum,carry;
wire a1,a2,a3;
xor G0(sum,a,b,c);
K.BALAJI, AP/ECE, SSMCE
11. PROGRAM FOR FULL ADDER:
module fulladder(a,b,c,sum,carry);
input a,b,c;
output sum,carry;
wire a1,a2,a3;
xor G0(sum,a,b,c);
and G1(a1,a,b);
K.BALAJI, AP/ECE, SSMCE
12. PROGRAM FOR FULL ADDER:
module fulladder(a,b,c,sum,carry);
input a,b,c;
output sum,carry;
wire a1,a2,a3;
xor G0(sum,a,b,c);
and G1(a1,a,b);
and G2(a2, b,c);
K.BALAJI, AP/ECE, SSMCE
13. PROGRAM FOR FULL ADDER:
module fulladder(a,b,c,sum,carry);
input a,b,c;
output sum,carry;
wire a1,a2,a3;
xor G0(sum,a,b,c);
and G1(a1,a,b);
and G2(a2, b,c);
and G3(a3,a,c);
or G4(carry,a1,a2,a3);
endmodule
K.BALAJI, AP/ECE, SSMCE
14. PROGRAM FOR HALF SUBTRACTOR:
module halfsubtractor(a,b,borrow,difference);
input a,b;
output borrow,difference;
wire a1;
xor G1(difference,a,b);
not G2(a1,a)
and G3(borrow,a1,b);
endmodule
K.BALAJI, AP/ECE, SSMCE
19. HDL MODELS (OR)
MODELING TECHNIQUES
• Gate Level Modeling- It uses Logic Gates
• Data Flow Modeling- It Uses ‘operators’ and
Keyword ‘Assign’
• Behavioral Modeling- It uses Keyword
‘Always’ and assignments using the Truthtable
K.BALAJI, AP/ECE, SSMCE
28. REFERENCES:
1. M. Morris R. Mano, Michael D. Ciletti,
―Digital Design: With an Introduction to the
Verilog HDL, VHDL, and SystemVerilog‖, 6th
Edition, Pearson Education, 2017.
2.Digital Principles and System Design, D.Edwin
Das, Trisea Publisher
K.BALAJI, AP/ECE, SSMCE