Date post: | 06-Jan-2018 |
Category: |
Documents |
Upload: | lenard-porter |
View: | 235 times |
Download: | 0 times |
© Ramakrishna 2
Scope of Course-ware“This course material has been developed to supplement thethe discussions during the lectures in class. You can use thisas the principal reference material. However, this coursematerial is not a text book. You may still want to read upsome of the books listed in the reference list to gain moreinsight or to get alternate explanation for a given topic.”
Your feedback is welcome in terms of any corrections or anyadditions to be done to the course-ware to improve its utility.
© Ramakrishna 3
Lecture#1
Outline• Introduction to CAD • Graph terminology• Combinatorial Optimization
Reference• G DeMicheli “Synthesis and Optimization of
Digital Circuits” – Ch1 & Ch2- 2.1 – 2.4
© Ramakrishna 4
IC Complexity
© Ramakrishna 5
© Ramakrishna 6
UDSM Issues• New issues and problems arising in UDSM technology
– catastrophic yield: critical area, antennas– parametric yield: density control (filling) for CMP– parametric yield: sub wavelength lithography implications
• optical proximity correction (OPC)• phase-shifting mask design (PSM)
– signal integrity• crosstalk and delay uncertainty• DC electromigration• AC self-heat• hot electrons
• Current context: cell-based place-and-route methodology– placement and routing formulations, basic technologies– methodology contexts
© Ramakrishna 7
UDSM Issues contd…• Manufacturability (chip can't be built)
– antenna rules– minimum area rules for stacked vias– CMP (chemical mechanical polishing) area fill rules– layout corrections for optical proximity effects in subwavelength
lithography; associated verification issues• Signal integrity (failure to meet timing targets)
– crosstalk induced errors– timing dependence on crosstalk– IR drop on power supplies
• Reliability (design failures in the field)– electromigration on power supplies– hot electron effects on devices– wire self heat effects on clocks and signals
© Ramakrishna 8
Issues in IC Design
New Figure 4 (Draft Rev. B, 3-12-99)
SYSTEM DESIGN
SUBSYSTEM DESIGN
CIRCUIT DESIGN
PHYSICAL DESIGN
MANUFACTURE INTERFACE
Design
Test
SW designPartitioningFunctional mapping
Test architecture
Logic optimizationTechnology mapping
Test logic insertion
Analog andmacro designExtraction
Test modelgeneration
DetailedplacementDetailedrouting
Patterngeneration & merge
Chip test &diagnostics
Floorplanning
Mask correctionYield optimizationSorting
Red denotes most challenging activity
Analysis PerformancemodelingPowerestimation
Powerestimation
Power, noiseanalysisSignal integrity
Powerdistributionanalysis
N/A
VerificationSystemsimulation
Functionalsimulation
Circuit simulation
LVS/DRCFormal checking
N/A
Static timing verification
Equivalence checking
Spec Xtrs MasksRTL/code Gates/Cells Chip
© Ramakrishna 9
Transistors counted as seconds
© Ramakrishna 10
Productivity Gap
© Ramakrishna 11
Design Steps
© Ramakrishna 12
Design Automation
• Tools are used at every step• Manual intervention is still require
– Tools do not scale up very well• Many problems are NP-Complete• Theory vs. Practice
© Ramakrishna 13
Evolution of CAD
© Ramakrishna 14
Past Trends & its Impact
© Ramakrishna 15
Design Goals
© Ramakrishna 16
CAD Goals
© Ramakrishna 17
Principles of Dealing with Complexity
• Abstraction• Hierarchical• Regularity• Design Methodology
– Engg becomes a discipline– Predefined decisions– Self-imposed restrictions– Basis for automation
© Ramakrishna 18
Handling Complexity
© Ramakrishna 19
© Ramakrishna 20
CAD Problems• Mathematically, most CAD tools address
combinatorial decision and optimization problems– Decision problems have a binary (true or false) solution
• e.g. Are these 2 functions equivalent?– Optimization problems are targeted to finding a minimum
cost solution• e.g. Find a minimum delay logic implementation of a function
• Most of these problems are intractable (NP-hard or NP complete)– Exact algorithms are of exponential complexity or higher– Must use heuristics (approximation algorithms) to get
inexact but practical solutions, using reasonable computer time and memory
© Ramakrishna 21
Summary• Goals of CAD:
– Handle complexity, optimize tradeoffs• Evolution and trends• Principles for handling complexity:
– Hierarchy, regularity, abstraction, methodology• Design process:
– specify, implement, check• Design representations
– Successive refinements of Structure, Behavior, and Physical details
• Design flows• Taxonomy of CAD tools
– creation (capture/planning/synthesis); checking (static or dynamic)
© Ramakrishna 22
Graph Terminology
• G(V, E) Where V is the set and E is the binary relation on V
• Directed edges between vi to vj (vi, vj) and undirected edge as {vi, vj}
• Degree of vertex is # edges incident on it.• Hypercube is an extension where the edges may
be incident to any # vertices.
© Ramakrishna 23
Graph Terminology Contd…• Adjacency – edge incident on both the nodes.• Loop – edge with two identical end-points• Walk – Alternate sequence of vertices and edges• Trail – walk with distinct edges• Path – trail with distinct vertices• Cycle – closed walk with distinct vertices• Acyclic – graph with no cycles.• Cutset – Minimal set of edges removal.• Vertex separation set – minimal set of vertex removal
© Ramakrishna 24
Computational Complexity
• Computational complexity: an abstract measure of the time and space necessary to execute an algorithm as function of its “input size”.
• Input size examples:– sort n words of bounded length ⇒n– the input is the integer n lg⇒ n– the input is the graphG(V, E) |⇒ V| and |E|
• Time complexity is expressed in elementary computational steps (e.g., an addition, multiplication, pointer indirection).
• Space Complexity is expressed in memory locations (e.g. bits, bytes, words).
© Ramakrishna 25
Asymptotic Functions• Polynomial-time complexity: O(nk), where n is the input
size and k is a constant.• Example polynomial functions:
– 999: constant– lgn: logarithmic– √n: Sublinear– n: linear– nlgn: loglinear– n2: quadratic– n3: cubic․
• Example non-polynomial functions– 2n, 3n: exponential– n!: factorial
© Ramakrishna 26
Combinatorial Optimization
• Designing require modeling in a precise mathematical framework.
• Most of the problems are discrete in nature in digital domain.
• Combinatorial decision and optimization problems.
© Ramakrishna 27
Decision Problem
• Decision problems : problem that can only be answered with “yes" or “no”– MST: Given a graph G=(V, E) and a bound K, is there a spanning tree
with a cost at most K?– TSP: Given a set of cities, distance between each pair of cities, and a
bound B, is there a route that starts and ends at a given city, visits every city exactly once, and has total distance at most B?
• A decision problem Π, has instances: I= (F, c, k)– The set of of instances for which the answer is “yes" is given by YΠ.– A subtask of a decision problem is solution checking: given f∈F,
checking whether the cost is less than k.• Could apply binary search on decision problems to obtain solutions
to optimization problems.• NP-completeness is associated with decision problems.
© Ramakrishna 28
Optimization Problems
• Problem: a general class, e.g., “the shortest-path problem for directed acyclic graphs.”
• Instance: a specific case of a problem, e.g., “the shortest-path problem in a specific graph, between two given vertices.”
• Optimization problems: those finding a legal configuration such that its cost is minimum (or maximum).
– MST: Given a graph G=(V, E), find the cost of a minimum spanning tree of G.• An instance I = (F, c) where
– F is the set of feasible solutions, and– c is a cost function, assigning a cost value to each feasible solution c :F →R– The solution of the optimization problem is the feasible solution with optimal
(minimal/maximal) cost • c.f., Optimal solutions/costs, optimal (exact) algorithms (Attn: optimal
≠exact in the theoretic computer science community).