To view this presentation, you'll need to enable Flash.

Show me how

After you enable Flash, refresh this webpage and the presentation should play.

Loading...

PPT – Improvements in FPGA Technology Mapping PowerPoint presentation | free to download - id: 6acf99-NTk3Z

The Adobe Flash plugin is needed to view this content

View by Category

Presentations

Products
Sold on our sister site CrystalGraphics.com

About This Presentation

Write a Comment

User Comments (0)

Transcript and Presenter's Notes

Improvements in FPGA Technology Mapping

- Satrajit Chatterjee, Alan Mishchenko
- and Robert Brayton
- U. C. Berkeley

Outline

- Review of Technology Mapping
- More Efficient Cut Computation
- Lossless Synthesis
- Area Recovery

Technology Mapping

Input A Boolean network

Output A netlist of k-LUTs implementing the

Boolean network optimizing some cost function

f

f

Technology Mapping

a

c

d

e

a

c

d

e

b

b

The subject graph

The mapped netlist

Basic Mapping Algorithm

Cut-based mapping using dynamic programming on a

DAG for delay optimality

- Input And-Inverter Graph
- Compute k-feasible cuts for each node
- Compute best arrival time at each node
- In topological order (from PI to PO)
- Assuming that each cut maps to a k-LUT
- Assuming that each k-LUT has unit delay
- Chose the best cover
- In reverse topological order (from PO to PI)
- Output Mapped Netlist

k-feasible Cuts

r

(Rough definitions) A cut of a node n is a set

of nodes in transitive fan-in such

that assigning values to those nodes fixes the

value of n. A k-feasible cut means the size of

the cut must be k or less.

p

q

a

b

c

The set p, b, c is a 3-feasible cut of node r.

(It is also a 5-feasible cut.)

k-feasible cuts are important in FPGA mapping

since the logic between a node and the nodes in

its cut can be replaced by a k-LUT.

k-feasible Cut Computation

The set of cuts of a node is a cross product of

the sets of cuts of its children

r, p, q, p, b, c, a, b, q, a, b, c

r

p, a, b

q, b, c

Computation is done bottom-up

p

q

b

c

a

a

c

b

Any cut that is of size greater than k is

discarded

(Pan 98, Cong 99)

Outline

- Review of Technology Mapping
- More Efficient Cut Computation
- Cut Dropping
- Cut Dominance
- Lossless Synthesis
- Area Recovery

Cut Dropping

During bottom up computation of cuts, the set of

cuts of a node can be freed once all its fan-outs

have been processed

r, p, q, p, b, c, a, b, q, a, b, c

r

Can delete these cuts once node r is done

q, b, c

p, a, b

Bottom-up computation

p

q

a

c

b

- Once the cuts of node r are computed, the cuts of

q are no longer needed - But cannot discard the cuts of node p since not

all fan-outs of p have been processed - Dramatically reduces peak memory consumption on

large designs

Cuts Behaving Badly

Bottom-up cut computation in the presence of

re-convergence might produce dominated cuts

x

.. a, d, b, c .. a, b, c ..

x a a.b b.c

f

.. d, b, c .. a, b, c ..

d

e

Cut a, b, c dominates cut a, d, b, c

a

c

b

- The good cut a, b, c is there so not a

quality issue - But the bad cut a, d, b, c may be propagated

further so a run-time issue - Want to discard dominated cuts quickly

Signature-based Dominance

- Problem Given two cuts how to quickly determine

whether one is a subset of another

Define signature of a cut

(S means bit-wise OR)

where ID(n) is the integer id of node n

Observation If cut c1 dominates cut c2 then

sig(c1) OR sig(c2) sig(c2)

Cheap test for the common case that a cut does

not dominate another. Only if this fails is an

actual comparison made.

Example

- Let the node ids be a 1, b 2, c 3, d 4
- Let c1 a, b, c and c2 a, d, b, c
- sig (c1) 21 OR 22 OR 23
- 0001 OR 0010 OR 0100
- 0111
- sig (c2) 21 OR 24 OR 22 OR 23
- 0001 OR 1000 OR 0010 OR

0100 - 1111
- As sig (c1) OR sig (c2) ¹ sig (c1), c2 does not

dominate c1 - But sig (c1) OR sig (c2) sig (c2), so c1 may

dominate c2

Other Uses of Signatures

- Signatures can be used as quick negative tests

for equality of cuts and for k-feasibility

Run-time of k-feasible cut computation

Peak Memory in Mb with Cut Dropping

Outline

- Review of Technology Mapping
- More Efficient Cut Computation
- Lossless Synthesis
- Area Recovery

Structural Bias

The mapped netlist very closely resembles the

subject graph

f

f

p

p

Technology Mapping

m

m

a

c

d

e

a

c

d

e

b

b

Every input of every LUT in the mapped netlist

must be present in the subject graph ..

.. otherwise technology mapping will not find the

match

The Problem of Structural Bias

A better match may not be found

f

f

This match is not found

p

f

p

q

m

m

a

a

c

d

e

a

c

d

e

b

c

d

e

b

b

