170 likes | 187 Vues
Understand the task of transforming logic networks into bound networks for optimization, covering problem formulation and heuristics for library binding in computer design. Learn about cell-library interfaces and structural matching algorithms.
E N D
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI
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. Cell-Library Binding ICS 252-Intro to Computer Design
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 Library binding ICS 252-Intro to Computer Design
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) Library binding ICS 252-Intro to Computer Design
d d vz b b vx vw c c d d vy e e vu f f d d b b c c d d e e f f ICS 252-Intro to Computer Design
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. Problem Formulation ICS 252-Intro to Computer Design
Covering problem in library binding a v2 a b b v1 c c d d v3 m4 a a m1:OR2 m2:AND2 m3:AND2 b b c c d d m3 ICS 252-Intro to Computer Design
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. m2m1 by binate clause m’2+m1 m3m1 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 Covering problem example ICS 252-Intro to Computer Design
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 Algorithms for library binding ICS 252-Intro to Computer Design
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 Matching of two scalar combinational functions ICS 252-Intro to Computer Design
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-outputsingle-output Matching algorithms ICS 252-Intro to Computer Design
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 Covering algorithms ICS 252-Intro to Computer Design
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. Tree-based matching ICS 252-Intro to Computer Design
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 Tree based covering ICS 252-Intro to Computer Design
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 Tree-based matching and covering ICS 252-Intro to Computer Design
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 Boolean matching ICS 252-Intro to Computer Design
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 Summary ICS 252-Intro to Computer Design