Download presentation
Presentation is loading. Please wait.
Published byCordelia Cannon Modified over 9 years ago
1
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI
2
2 Winter 2004ICS 252-Intro to Computer Design Cell-Library Binding Task of transforming an unbound logic network into a bound network Bound network: interconnection of components that are instances of elements of a given library Interface to physical design Technology-dependent optimization Referred to as technology mapping as well.
3
3 Winter 2004ICS 252-Intro to Computer Design Library binding Library: set of logic primitives Binding process: exploit the library for best implementation Optimize: area/delay/testability Optimization tasks: intractable Two groups –Heuristics –Rule-based
4
4 Winter 2004ICS 252-Intro to Computer Design Library binding Digital circuits: hierarchical and sequential in nature Registers, input/output binding: direct replacement Binding on multi-level combinational components Library cells: single output combinational cells Two level logics are decomposed into multi-level before library binding (except for PLA implementation)
5
5 Winter 2004ICS 252-Intro to Computer Design vxvx b c vwvw vuvu e f vyvy d vzvz d b c e f d d b c e f d d b c e f d d
6
6 Winter 2004ICS 252-Intro to Computer Design Problem Formulation Element in library –Characterized by function, terminals, and parameters such as area, delay, etc. Single-output combinational logic function An area cost input-/output propagation delay Common approach: network covering –Replacing subnetwork with cell library –Cell matches a subnetwork if they are functionally equivalent –A necessary condition is that each internal vertex is covered by at least one match.
7
7 Winter 2004ICS 252-Intro to Computer Design Covering problem in library binding Librarycost AND2 OR2 OA21 445445 v1v1 b c v2v2 v3v3 d a a b c d a b c d m4 m3 m1:OR2 m2:AND2 m3:AND2 a b c d
8
8 Winter 2004ICS 252-Intro to Computer Design Covering problem example V1 can be covered by unate clause m1+m4+m5 V2 can be covered by clause m2+m4 V3 can be covered by clause m3+m5 Ensure that appropriate inputs are available to each chosen (matched) cell. –m2 m1 by binate clause m’2+m1 –m3 m1 by clause m’3+m1 (m1+m4+m5)(m2+m4)(m3+m5)(m’2+m1)(m’3+m1)=1 Binate clause binate covering intractable problem
9
9 Winter 2004ICS 252-Intro to Computer Design Algorithms for library binding Library binding similar to code generation in a software compiler –Matching problem addresses generation of possible substitutions –Covering problem gives optimal selection of matches Network binding problem Matching on network –Boolean –Structural
10
10 Winter 2004ICS 252-Intro to Computer Design Matching of two scalar combinational functions Boolean matching –Given two single-output combinational functions f(x) and g(y), we say f matches g if there exists a permutation matrix P such that f(x)=g(Px) is a tautology. Structural matching –Given structural representation of two functions f and g, there is a structural match if the graphs are isomorphic example
11
11 Winter 2004ICS 252-Intro to Computer Design Matching algorithms Boolean matching and structural matching: intractable problems Heuristics: –Network covering –Composed of two major pre-processing stages: Decomposition Ensure each vertex is at least one match Partitioning Multiple-output single-output
12
12 Winter 2004ICS 252-Intro to Computer Design Covering algorithms Based on structural matching Find common patterns Graphs associated with the library elements are called pattern graphs. Network partitioning into subject graphs Both subject and pattern graphs: DAG and rooted (root?) Structural matching: check isomorphism between subject graphs and pattern graphs
13
13 Winter 2004ICS 252-Intro to Computer Design Tree-based matching One type operation (degree of vertices shows the type) Tree matching: optimal solution in linear time Simple algorithm that determines if a pattern tree is isomorphic to a subgraph in a tree –Matching root of pattern to a vertex of the subject tree and visiting recursively their children –Isomorphism can be verified by comparing the degrees of pairs of vertices in both trees in top-down fashion until leaves of pattern tree are reached. –If match, the corresponding children are recursively visited. Otherwise, mismatch.
14
14 Winter 2004ICS 252-Intro to Computer Design Tree based covering Based on dynamic programming Min-area covering Algorithm: –Traverse the tree in a bottom-up fashion –For all vertices of the subject tree, the algorithm determines the matches of locally rooted subtrees with pattern trees. –Three possibilities: If pattern tree and locally rooted subtree are ismorphic, then label the vertex with the cost cell. If pattern tree is ismorphic to a subtree of the locally rooted subject subtree with the same root and a set of leaves L, vertex is labeled with the corresponding cell cost plus the labels of vertices No match
15
15 Winter 2004ICS 252-Intro to Computer Design Tree-based matching and covering Simple and efficient Pitfalls: –Multiple non-isomorphic patterns for some cells –Some cells such as XOR and XNOR cannot be represented by tree –Structural matching detect a subset of possible matches and don’t permit the don’t care information of library binding
16
16 Winter 2004ICS 252-Intro to Computer Design Boolean matching Overcome pitfalls of tree-based and structural matching More computationally expensive Better quality solution Based on dynamic programming used in structural matching but more complex
17
17 Winter 2004ICS 252-Intro to Computer Design Summary Library binding: –key link between logic synthesis and physical design –Based on matching and covering –Structural matching and covering: Intractable problem –Tree based matching and covering : simple and efficient but with some pitfalls –Algorithms : highly dependent on initial decompositions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.