Since the point q is not present in the subject

graph, the match on the extreme right will not

be found

The Problem of Structural Bias

The match would be found with a different

subject graph

f

f

p

f

q

q

m

a

b

c

e

d

a

c

d

a

c

d

e

b

e

b

Traditional Synthesis

Only the network at the end of technology

independent synthesis is used for mapping

Boolean Network

Technology- independent synthesis

sweep

eliminate resub simplify

No guarantee of optimality since each synthesis

step is heuristic. But structural bias means the

mapped netlist depends heavily on the final

network.

fx resub sweep

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Lossless Synthesis

Idea Merge intermediate networks into a single

network with choices which is used for mapping

Boolean Network

Technology- independent synthesis

sweep

eliminate resub simplify

Choice operator

Technology mapping is not any harder with

choices (Lehman-Watanabe 95, Chen and Cong 01)

fx resub sweep

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Lossless Synthesis

Can combine the results of different technology

independent optimization scripts

Boolean Network

Script optimizes area

sweep

Script optimizes delay

eliminate resub simplify

speed up

reduce depth

fx resub sweep

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Mapping with Choices

Boolean Network

sweep

eliminate resub simplify

Question 1 How to implement an efficient choice

operator?

fx resub sweep

Question 2 How to map quickly with choices?

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Mapping with Choices

Boolean Network

sweep

eliminate resub simplify

Question 1 How to implement an efficient choice

operator?

fx resub sweep

Question 2 How to map quickly with choices?

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Detecting Choices

- Task Given two Boolean networks, we need to

create a network with choices

Network 1 x (a b).c y b.c.d

Network 2 x a.c b.c y b.c.d

Step 1 Make And-Inverter decomposition of

networks

y

x

a

c

d

b

Detecting Choices

- Step 2 Use combinational equivalence to detect

functionally equivalent nodes up to

complementation (Kuehlmann 04, ) - Random simulation to detect possibly equivalent

nodes - SAT-based decision procedure to prove equivalence

Network 1 x (a b).c y b.c.d

Network 2 x a.c b.c y b.c.d

x

y

a

c

d

b

Detecting Choices

Step 3 Merge equivalent nodes with choice edges

x

y

a

c

d

b

x now represents a class of nodes that are

functionally equivalent up to complementation

Mapping with Choices

Boolean Network

sweep

eliminate resub simplify

Question 1 How to implement an efficient choice

operator?

fx resub sweep

Question 2 How to map quickly with choices?

eliminate sweep full simplify

Technology Mapping

Mapped Netlist

Mapping with Choices

Only Step 1 requires modification

- Input And-Inverter Graph with Choices
- Compute k-feasible cuts with choices
- Compute best arrival time at each node
- In topological order (from PI to PO)
- Assuming that each cut maps to a k-LUT
- Assuming that each k-LUT has unit delay
- Chose the best cover
- In reverse topological order (from PO to PI)
- Output Mapped Netlist

Cut Computation with Choices

Cuts are now computed for equivalence classes of

nodes

x2, q, c, a, b, c

x1, p, r, p, b, c, a, c, r, a, b, c

x

y

x1

x2

r

p

q

a

c

d

b

Cuts ( x ) Cuts ( x1 ) ? Cuts( x2 )

x1, p, r, p, b, c, a, c, r,

a, b, c, x2, q, c

Mapping with Choices

After Step 1 everything else remains same

- Input And-Inverter Graph with Choices
- Compute k-feasible cuts with choices
- Compute best arrival time at each node
- In topological order (from PI to PO)
- Assuming that each cut maps to a k-LUT
- Assuming that each k-LUT has unit delay
- Chose the best cover
- In reverse topological order (from PO to PI)
- Output Mapped Netlist

Outline

- Review of Technology Mapping
- More Efficient Cut Computation
- Lossless Synthesis
- Area Recovery
- Area-flow
- Exact Area

Overview of Area Recovery

- Initial mapping is delay oriented
- Gets best delay for all paths
- Area-based tie-breaking
- Not all paths critical
- Area recovery tries to slow down non critical

paths to reduce area - Each node with positive slack choose a different

cut that reduces area - Done as subsequent passes after delay-oriented

mapping - Question how to measure area?

How to Measure Area?

Naïve definition Area (cut) 1 S area

(fan-in)

y

x

x

y

q

r

p

q

r

p

c

d

e

f

a

b

c

d

e

f

a

b

Area of cut p, c, d 1 1 0 0 2

Area of cut a, b, q 1 0 0 1 2

Naïve definition says both cuts are equally good

in area

Naïve definition ignores sharing due to multiple

fan-outs

Area-flow

Area-flow (cut) 1 S ( area-flow (fan-in) /

fan-out (fan-in) )

y

x

x

y

q

r

p

q

r

p

c

d

e

f

a

b

c

d

e

f

a

b

Area-flow of cut p, c, d 1 1 0 0 2

Area-flow of cut a, b, q 1 0/1 0/1

½ 1.5

Area-flow recognizes that cut a, b, q is better

Area-flow correctly accounts for sharing

