Design Heirarchy and Analysis - unm.edu
Transcript of Design Heirarchy and Analysis - unm.edu
![Page 1: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/1.jpg)
Design Heirarchy and Analysis
September 14, 2006
– Typeset by FoilTEX –
![Page 2: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/2.jpg)
Modern Digital Design
Tools:
• Design Hierarchy
• Top-down Design
• CAD (Computer Aided Design) Tools
• HDLs (HW Description Languages)
• Logic Synthesis
– Typeset by FoilTEX – 1
![Page 3: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/3.jpg)
Logic Circuits
Two kinds of circuits: combinational or sequential.
Combinational
• Outputs determined by Inputs
• Specified by boolean
equations.
• memory-less
Sequential
• Store bit values
• Outputs determined by inputs
and stored values
• Past inputs as well as current
determine behavior
– Typeset by FoilTEX – 2
![Page 4: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/4.jpg)
Combinational Circuits
• n inputs variables, 2n possible input combinations
• 1 output for each input combination
• Described by a Truth Table or Boolean Equation
CombinationalCircuit
moutputsinputs
n
– Typeset by FoilTEX – 3
![Page 5: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/5.jpg)
How do we design these things?
• Circuits are specified by symbols showing inputs/outputs
• All of these elements are decomposable
• Circuit → gates → transistors → silicon, dopants, etc...
• VLSI Systems have 10-100s of millions of gates.
– Typeset by FoilTEX – 4
![Page 6: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/6.jpg)
Example
1971 - Intel 4004 – 2000 transistors
– Typeset by FoilTEX – 5
![Page 7: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/7.jpg)
Example
2006 - Intel Core 2 Quadro – 291 million transistors
– Typeset by FoilTEX – 6
![Page 8: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/8.jpg)
Design Hierarchy
• Design complexity requires a divide and conquer approach
• Circuit → blocks
• Each block is a distinct function
• Blocks are interconnected.
• Complex blocks are broken down into simpler blocks.
• Blocks are combined to form a system.
– Typeset by FoilTEX – 7
![Page 9: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/9.jpg)
Design Hierarchy
3−inputoddfunction
3−inputoddfunction
3−inputoddfunction
3−inputoddfunction
9−Inputodd
function
– Typeset by FoilTEX – 8
![Page 10: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/10.jpg)
Design Hierarchy
• Functions are built up of smaller blocks
• Leaves make up the lowest – the smallest object in the hierarchy
• Blocks can be reused to more efficient and quickly create larger
structures
• Testing all of the inputs of the smaller blocks, ensures that you
have an expectation of behavior when combined into larger blocks.
• However, no guarantee...
– Typeset by FoilTEX – 9
![Page 11: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/11.jpg)
Top-Down Design
• Ideally, designs are created in a top-down fashion.
• Specifications for a design are created in a HDL
• High-level parts of the design are divided into blocks
• HDL descriptions are created for each and every block and function.
– Typeset by FoilTEX – 10
![Page 12: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/12.jpg)
Example
1971 - Intel 4004 – 2000 transistors
– Typeset by FoilTEX – 11
![Page 13: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/13.jpg)
Intel 4004
– Typeset by FoilTEX – 12
![Page 14: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/14.jpg)
Computer Aided Design
• Schematic Capture (Drawing circuits and blocks from primitives)
• Logic Simulators (like ModelSim) allow for functional and timing
verification
• Logic Synthesis tools (Synplicity, XST in Xilinx ISE, etc) take the
primitive blocks and convert them into usable hardware.
– Typeset by FoilTEX – 13
![Page 15: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/15.jpg)
Hardware Description Languages
• VHDL and Verilog (SystemC, HandelC, ...)
• Include structural and behavioral descriptions
• HDLs allow for simulation and synthesis
• The structural allows for top-down and hierarchical design
– Typeset by FoilTEX – 14
![Page 16: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/16.jpg)
VHDL
VHDL - Very High Speed Integrated Circuit Hardware Description
Language
VHDL is the standard way for describing circuits, either programmable
or fixed logic.
You are able to describe the circuit you want, test its behavior, and
then synthesize this to the implementation technology of your choice.
(Well, there are lots of caveats, ...)
– Typeset by FoilTEX – 15
![Page 17: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/17.jpg)
Basic VHDL building Blocks
Consider the following
circuit:
A
B
C
Y
C
sig1
entity few_gates is
a : in std_logic; b : in std_logic;
y : out std_logic c : in std_logic;
end fewgates;
port(
);
−− ENTITY −− ARCHITECTUREarchitecture behavior of fewgates is
end behavior;
signal sig1 : std_logic;begin process(a,b,c) begin sig1 <= (not a) and (not b); y <= c or sig1;
end process;
– Typeset by FoilTEX – 16
![Page 18: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/18.jpg)
Basic VHDL building Blocks
Consider the following
circuit:
A
B
C
Y
C
sig1
entity few_gates is
a : in std_logic; b : in std_logic;
y : out std_logic c : in std_logic;
end fewgates;
port(
);
−− ENTITY −− ARCHITECTUREarchitecture behavior of fewgates is
begin signal sig1 : std_logic;
sig1 <= (not a) and (not b); y <= c or sig1;
end behavior;
– Typeset by FoilTEX – 17
![Page 19: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/19.jpg)
Review ISA.vhd
Use editor...
– Typeset by FoilTEX – 18
![Page 20: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/20.jpg)
Hardware Description Languages
When simulating ...
• Analysis – syntax and semantics.
• Elaboration – builds blocks
• Initialization – sets variables and default values
• Simulation – executes simulation model
– Typeset by FoilTEX – 19
![Page 21: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/21.jpg)
Testbenches
• Special HDL structure for testings inputs and outputs.
• Powerful repeatable form of test
• Testbenches can be used to test multiple levels of the top down
process
– Typeset by FoilTEX – 20
![Page 22: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/22.jpg)
Logic Synthesis
High-Level Flow
HDL descriptionof Circuit
Translation
RepresentationIntermediate
TechnologyLibrary
Electronic, Speed,and Area constraints
Netlist
Preoptimization Optimization Technology Mapping
– Typeset by FoilTEX – 21
![Page 23: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/23.jpg)
Design Procedure
• Specification
• Formulation - create truth table or boolean equations.
• Optimization - reduce requirements to achieve goal
• Technology Mapping - transform logic diagram to a new diagram
or netlist using available technology
• Verification - check the correctness of the final design
– Typeset by FoilTEX – 22
![Page 24: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/24.jpg)
Specification
Create a BCD to Excess-3 Code Converter.
The excess-3 code is a decimal digit plus three converted into binary.
0 is 0011, 1 is 0100, etc.
So, let’s create a truth table....
– Typeset by FoilTEX – 23
![Page 25: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/25.jpg)
Formulation – Truth table
Decimal Input OutputDigit BCD Excess-3
A B C D W X Y Z0 0 0 0 0 0 0 1 11 0 0 0 1 0 1 0 02 0 0 1 0 0 1 0 13 0 0 1 1 0 1 1 04 0 1 0 0 0 1 1 15 0 1 0 1 1 0 0 06 0 1 1 0 1 0 0 17 0 1 1 1 1 0 1 08 1 0 0 0 1 0 1 19 1 0 0 1 1 1 0 0
– Typeset by FoilTEX – 24
![Page 26: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/26.jpg)
Formulation
Since we are using BCD input, there are inputs for A, B, C, and D,
that we don’t care about. e.g. 10-15 (1010 – 1111).
We can put don’t cares (X’s) in our K-maps and use the to reduce
the required inputs.
– Typeset by FoilTEX – 25
![Page 27: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/27.jpg)
Optimization
W = A+ BC + BD
X=B’C + B’D + BC’D’
Y = CD+C’D’
Z=D’
– Typeset by FoilTEX – 26
![Page 28: Design Heirarchy and Analysis - unm.edu](https://reader030.fdocuments.in/reader030/viewer/2022020621/61e6d24d25e34b051c584937/html5/thumbnails/28.jpg)
Multi-level Optimization
T1 = C + D
W = A+ BT1
X=B’T1 + BC’D’
Y = CD+C’D’
Z=D’
– Typeset by FoilTEX – 27