SlideShare a Scribd company logo
1 of 39
Standard Cell Routing via
Boolean Satisfiability
Nikolai Ryzhenko, Steven Burns
Strategic CAD Labs, Intel Corporation
Design Automation Conference, June 6, 2012
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

2
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

3
Introduction
• Routing constitutes a significant part of creation
of cell libraries
• They proposed a flow for routing nets within a
standard cell that
a) generates candidate routes for point-to-point
segments
b) finds conflicts between candidate routes
c) solves a SAT instance producing a legal and complete
routing for all nets in the standard cell
4
The Boolean Satisfiability
Problem (SAT)
• Given: A Boolean formula F(x1, x2, x3, …, xn)
• Can F evaluate to 1 (true)?
– Is F satisfiable?
– If yes, return values to xi’s (satisfying assignment)
that make F true
– Example :
• This is a CNF form
• (a + b + c) (a’ + b’ + c) (a + b’ + c’) (a’ + b + c’) = 1

5
Previous works
• SAT is ideally suited for tasks where there are
multiple conflicts among a discrete set of objects
– In [4], SAT is used to complete a greedy routing
approach
– In [8], SAT is formulated for transistor placement
– In [9], SAT is applied for FPGA routing
– In [10], SAT is used for routing regular logic bricks
– In [11], nets in a manufacturing hotspot region are
simultaneously ripped up and rerouted
6
Our SAT formulation
•
•
•
•

Independence on net ordering
Does not compromise design rule cleanliness
Rip-up-and-reroute is not needed
The result is
a) a legal solution
b) a precise report that no solution exists

7
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

8
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
9
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
10
Create ties -- Example
• 3 nets and 7
terminals
• 5 terminal-toterminal
connections (ties)
a

n t
n t
c
c
c
c
n c (t 12 t13 ) ( t12 t )
23
c
c
(t 23 t13 )
a

12
b

b

12

11
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
12
Produce
possible
routes

c2

b1
a1

b2
c1
c3

a2

a

a

12

1

t r

b

b

12

3

c

c

t r

t r
12

6

b

b

12

4

c

c

t r

t r
12

7

a

a

12

2

t r

b

b

12

5

t r

c

c

12

8

t r

• Routes are
constructed by
maze
algorithm
independently
from each
other
•

c

c

13

9

t r

c

c

13

10

t r

c

c

23

11

t r

http://workbench.lafayett
e.edu/~nestorj/cadapplet
s/MazeRouter.html

13
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
14
Pruning of redundant routes
Extra example

• The layout after
merging of r2 and r3
must be identical to r1
• These two routes have
equivalent influence on
all other routes as the
route r1 and thus we
can safely prune r1

15
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
16
Detect
conflicts
{ r2 , r3 } is
conflict
c2

b1
a1

t12a

b2

r1

c1
a2

c3

b

b

12

3

t r

c

c

12

6

t r

c

c

13

9

t r

a

a

12

1

t r

b

b

12

4

t r

c

c

12

7

t r

c

c

13

10

t r

a

a

12

2

t r

b

b

12

5

t r

c

c

12

8

t r

c

c

23

11

t r

r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11

t12b

r2

r3

r4

t12c
r5

t13c

t23c

r6

r7

r8

r9

r10

x
x
x
x

x
x
x
x

x

x

r11

x

x
x

x

x
x
x
x
x
x
x
x

x
x

x
x

x
x

x
x
x

x
x

x

17
Detect
conflicts
{ r2 , r4 } is also
conflict
c2

b1
a1

t12a

b2

r1

c1
a2

c3

b

b

12

3

t r

c

c

12

6

t r

c

c

13

9

t r

a

a

12

1

t r

b

b

12

4

t r

c

c

12

7

t r

c

c

13

10

t r

a

a

12

2

t r

b

b

12

5

t r

c

c

12

8

t r

c

c

23

11

t r

r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11

t12b

r2

r3

r4

t12c
r5

t13c

t23c

r6

r7

r8

r9

r10

