14
C2 Part 4: C2 Part 4: VLSI CAD VLSI CAD Tools Tools Problems and Algorithms Problems and Algorithms Marcelo Johann Marcelo Johann EAMTA 2006 EAMTA 2006

C2 Part 4: VLSI CAD Tools Problems and Algorithms

  • Upload
    micah

  • View
    67

  • Download
    1

Embed Size (px)

DESCRIPTION

C2 Part 4: VLSI CAD Tools Problems and Algorithms. Marcelo Johann. EAMTA 2006. Outline. THIRD PART Layout Compaction Logic Synthesis, BDDs Technology Mapping Simmulation vs Formal Verification Voltage Drop by Random Walks FOURTH PART High-Level Synthesis - PowerPoint PPT Presentation

Citation preview

Page 1: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

C2 Part 4:C2 Part 4: VLSI CAD Tools VLSI CAD Tools Problems and AlgorithmsProblems and Algorithms

Marcelo JohannMarcelo Johann

EAMTA 2006EAMTA 2006

Page 2: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.2

OutlineOutlineTHIRD PART

• Layout Compaction• Logic Synthesis, BDDs• Technology Mapping• Simmulation vs Formal Verification• Voltage Drop by Random Walks

FOURTH PART•High-Level Synthesis•CDFG, Allocation, Scheduling, Generation

Page 3: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.3

Function representationsFunction representationsTruth Tables

Lists the output for every input combination

• For n variables, 2n lines

Formulas

F=x1.x2.~x5 + ~x3(x2.x4.x5 + ~x2) + x2.x3

• Not Canonical in general, canonical is large

BDDs

A graph that packs a truth table

• Average sized, powerful representation

Page 4: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.4

BDDsBDDs

Source: Wikipedia

Page 5: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.5

BDD - good orderingBDD - good orderingBDD graph for the Boolean formula x1 * x2 + x3 * x4 + x5 * x6 + x7 * x8 using a good variable ordering

Page 6: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.6

BDD - bad orderingBDD - bad orderingBDD graph for the Boolean formula x1 * x2 + x3 * x4 + x5 * x6 + x7 * x8 using a bad variable ordering

Page 7: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.7

Random WalksRandom Walks

Page 8: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.8

Random WalksRandom Walks

Page 9: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.9

IR DropIR Drop

Page 10: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.10

Random WalkRandom Walk

Page 11: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.11

The AlgorithmThe AlgorithmInitialize

• Compute conductance, px,i , mx

For each node in the circuit

Loop n times according to accuracy

Loop until reaching Supply – Add this node’s cost– Random select the next move

Make this node a new supply

Print the result

Page 12: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.12

AccuracyAccuracy

15876 VDD nodes15625 GND nodes1.2VLinux 2.8GHz CPUDelta controls error such that 99% of the nodes have less thenError Margin

Page 13: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

EAMTA 2006 - Marcelo Johann - C21.13

VLSI System DesignPart V : High-Level Synthesis

Lecturer : Tsuyoshi IsshikiVLSI Design and Education Center,

The University of Tokyo

Dept. Communication and Integrated Systems,

Tokyo Institute of Technology

[email protected]://www.vlsi.ss.titech.ac.jp/~isshiki/VLSISystemDesign/top.html

Jump to…Jump to…

Page 14: C2 Part 4:  VLSI CAD Tools  Problems and Algorithms

C2:C2: VLSI CAD Tools VLSI CAD Tools Problems and AlgorithmsProblems and Algorithms

EAMTA 2006EAMTA 2006

Marcelo JohannMarcelo Johann

[email protected]

www.inf.ufrgs.br/~johann

Thank you!