001 Course Outline
001 Course Outline
Introduction
Courtesy RK Brayton
(UCB) and A Kuehlmann
Organization
Instructor:
Adnan Aziz
ACE 6.120
Email: adnan AT ece utexas edu
Web: www.ece.utexas.edu/~adnan
GPS: Longitude 30.287253, Latitude -97.736832
Office Hours:
MW, 10:00am 11:00am
Grading
Homework (~ 8 homeworks):
purpose is to solidify material and make you think deeper about concepts
team work allowed, but each problem solution should be stated in your
own words
Midterms
1 after first half
1 after 75%
Course project:
will start about halfway through course
final report (like conference paper)
Grader
TBD
Website:
http://www.ece.utexas/edu/~adnan/syn-07
Homework
About two-thirds written
theoretical problems
hand calculations
Gate Level
Transistor Level
Verification
Design
Layout Level
Mask Level
System Level
Abstract algorithmic description of high-level behavior
e.g. C-Programming language
Port*
compute_optimal_route_for_packet(Packet_t *packet,
Channel_t *channel)
{
static Queue_t *packet_queue;
packet_queue = add_packet(packet_queue, packet);
...
}
RTL Level
Cycle accurate model close to the hardware implementation
bit-vector data types and operations as abstraction from bit-level
implementation
sequential constructs (e.g. if - then - else, while loops) to support
modeling of complex control flow
module mark1;
reg [31:0] m[0:8192];
reg [12:0] pc;
reg [31:0] acc;
reg[15:0] ir;
always
begin
ir = m[pc];
if(ir[15:13] == 3b000)
pc = m[ir[12:0]];
else if (ir[15:13] == 3b010)
acc = -m[ir[12:0]];
...
end
endmodule
Gate Level
Model on finite-state machine level
models function in Boolean logic using registers and gates
various delay models for gates and wires
1ns
4ns
3ns
5ns
Transistor Level
Model on CMOS transistor level
depending on application function modeled as resistive switches
used in functional equivalence checking
or full differential equations for circuit simulation
used in detailed timing analysis
Layout Level
Transistors and wires are laid out as polygons in different
technology layers such as diffusion, poly-silicon, metal, etc.
10
Relative Effort
Transistor
System
Project Time
11
Design Challenges
Systems are becoming huge, design schedules are getting
tighter
> 100 Mio gates becoming common for ASICs
> 0.4 Mio lines of C-code to describe system behavior
> 5 Mio lines of RLT code
12
Design Challenges
Decision about design point very difficult
compromise between performance / costs / time-to-market
decision has to be made 2-3 years before design finished
design points are difficult to predict without actually doing the
design
scheduling of product cycles
Functional verification
simulation still main vehicle for functional verification but inadequate
because of size of design space
results in bugs in released hardware that is very expensive to
recover from (different in software ;-)
13
Design Challenges
Fundamental tradeoffs between different modeling levels:
modeling detail and team size to maintain model
high-level models can be maintained by one or two people
detailed models need to be partitioned which results in a
significant communication overhead
modeling accuracy versus modeling compactness
compact models omit details and give only crude estimations for
implementation
detailed models are lengthy and difficult to adopt for major
changes in design points
simulation speed versus hardware performance
high-level models can be simulated fast but cannot be
implemented efficiently with automatic means
low-level models can be made to have a fast implementation
but cannot be simulated very fast
14
15
Design Automation
Design Automation is one of the most advanced areas in practical
computer science
many problems require sophisticated mathematical modeling
many algorithms are computationally hard and require advanced and finetuned heuristics to work on realistic problem sizes
boundary conditions need to be well declared and synchronized between
different tools (patchwork to cover all wholes)
16
Key to Success
Fine-tuned combination of Design Methodology and Tools
addresses algorithmic complexity by requiring
manual partitioning of the problem
manual input of hints/suggestions
manual iterations to drive tool application to best solution
makes CAD systems and design flows very complex and difficult to
manage
Problem space
Tools applicable
17
However:
timing analysis is conservative with respect to the achievable clock
cycle time
18
However:
actual gate delay varies a lot in reality
models often assume average fan-out rather than actual gate
load
delay model assumes ideal signals
slew dependency ignored
19
However:
layout implementation remains sub-optimal because cells are
designed for worst case application and with large safety
margins with respect to environment
20
However:
actual gate size can vary to a very large degree depending on
load and timing requirement
area for wiring completely ignored
21
However:
combinational verification model cannot handle sequential
verification problems
22
23
ISA Specification
Simulation
RTL Spec
Simulation
Manual or
semi-automatic
Design
Layout
Formal
Equivalence
Checking
Circuit Simulation
Extract&Compare
Design Rule Checker
24
25
Informal Specification
RTL Spec
Gate Level Netlist
Modifies Gate Level Netlist
Manual Changes
to fix timing
Simulation
Formal
Equivalence
Checking
Static Timing Analysis
Test Logic Insertion
ASIC Foundry
26
X: Input alphabet
Y: Output alphabet
Z: Set of internal states
: X x Z Z (next state function)
: X x Z Y (output function)
27
Minimize power
in terms of switching activity in individual gates, deactivated circuit
blocks, etc.
Maximize performance
in terms of maximal clock frequency of synchronous systems, throughput
for asynchronous systems
28
Constraints on Synthesis
Given implementation style:
29
performance (%)
0
-40
-30
-20
-10
10
20
30
-2
-4
-6
area (%)
30
1979: IBM introduced logic synthesis for gate array based main
frame designed
LSS, next generation is BooleDozer
31
32
Course Outline
Representation of Boolean functions and basic algorithms
Boolean functions, formulas, circuits, cube representations, BDDs
efficient data structures and algorithms for manipulation and
Boolean reasoning
SAT
33
Course Outline
Timing
timing models and timing analysis
timing optimization
retiming
synchronous versus asynchronous circuits
state assignment and state minimization
reachability analysis
clock skew optimization
Low-power Synthesis
power analysis
low-power synthesis
34
Course Outline
Testing
testing problem and test models
automatic test pattern generation (ATPG)
Verification
formal equivalence checking
verification planning
35