Professional Documents
Culture Documents
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
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
Gate Level
3ns
5ns
Transistor Level
Layout Level
10
Relative Effort
Transistor
System
Project Time
11
Design Challenges
Design Challenges
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
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)
Key to Success
Problem space
Tools applicable
RLT cycle simulation does only evaluate the next state logic of
the circuits, timing is assumed to be correct
combination of static timing analysis, formal equivalence checking,
and cycle simulation allows separation of issues
cycle simulation avoids expensive event scheduling and processing
and performs significantly faster
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
Incomplete picture:
Logic Synthesis
ISA Specification
Simulation
RTL Spec
Simulation
Manual or
semi-automatic
Design
Layout
Formal
Equivalence
Checking
Circuit Simulation
Extract&Compare
Design Rule Checker
24
25
Incomplete picture:
Logic Synthesis
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)
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
Constraints on Synthesis
Given implementation style:
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
Course Outline
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