DSD - Module 1
DSD - Module 1
Course Content
⚫ Mapping algorithms into Architectures: Data path synthesis, control structures,
critical path and worst case timing analysis. FSM and Hazards.
Course Content
Digital System Design-EC661
Course Content
Digital System Design-EC661
Moore’s Law
Products
⚫ System on Chip-SoC
Module 1-Mapping algorithms into architectures
Market Pressures
Design Specifications
⚫ Design Considerations
⚫ Design Feasibility
⚫ Performance
⚫ Power consumption
⚫ Cost
⚫ Design Spec.
⚫ Written
⚫ Executable
⚫ Implementation platform
⚫ FPGA
⚫ ASIC
⚫ Development Time
Module 1-Mapping algorithms into architectures
RTL Specification
Functional Simulation
⚫ Functional Simulation
⚫ To verify the functionality of your design.
⚫ Simulation results
⚫ Waveform display
⚫ Text output
Module 1-Mapping algorithms into architectures
HDL Synthesis
⚫ Synthesis=Translation+Optimization
⚫ Translate HDL design files into gate level netlist
⚫ Area constraints
⚫ Timing constraints
⚫ Power constraints
⚫ Main Challenges
⚫ Learn synthesizable coding style.
Timing Simulation
⚫ Post-layout simulation
⚫ Includes component and wire delays, clock skews, setup and hold
times
Example-Half Adder
⚫ A combinational logic circuit which is designed to add two binary
digits is called as a half adder.
Truth Table
Module 1-Mapping algorithms into architectures
Example-Half Adder
⚫ A combinational logic circuit which is designed to add two binary
digits is called as a half adder.
K-Map
Module 1-Mapping algorithms into architectures
Example-Half Adder
⚫ A combinational logic circuit which is designed to add two binary
digits is called as a half adder.
Architecture
Module 1-Mapping algorithms into architectures
Design Cycle
Module 1-Mapping algorithms into architectures
Design Cycle
Module 1-Mapping algorithms into architectures
⚫ Data Path: which consists of functional units where all the comutations are
carried out.
⚫ Typically consists of registers, multiplexers, bus, adders, multipliers, and
⚫ Control Path: which implements a finite state machine and provides control
sinals to the data path in proper sequence.
⚫ In response to the control signals, various operations are carried out by the
data path
⚫ Also takes inputs from the data path regarding various status information.
Module 1-Mapping algorithms into architectures
Let A, B, C, D reg[15:0] D
A
T
A=B+C + A
D=A-C P
A
Ld A A T
Ld A
S1 H
Ld D D
Ld D
S2
Control path
Module 1-Mapping algorithms into architectures
START
⚫ Identify the functional blocks
required in the data path and
the corresponding control
READ A, B
signals
Control Structures
⚫ Program Logic need not run sequentially
⚫ Three types
⚫ Decision control
⚫ Selection control
⚫ Loop/repetition control
Module 1-Mapping algorithms into architectures
Control Structures
⚫ Decision control
⚫ Used when the next step to be executed depends upon a criteria
be evaluated
⚫ For example, “if” statement
• Selection control
⚫ Used when program sequence depends upon the answer to a
specific question
⚫ For example, “switch”, “case” statements
⚫ Loop control
statement, etc
Module 1-Mapping algorithms into architectures
Control Structures
Module 1-Mapping algorithms into architectures
⚫ Type-1: If (<expression>)
⚫ statement; //no else
⚫ Type-2: If (<expression>)
statement;
else
statement;
⚫ Case (something)
⚫ value: do something when something==value
⚫ //statement
⚫ end
⚫ mem [i]=i;
⚫ end
Module 1-Mapping algorithms into architectures
⚫ count=0;
⚫ end
⚫ while (count<128)
⚫ begin
⚫ $display(“count=%d”,count);
⚫ count=count+1;
⚫ end
Module 1-Mapping algorithms into architectures
⚫ initial
⚫ begin
⚫ clock=1’b0;
⚫ while (1)
⚫ begin
⚫ #5 clock=~clock;
⚫ end
⚫ end
⚫ end module
Module 1-Mapping algorithms into architectures
⚫ It is also the longest path in the circuit that limits the clock speed.
⚫ Any further delays in the path slows down the entire operation of
the design
Module 1-Mapping algorithms into architectures
⚫ Slack determination
⚫ Arrival Time at a node (AT): The longest path from source to node.
Ats at each node can be computed using the below expression.
⚫ Where FI(v) is the fan-in nodes, and t(u,v) is the delay between u
and v
Module 1-Mapping algorithms into architectures
⚫ Required Arrival Time at a node (RAT): The latest time the signal is
allowed to leave the node to make it to the sink in time.
⚫ Where FO(v) is the fan-out nodes, and t(u,v) is the delay between
u and v
⚫ Slack at “n” is defined as= RAT(n)-AT(n)
Module 1-Mapping algorithms into architectures
⚫ Step 1
⚫
Module 1-Mapping algorithms into architectures
⚫ Step 3:
⚫ Previous node max total AATs
⚫ Wire delay
Module 1-Mapping algorithms into architectures
⚫ Step 4:
⚫ Compute ATs at each node x, y, z, w, and f
⚫ ATs at a=0
⚫ ATs at b=0
⚫ ATs at c=0.6
⚫ ATs at x=1.1
⚫ ATs at y=3.2
⚫ ATs at z=3.4
⚫ ATs at w=5.65
⚫ ATs at f=5.85
Module 1-Mapping algorithms into architectures
⚫ Combinational Circuits:
⚫ The output depends on the present inputs
⚫ Sequential Circuits
⚫ The outputs depends on the present inputs and the present states.
(memory elements)
FSMs
⚫ Melay model/machine
⚫ Moore model/machine
Module 1-Mapping algorithms into architectures
different ways.
⚫ State transition diagram
⚫ Pictorial representation
⚫ State table
⚫ Tabular representation
⚫ State equations
⚫ Algebraic representation
Module 1-Mapping algorithms into architectures
different ways.
⚫ State diagram
Module 1-Mapping algorithms into architectures
different ways.
⚫ State diagram (Melay)
Module 1-Mapping algorithms into architectures
different ways.
⚫ State diagram (Moore) State Table
Module 1-Mapping algorithms into architectures
Finite State Machines (FSM)
⚫ FSM:
⚫ Example:
⚫ Melay
Module 1-Mapping algorithms into architectures
⚫ Moore
Module 1-Mapping algorithms into architectures
⚫ Moore
Module 1-Mapping algorithms into architectures
Hazards
⚫ Hazard:
⚫ A hazard is a momentary unwanted switching transient at a logic
⚫ Dynamic
Module 1-Mapping algorithms into architectures
Hazards
⚫ Hazard:
⚫ Static Hazard: It takes place when the change in input causes the
PRODUCT) circuit.
⚫ If the output is currently at logic state 1 and after the input
Hazards
⚫ Hazard:
⚫ Static Hazard: It takes place when the change in input causes the
⚫
Module 1-Mapping algorithms into architectures
Hazards
⚫ Hazard:
⚫ Static Hazard: It takes place when the change in input causes the
OF-SUM) circuit.
⚫ If the output is currently at logic state 0 and after the input
Hazards
⚫ Hazard:
⚫ Static Hazard: It takes place when the change in input causes the
⚫
Module 1-Mapping algorithms into architectures
Hazards
⚫ Hazard:
⚫ Dynamic Hazard: It takes place when the input changes and a
⚫
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Example:
⚫ Consider the circuit with delays where only one input changes
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Elimination:
⚫ Once detected, a static-1 hazard can be easily removed by
one can detect and remove hazards by inspecting the K-map and
adding redundant product (sum) terms
⚫ If adjacent min terms are not covered by the same product term
then a hazard exists.
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Elimination:
⚫ Once detected, a static-1 hazard can be easily removed by
one can detect and remove hazards by inspecting the K-map and
adding redundant product (sum) terms
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Elimination:
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Elimination:
⚫ Example: Design the hazard free realization of the following
circuit
Module 1-Mapping algorithms into architectures
Hazards
⚫ Static Hazard Elimination:
⚫ Example: Design the static 0 hazard free realization of the
Y=(A+C).(A’+B)