x
x
x
x

x
x
x
x

x

x

r11

x

x
x

x

x
x
x
x
x
x
x
x

x
x

x
x

x
x

x
x
x

x
x

x

18
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
19
Prune unfeasible routes
• tb12 is mandatory tie, r6 & r7 block tb12
• tc have to choose 2 ties, r2 blocks tc12 & tc1
c2

b1
a1

t12a

b2

r1

c1
a2

c3

b

b

12

3

t r

c

c

12

6

t r

c

c

13

9

t r

a

a

12

1

t r

b

b

12

4

t r

c

c

12

7

t r

c

c

13

10

t r

a

a

12

2

t r

b

b

12

5

t r

c

c

12

8

t r

c

c

23

11

t r

r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11

t12b

r2

r3

r4

t12c
r5

t13c

t23c

r6

r7

r8

r9

r10

x
x
x
x

x
x
x
x

x

x

r11

x

x
x

x

x
x
x
x
x
x
x
x

x
x

x
x

x
x

x
x
x

x
x

x

20
Prune unfeasible routes
• After prune r2, r6 and r7, r5 blocks the
mandatory tie ta12 → prune r5
c2

b1
a1

t12a

b2
c1
a2

c3

r1
a

a

12

1

t r

a

2

r3

r4

t12c
r5

r8

t13c
r9

t r

r1

b

b

12

3

b

b

12

4

t r

b

b

12

5

t r

x

r4
r5

x
x

r8
c

c

12

6

t r

c

c

12

7

t r

c

c

12

c

c

13

9

c

c

13

10

t r

x

r9

x

8

t r

x

r10
r11

t r

r11

x

r3
t r

r10

t23c

a

12

t12b

c

c

23

11

t r

x

21
Prune unfeasible routes
• If both r9 and r11 are chosen, tb12 will be
blocked → r9 and r11 can’t be selected together
c2

b1
a1

t12a

b2
c1
a2

c3

r1
a

a

12

1

t r

a

2

r3

t12c

r4

r8

t13c
r9

t r

b

b

12

3

b

b

12

4

t r

b

b

12

5

t r

x

r4

x

r8

x

r9
c

c

12

6

t r

c

c

13

9

t r

c

c

12

7

t r

c

c

13

10

t r

r11

r1
r3

t r

r10

t23c

a

12

t12b

c

c

12

x

x

r10

8

t r

r11

c

c

23

11

t r

x

22
Prune unfeasible routes
• r9 blocks both tc12 and tc23 → prune route r9
c2

b1
a1

t12a

b2
c1
a2

c3

r1
a

a

12

1

t r

a

2

r3

t12c

r4

r8

t13c
r9

t r

b

b

12

3

b

b

12

4

t r

b

b

12

5

t r

x

r4

x

r8

x

r9
c

c

12

6

t r

c

c

13

9

t r

c

c

12

7

t r

c

c

13

10

t r

r11

r1
r3

t r

r10

t23c

a

12

t12b

c

c

12

x

x

x

r10

8

t r

r11

c

c

23

11

t r

x

x

23
Stages before SAT formulation
Creation of ties

Enumeration of possible routes
Pruning of redundant routes
Detection of conflicts between routes

Pruning of unfeasible routes
Pruning routes by signature
24
Prune routes by signature
1) both routes belong to one tie
2) conflicts of r4 are fully covered by conflicts of r3
→ prune r3
c2

b1
a1

t12a

b2
c1
a2

c3

r1
a

a

12

1

t r

a

2

r3

t r

b

b

12

3

b

b

12

4

t r

t13c

t23c

r8

r10

r11

r1
r3

t r

r4

t12c

a

12

t12b

b

b

12

5

t r

x

r4
r8
r10

c

c

12

6

t r

c

c

13

9

t r

c

c

12

7

t r

c

c

13

10

t r

c

c

12

8

t r

c

c

23

11

t r

r11

x

25
After pruning routes
c2

b1
a1

t12a

b2
c1

a2

c3

a

