C2: VLSI CAD Tools Problems and Algorithms

  • View
    31

  • Download
    7

Embed Size (px)

DESCRIPTION

C2: VLSI CAD Tools Problems and Algorithms. Marcelo Johann. EAMTA 2006. Outline. FIRST PART Tools and CAD The Placement Problem The Routing Problem Complexity, Graphs and Optimization SECOND PART Routing Algorithms Placement Algorithms Interconnections Methodology Aspects. Outline. - PowerPoint PPT Presentation

Text of C2: VLSI CAD Tools Problems and Algorithms

Apresentação do PowerPointC2: VLSI CAD Tools
Outline
Outline
FOURTH PART
High-Level Synthesis
Tools
EAMTA 2006 - Marcelo Johann - C21.*
Tools
EAMTA 2006 - Marcelo Johann - C21.*
Tools
Tools
EAMTA 2006 - Marcelo Johann - C21.*
Tools
EAMTA 2006 - Marcelo Johann - C21.*
Tools
And there is a chain of tools that make tools.
Math
CS
EE
CE
EE
g++
STL
Tools
g++
STL
Math
CS
EE
CE
EE
EE
Phy
Che
Programming
Algorithms
But why CAD tools???
Crescimento do Mercado
Desaparecimento do Mercado
Design Flow
Projetista faz descrição inicial (ex:VHDL) e usa um método, um conjunto de operações com ferramentas para obter o circuito
Síntese de alto-nível;
The Routing Problem
The Placement Problem
The Placement Problem
The Placement Problem
The Placement Problem
Because in some dispositions cells to connect are a lot closer
EAMTA 2006 - Marcelo Johann - C21.*
The Placement Problem
That’s
The Placement Problem
Algorithms and Data
Data Sctructures
The way data is organized is as important as an algorithm in order to efficiently solve a problem
Fundamental area of applied CS;
EAMTA 2006 - Marcelo Johann - C21.*
Graph Theory
Relation
Function
of the first set
Representation
v1
v2
v3
v4
v5
v6
v7
v8
v9
componentes
redes
A Placement Algorithm
The Routing Problem
Back again…
After placement
Lets see how we can add connections to the cells so that we build a real circuit
Switch to Glauco’s Routing Intro - part 1
+
=
The Maze Router
The Maze Router
Maze Router’s expansion
{
#define WEST(n) (n-1)
Space[i] = ' ';
{
Space[PLACE(i,10)] = 'X';
Maze Router’s tracking
1-You have to store the node and where it came from in the queue using a pair<int,int>
2-Instead of Space, use Expansion[n] to store where the nodes came from and Taken to represent obstacles and routes
4-Write backtrack(t,s) from target to source following Expansion[n]
g++
{
Solution Space
Combinatorial Optimazation Algorithms
http://www.rci.rutgers.edu/~cfs/305_html/ProblemSolving_Planning/TOH3DiskSol.html
Complexity
função
Complexity vs Speed
Complexity
Speed
EAMTA 2006 - Marcelo Johann - C21.*
Algorithms
Graphs Representation
Adjacency Matrix
List of Edges
Enumarates each pair
List of Neighbors
Generating function
C2: VLSI CAD Tools