Title: Logic decomposition during technology mapping
1Logic decomposition during technology mapping
- Speaker David Bañeres Besora
- Department LSI
- Date 16/10/2002
2Index
- Introduction
- Synthesis of logic networks
- What is technology mapping ?
- Graph-Mapping and dynamic decomposition
- Implementation
- Conclusions
- Current work
3Introduction (1/3)
4Introduction (2/3)
CELLS COST SYMBOL
PATTERN
INVERTER 2
NAND2 3
NAND3 4
NAND4 5
AOI21 4
5Introduction (3/3)
6Introduction (3/3)
7Process of synthesis
- Synthesis is the process that, for a given
network and a library cell, it returns a new
network logically equivalent to the first, but it
only uses cells of library and this network is
optimised for delay or area.
8Phases of synthesis (1/3)
- Independent transformations
9Phases of synthesis (1/3)
- Independent transformations
10Phases of synthesis (1/3)
- Independent transformations
11Phases of synthesis (1/3)
- Independent transformations
12Phases of synthesis (1/3)
- Independent transformations
13Phases of synthesis (1/3)
- Independent transformations
14Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
15Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
16Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
17Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
18Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
19Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
20Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
21Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
22Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
23Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
24Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
25Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
26Phases of synthesis (2/3)
- Decomposition using base functions
- Decompose to a network NAND2/NOT
27Phases of synthesis (3/3)
- Technology mapping
- Greedy search
a
b
c
d
e
f
g
h
28Phases of synthesis (3/3)
- Technology mapping
- Greedy search
a
b
c
d
e
f
g
h
29Phases of synthesis (3/3)
- Technology mapping
- Greedy search
a
b
c
d
e
f
g
h
30Phases of synthesis (3/3)
- Technology mapping
- Using principle of optimality
31Phases of synthesis (3/3)
- Technology mapping
- Using principle of optimality
15
a
b
c
d
e
f
g
h
32Phases of synthesis (3/3)
- Technology mapping
- Using principle of optimality
a
b
c
d
e
f
g
h
33What is technology mapping ?
- Technology mapping is the problem of optimising a
network for area or delay, using only library
cells.
library
Network returned
Network
rule
34Tree-Mapping
- It uses principles of optimal code generation
using tree expressions Aho,Johnson
35Graph-Mapping
- Designed by Eric Lehman i Yosinori Watanabe
- IEEE Transaction on CAD, 1997
- Improvements
- It makes first and second phase of synthesis
during technology mapping. - It finds patterns in the original network and in
all possible representations of the logic
function that represents the network.
36Data structure used (1/2)
- Mapping graph
- Graph of ugates.
- Ugates
- Representation of a logic function and its
complement. It contains all possible
decompositions of the function.
37Data structure used (2/2)
38Data structure used (2/2)
39Data structure used (2/2)
40?-Mapping (1/2)
- It transforms the given network to an AND/NOT
Netwok.
- It transforms the network to a mapping-graph.
41?-Mapping (2/2)
42Dynamic decomposition (1/2)
- Application of distributive property.
43Dynamic decomposition (2/2)
44Dynamic decomposition (2/2)
45Dynamic decomposition (2/2)
46Mapping algorithms
- Graph-Mapping
- It doesnt apply dynamic decomposition
- Topological order of ugates
- ?-Mapping
- It applies dynamic decomposition
- Graph-Mapping is a subprocess
47Matching algorithm partial matches (1/2)
- We get all patterns and subpatterns for each
library cell.
48Matching algorithm partial matches (2/2)
49Matching algorithm partial matches (2/2)
50Matching algorithm partial matches (2/2)
51Matching algorithm partial matches (2/2)
52Implementation
- Implementation of algorithm of Graph-Mapping with
dynamic decomposition in SIS. - Calculation of area and delay costs.
53Conclusions
- Advantage
- ?-Mapping is better than tree-based algorithm
because it searches in all possible
representations of the given network. - Disadvantage
- ?-Mapping searches in more solutions but its CPU
time is also greater.
54Current work
- Consider input delays.
- Implement Pareto-Points feature.
- Implement another algorithm of matching based in
BDDs. - Implement an algorithm for large libraries and
networks.