a

12

1

t r

a

r1

a

12

2

t r

t12b
r4

t12c
r8

t13c
r10

t23c
r11

r1
b

b

12

3

t r

b

b

12

4

t r

b

b

12

5

t r

r4
r8

c

c

12

6

t r

c

c

12

7

t r

c

c

12

8

t r

r10
r11

c

c

13

9

t r

c

c

13

10

t r

c

c

23

11

t r

26
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

27
SAT formulation
• When ri is set to 1, it means that the
associated route is applied in the layout
• A tie clause (1) can be either true (connected
tie) or false (disconnected tie)

28
SAT formulation

29
SAT formulation

t12a

r1

t12b

r3

r4

t12c

t13c

t23c

r8

r10

r11

r1
r3

x

r4
r8
r10
r11

x

30
SAT formulation

obj1

obj2

obj3

31
SAT formulation
t12a t12b

r4
r8
r10

t13c

t23c

r1
r1

t12c
r8

r10

r11

r4

tc12 = r8
tc13 = r10
tc23 = r11
ta12 = 1

r11

32
SAT formulation
• The result of this example:
– r1 = 1 , r4 = 1 , r8 = 1 , r9 = 1
c2

b1
a1

b2
c1
a2

c3

b

b

12

3

c

c

12

6

t r

t r

c

c

13

9

t r

a

a

12

1

t r

b

b

12

4

c

c

12

7

t r

t r

c

c

13

10

t r

a

a

12

2

t r

b

b

12

5

t r

c

c

12

8

t r

c

c

23

11

t r

33
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

34
Quality assumptions
• Some layout situations are not forbidden but
their appearance should be as minimal as
possible
– vias between metal1 and metal2

35
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

36
Routability and Runtime
Cell type
Combinational
Delay cell
Latch
Non-scan DFF
Scan DFF
Adder
Multiplexer
Clock driver
Total
Runtime
#cells
% from all routed

#cells
120
11
14
14
29
16
25
40
269
< 1 min
169
~70%

#routed
115
11
14
13
21
9
21
35
239

< 5 min
20
~8%

< 1 hours
37
~15%

routed %
96%
100%
100%
93%
72%
56%
84%
88%
89%
> 1 hour
14
~6%

• 188 different cell from an industrial library
• 269 cells: 112 single-height and 157 double-height
• 89% cells (239 from total 269) were successfully routed

37
Outline
•
•
•
•
•
•

Introduction
Stages before SAT formulation
SAT formulation
Quality assumptions
Experimental results
Conclusion

38
Conclusion
• They proposed a standard cell routing flow
formulated as a Boolean satisfiability problem
– several pruning techniques that make the SAT
formulation more effective
– improve routing quality while remaining in the SAT
framework

• It demonstrated acceptable runtime and 89%
coverage of the industrial standard cell library
39

More Related Content

Similar to 20121224 meeting standard cell routing via boolean satisfiability_mori ver

Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Waqas Afzal
 
Vlsi model question paper 3 (june 2021)
Vlsi model question paper 3 (june 2021)Vlsi model question paper 3 (june 2021)
Vlsi model question paper 3 (june 2021)PUSHPALATHAV1
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 
Reducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology MappingReducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology Mappingsatrajit
 
Computer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxComputer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxladonnacamplin
 
On Resolution Proofs for Combinational Equivalence
On Resolution Proofs for Combinational EquivalenceOn Resolution Proofs for Combinational Equivalence
On Resolution Proofs for Combinational Equivalencesatrajit
 
Multimodal Residual Learning for Visual Question-Answering
Multimodal Residual Learning for Visual Question-AnsweringMultimodal Residual Learning for Visual Question-Answering
Multimodal Residual Learning for Visual Question-AnsweringNAVER D2
 
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...VIT-AP University
 
Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Alexander Litvinenko
 
Push And Pull Production Systems Chap7 Ppt)
Push And Pull Production Systems   Chap7 Ppt)Push And Pull Production Systems   Chap7 Ppt)
Push And Pull Production Systems Chap7 Ppt)3abooodi
 

