1 / 17

ICS 252 Introduction to Computer Design

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

pedrocraft
Download Presentation

ICS 252 Introduction to Computer Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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 Covering problem example ICS 252-Intro to Computer Design

  9. 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

  10. 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

  11. 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 Matching algorithms ICS 252-Intro to Computer Design

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

More Related