(Cong 99, Manohara-rajah 04)

Area Recovery with Area-flow

- Do delay-optimal mapping
- Compute slack at each node
- Do area recovery with area-flow
- Done in topological order from PI to PO
- Among all the cuts which do not exceed slack

budget choose cut with smallest area-flow - Fan-out of a node is estimated from delay optimal

mapping - We only do one pass
- Saw only marginal improvement on subsequent passes

Exact Area

Exact-area (cut) 1 S exact-area (fan-in

with no other fan-out)

f

f

p

p

6

6

6

6

q

q

s

s

t

t

d

b

c

e

f

a

d

b

c

e

f

a

Cut s, t, q Area flow 1 .25.25 1

2.5 Exact area 1 1 2 (due to q) Area flow

will choose this cut.

Cut p, e, f Area flow 1 (.25.253)/2

2.75 Exact area 1 0 (p is used elsewhere)

Exact area will choose this cut.

Area Recovery with Exact-area

- Do delay-optimal mapping
- Compute slack at each node
- Do area recovery with area-flow
- Do area recovery with exact-flow
- Done in topological order from PI to PO
- Among all the cuts which do not exceed slack

budget choose cut with smallest exact-area - Note Unlike area-flow, no estimation involved
- We only do one pass
- Saw only marginal improvement on subsequent passes

Area Recovery Summary

- Two step area recovery
- Area-flow has global view
- Exact area has local view
- Ensures local minimum is reached
- Order in which nodes are processed for both steps

is important - Order of the two passes is important

Experimental Comparison

- Compare area-recovery with state-of-the-art

academic mapper DAOmap - DAOmap uses many (10) different area recovery

heuristics - Some more effective than others
- Just the two heuristics of area-recovery and

exact-area give better results on their

benchmarks - Also separate comparison with choices obtained

from lossless synthesis flow - Six snapshots of MVSIS script.rugged
- Not the best FPGA optimization script ?
- Improves both area and delay

Comparison with DAOmap

Summary

- Improvements to cut computation
- Cut dropping
- Signature-based dominance check
- Lossless Synthesis
- Map over multiple synthesis snapshots
- Simpler, faster and better area recovery
- Global area-flow
- Local exact area
- Order of application is important
- Implemented in the abc system
- Google abc berkeley logic synthesis

About PowerShow.com

PowerShow.com is a leading presentation/slideshow sharing website. Whether your application is business, how-to, education, medicine, school, church, sales, marketing, online training or just for fun, PowerShow.com is a great resource. And, best of all, most of its cool features are free and easy to use.

You can use PowerShow.com to find and download example online PowerPoint ppt presentations on just about any topic you can imagine so you can learn how to improve your own slides and presentations for free. Or use it to find and download high-quality how-to PowerPoint ppt presentations with illustrated or animated slides that will teach you how to do something new, also for free. Or use it to upload your own PowerPoint slides so you can share them with your teachers, class, students, bosses, employees, customers, potential investors or the world. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!

You can use PowerShow.com to find and download example online PowerPoint ppt presentations on just about any topic you can imagine so you can learn how to improve your own slides and presentations for free. Or use it to find and download high-quality how-to PowerPoint ppt presentations with illustrated or animated slides that will teach you how to do something new, also for free. Or use it to upload your own PowerPoint slides so you can share them with your teachers, class, students, bosses, employees, customers, potential investors or the world. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!

presentations for free. Or use it to find and download high-quality how-to PowerPoint ppt presentations with illustrated or animated slides that will teach you how to do something new, also for free. Or use it to upload your own PowerPoint slides so you can share them with your teachers, class, students, bosses, employees, customers, potential investors or the world. Or use it to create really cool photo slideshows - with 2D and 3D transitions, animation, and your choice of music - that you can share with your Facebook friends or Google+ circles. That's all free as well!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!

For a small fee you can get the industry's best online privacy or publicly promote your presentations and slide shows with top rankings. But aside from that it's free. We'll even convert your presentations and slide shows into the universal Flash format with all their original multimedia glory, including animation, 2D and 3D transition effects, embedded music or other audio, or even video embedded in slides. All for free. Most of the presentations and slideshows on PowerShow.com are free to view, many are even free to download. (You can choose whether to allow people to download your original PowerPoint presentations and photo slideshows for a fee or free or not at all.) Check out PowerShow.com today - for FREE. There is truly something for everyone!

Recommended

«

/ »

Page of

«

/ »

Promoted Presentations

Related Presentations

Page of

Home About Us Terms and Conditions Privacy Policy Presentation Removal Request Contact Us Send Us Feedback

Copyright 2018 CrystalGraphics, Inc. — All rights Reserved. PowerShow.com is a trademark of CrystalGraphics, Inc.

Copyright 2018 CrystalGraphics, Inc. — All rights Reserved. PowerShow.com is a trademark of CrystalGraphics, Inc.

The PowerPoint PPT presentation: "Improvements in FPGA Technology Mapping" is the property of its rightful owner.

Do you have PowerPoint slides to share? If so, share your PPT presentation slides online with PowerShow.com. It's FREE!