Similar to 20121224 meeting standard cell routing via boolean satisfiability_mori ver (20)

Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
 
Vlsi model question paper 3 (june 2021)
Vlsi model question paper 3 (june 2021)Vlsi model question paper 3 (june 2021)
Vlsi model question paper 3 (june 2021)
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
Ch06 alignment
Ch06 alignmentCh06 alignment
Ch06 alignment
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 
3rd Semester Computer Science and Engineering (ACU-2022) Question papers
3rd Semester Computer Science and Engineering  (ACU-2022) Question papers3rd Semester Computer Science and Engineering  (ACU-2022) Question papers
3rd Semester Computer Science and Engineering (ACU-2022) Question papers
 
BLAST and sequence alignment
BLAST and sequence alignmentBLAST and sequence alignment
BLAST and sequence alignment
 
Reducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology MappingReducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology Mapping
 
Kmaps.ppt
Kmaps.pptKmaps.ppt
Kmaps.ppt
 
Kmaps.ppt
Kmaps.pptKmaps.ppt
Kmaps.ppt
 
Kmaps.ppt
Kmaps.pptKmaps.ppt
Kmaps.ppt
 
Computer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docxComputer Organization1CS1400Feng JiangBoolean al.docx
Computer Organization1CS1400Feng JiangBoolean al.docx
 
Block diagrams.ppt
Block diagrams.pptBlock diagrams.ppt
Block diagrams.ppt
 
On Resolution Proofs for Combinational Equivalence
On Resolution Proofs for Combinational EquivalenceOn Resolution Proofs for Combinational Equivalence
On Resolution Proofs for Combinational Equivalence
 
Multimodal Residual Learning for Visual Question-Answering
Multimodal Residual Learning for Visual Question-AnsweringMultimodal Residual Learning for Visual Question-Answering
Multimodal Residual Learning for Visual Question-Answering
 
Pipelining
PipeliningPipelining
Pipelining
 
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...
A Novel Parity Preserving Reversible Binary-to-BCD Code Converter with Testab...
 
3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...Application of parallel hierarchical matrices and low-rank tensors in spatial...
Application of parallel hierarchical matrices and low-rank tensors in spatial...
 
Push And Pull Production Systems Chap7 Ppt)
Push And Pull Production Systems   Chap7 Ppt)Push And Pull Production Systems   Chap7 Ppt)
Push And Pull Production Systems Chap7 Ppt)
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

20121224 meeting standard cell routing via boolean satisfiability_mori ver

  • 1. Standard Cell Routing via Boolean Satisfiability Nikolai Ryzhenko, Steven Burns Strategic CAD Labs, Intel Corporation Design Automation Conference, June 6, 2012
  • 2. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 2
  • 3. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 3
  • 4. Introduction • Routing constitutes a significant part of creation of cell libraries • They proposed a flow for routing nets within a standard cell that a) generates candidate routes for point-to-point segments b) finds conflicts between candidate routes c) solves a SAT instance producing a legal and complete routing for all nets in the standard cell 4
  • 5. The Boolean Satisfiability Problem (SAT) • Given: A Boolean formula F(x1, x2, x3, …, xn) • Can F evaluate to 1 (true)? – Is F satisfiable? – If yes, return values to xi’s (satisfying assignment) that make F true – Example : • This is a CNF form • (a + b + c) (a’ + b’ + c) (a + b’ + c’) (a’ + b + c’) = 1 5
  • 6. Previous works • SAT is ideally suited for tasks where there are multiple conflicts among a discrete set of objects – In [4], SAT is used to complete a greedy routing approach – In [8], SAT is formulated for transistor placement – In [9], SAT is applied for FPGA routing – In [10], SAT is used for routing regular logic bricks – In [11], nets in a manufacturing hotspot region are simultaneously ripped up and rerouted 6
  • 7. Our SAT formulation • • • • Independence on net ordering Does not compromise design rule cleanliness Rip-up-and-reroute is not needed The result is a) a legal solution b) a precise report that no solution exists 7
  • 8. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 8
  • 9. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 9
  • 10. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 10
  • 11. Create ties -- Example • 3 nets and 7 terminals • 5 terminal-toterminal connections (ties) a n t n t c c c c n c (t 12 t13 ) ( t12 t ) 23 c c (t 23 t13 ) a 12 b b 12 11
  • 12. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 12
  • 13. Produce possible routes c2 b1 a1 b2 c1 c3 a2 a a 12 1 t r b b 12 3 c c t r t r 12 6 b b 12 4 c c t r t r 12 7 a a 12 2 t r b b 12 5 t r c c 12 8 t r • Routes are constructed by maze algorithm independently from each other • c c 13 9 t r c c 13 10 t r c c 23 11 t r http://workbench.lafayett e.edu/~nestorj/cadapplet s/MazeRouter.html 13
  • 14. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 14
  • 15. Pruning of redundant routes Extra example • The layout after merging of r2 and r3 must be identical to r1 • These two routes have equivalent influence on all other routes as the route r1 and thus we can safely prune r1 15
  • 16. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 16
  • 17. Detect conflicts { r2 , r3 } is conflict c2 b1 a1 t12a b2 r1 c1 a2 c3 b b 12 3 t r c c 12 6 t r c c 13 9 t r a a 12 1 t r b b 12 4 t r c c 12 7 t r c c 13 10 t r a a 12 2 t r b b 12 5 t r c c 12 8 t r c c 23 11 t r r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 t12b r2 r3 r4 t12c r5 t13c t23c r6 r7 r8 r9 r10 x x x x x x x x x x r11 x x x x x x x x x x x x x x x x x x x x x x x x 17
  • 18. Detect conflicts { r2 , r4 } is also conflict c2 b1 a1 t12a b2 r1 c1 a2 c3 b b 12 3 t r c c 12 6 t r c c 13 9 t r a a 12 1 t r b b 12 4 t r c c 12 7 t r c c 13 10 t r a a 12 2 t r b b 12 5 t r c c 12 8 t r c c 23 11 t r r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 t12b r2 r3 r4 t12c r5 t13c t23c r6 r7 r8 r9 r10 x x x x x x x x x x r11 x x x x x x x x x x x x x x x x x x x x x x x x 18
  • 19. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 19
  • 20. Prune unfeasible routes • tb12 is mandatory tie, r6 & r7 block tb12 • tc have to choose 2 ties, r2 blocks tc12 & tc1 c2 b1 a1 t12a b2 r1 c1 a2 c3 b b 12 3 t r c c 12 6 t r c c 13 9 t r a a 12 1 t r b b 12 4 t r c c 12 7 t r c c 13 10 t r a a 12 2 t r b b 12 5 t r c c 12 8 t r c c 23 11 t r r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 t12b r2 r3 r4 t12c r5 t13c t23c r6 r7 r8 r9 r10 x x x x x x x x x x r11 x x x x x x x x x x x x x x x x x x x x x x x x 20
  • 21. Prune unfeasible routes • After prune r2, r6 and r7, r5 blocks the mandatory tie ta12 → prune r5 c2 b1 a1 t12a b2 c1 a2 c3 r1 a a 12 1 t r a 2 r3 r4 t12c r5 r8 t13c r9 t r r1 b b 12 3 b b 12 4 t r b b 12 5 t r x r4 r5 x x r8 c c 12 6 t r c c 12 7 t r c c 12 c c 13 9 c c 13 10 t r x r9 x 8 t r x r10 r11 t r r11 x r3 t r r10 t23c a 12 t12b c c 23 11 t r x 21
  • 22. Prune unfeasible routes • If both r9 and r11 are chosen, tb12 will be blocked → r9 and r11 can’t be selected together c2 b1 a1 t12a b2 c1 a2 c3 r1 a a 12 1 t r a 2 r3 t12c r4 r8 t13c r9 t r b b 12 3 b b 12 4 t r b b 12 5 t r x r4 x r8 x r9 c c 12 6 t r c c 13 9 t r c c 12 7 t r c c 13 10 t r r11 r1 r3 t r r10 t23c a 12 t12b c c 12 x x r10 8 t r r11 c c 23 11 t r x 22
  • 23. Prune unfeasible routes • r9 blocks both tc12 and tc23 → prune route r9 c2 b1 a1 t12a b2 c1 a2 c3 r1 a a 12 1 t r a 2 r3 t12c r4 r8 t13c r9 t r b b 12 3 b b 12 4 t r b b 12 5 t r x r4 x r8 x r9 c c 12 6 t r c c 13 9 t r c c 12 7 t r c c 13 10 t r r11 r1 r3 t r r10 t23c a 12 t12b c c 12 x x x r10 8 t r r11 c c 23 11 t r x x 23
  • 24. Stages before SAT formulation Creation of ties Enumeration of possible routes Pruning of redundant routes Detection of conflicts between routes Pruning of unfeasible routes Pruning routes by signature 24
  • 25. Prune routes by signature 1) both routes belong to one tie 2) conflicts of r4 are fully covered by conflicts of r3 → prune r3 c2 b1 a1 t12a b2 c1 a2 c3 r1 a a 12 1 t r a 2 r3 t r b b 12 3 b b 12 4 t r t13c t23c r8 r10 r11 r1 r3 t r r4 t12c a 12 t12b b b 12 5 t r x r4 r8 r10 c c 12 6 t r c c 13 9 t r c c 12 7 t r c c 13 10 t r c c 12 8 t r c c 23 11 t r r11 x 25
  • 26. After pruning routes c2 b1 a1 t12a b2 c1 a2 c3 a a 12 1 t r a r1 a 12 2 t r t12b r4 t12c r8 t13c r10 t23c r11 r1 b b 12 3 t r b b 12 4 t r b b 12 5 t r r4 r8 c c 12 6 t r c c 12 7 t r c c 12 8 t r r10 r11 c c 13 9 t r c c 13 10 t r c c 23 11 t r 26
  • 27. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 27
  • 28. SAT formulation • When ri is set to 1, it means that the associated route is applied in the layout • A tie clause (1) can be either true (connected tie) or false (disconnected tie) 28
  • 33. SAT formulation • The result of this example: – r1 = 1 , r4 = 1 , r8 = 1 , r9 = 1 c2 b1 a1 b2 c1 a2 c3 b b 12 3 c c 12 6 t r t r c c 13 9 t r a a 12 1 t r b b 12 4 c c 12 7 t r t r c c 13 10 t r a a 12 2 t r b b 12 5 t r c c 12 8 t r c c 23 11 t r 33
  • 34. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 34
  • 35. Quality assumptions • Some layout situations are not forbidden but their appearance should be as minimal as possible – vias between metal1 and metal2 35
  • 36. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 36
  • 37. Routability and Runtime Cell type Combinational Delay cell Latch Non-scan DFF Scan DFF Adder Multiplexer Clock driver Total Runtime #cells % from all routed #cells 120 11 14 14 29 16 25 40 269 < 1 min 169 ~70% #routed 115 11 14 13 21 9 21 35 239 < 5 min 20 ~8% < 1 hours 37 ~15% routed % 96% 100% 100% 93% 72% 56% 84% 88% 89% > 1 hour 14 ~6% • 188 different cell from an industrial library • 269 cells: 112 single-height and 157 double-height • 89% cells (239 from total 269) were successfully routed 37
  • 38. Outline • • • • • • Introduction Stages before SAT formulation SAT formulation Quality assumptions Experimental results Conclusion 38
  • 39. Conclusion • They proposed a standard cell routing flow formulated as a Boolean satisfiability problem – several pruning techniques that make the SAT formulation more effective – improve routing quality while remaining in the SAT framework • It demonstrated acceptable runtime and 89% coverage of the industrial standard cell library 39