ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese...

7
1 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 1 Ferramentas para Síntese Automática de Circuitos Integrados Profs: Ricardo Reis e Marcelo Johann Introdução à disciplina, Metodologias de Projeto e Diagrama Y CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 2 Organiza Organização ção Súmula Cronograma Página Trabalhos Práticos Conferências da área: DAC, ASP-DAC, DATE, ICCAD, ISPD Cadathlon Objetivos de Projeto Domínios e Ações de Projeto no Diagrama Y Tecnologias de Fabricação Metodologias de Projeto CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 3 Cronograma Cronograma CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 4 Tools Tools A long time ago we discovered the first tools… CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 5 Tools Tools …tools started to get more sophisticated… CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 6 Tools Tools …more sophisticated and complex…

Transcript of ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese...

Page 1: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

1

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 1

Ferramentas para SínteseAutomática de Circuitos IntegradosProfs: Ricardo Reis e Marcelo Johann

Introdução à disciplina,Metodologias de Projeto

e Diagrama Y

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 2

OrganizaOrganizaçãoção Súmula Cronograma Página Trabalhos Práticos Conferências da área:

DAC, ASP-DAC, DATE, ICCAD, ISPDCadathlon

Objetivos de ProjetoDomínios e Ações de Projeto no Diagrama YTecnologias de FabricaçãoMetodologias de Projeto

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 3

CronogramaCronograma

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 4

ToolsToolsA long time ago we discovered the first tools…

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 5

ToolsTools…tools started to get more sophisticated…

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 6

ToolsTools…more sophisticated and complex…

Page 2: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

2

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 7

ToolsTools…and then came VLSI CAD tools!

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 8

ToolsToolsDesigners use CAD tools to make Chips

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 9

ToolsToolsAnd there is a chain of tools that make tools.

g++g++STLSTL

MathCSEE

CEEE

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 10

MicroelectronicsMicroelectronics

g++g++STLSTL

MathCSEE

CEEE

EEPhyChe

ProgrammingAlgorithmsGraph TheoryOptimization

VLSI Design

Foundry

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 11

But why But why CAD CAD toolstools??????

Complexity

> 100.000.000 xtores

Efficiency

Effort, + productivity

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 12

Evolução dos Circuitos Integrados Evolução dos Circuitos Integrados

Lei de Moore: capacidade dobra em 18 meses 10 mil vezes nos últimos 20 anosProcessadores da Intel:

Page 3: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

3

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13

Ferramentas de Automação de Projeto Ferramentas de Automação de Projeto

Electronic Design Automation (EDA) para síntese automática, verificação, ... US$ 3 bi em 1998, US$ 3.9 bi em 2004,

US$5 bi em 2008Problemas: capacidade de fabricação aumenta

58%/ano produtividade aumenta só 21%/ano

(1997)Complexidade Complexidade e Desempenho Desempenho

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 14

Ferramentas de Automação de ProjetoFerramentas de Automação de Projeto

Soluções para Projeto: aumentar equipes (+custo e -controle) Systems-on-Chip (SOCs) = ReusabilidadeFerramentas: modelar efeitos elétricos precisamente tratar problemas grandes eficientemente prover metodologia convergente

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 15

Market

rising Market fallinglos

s

delay

time

prof

it

Time to Market

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 16

Design Design FlowFlowDesigner makes initial description (ex: VHDL)

and uses a methodology, a set ofoperations using tools to get the circuit:

High-Level Synthesis;VHDL to RTL

Logic Synthesis:RTL to mapped netlist

Physical Synthesis:Placement & Routing

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 17

The Placement ProblemThe Placement Problem

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 18

The Placement ProblemThe Placement Problem

Page 4: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

4

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 19

The Placement ProblemThe Placement Problem

a b c d e f

g h i j k l

But whythis way?

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 20

The Placement ProblemThe Placement Problem

a

b c

d

e f

g

h

ij

k

l

And notthis way?

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 21

The Placement ProblemThe Placement ProblemBecause in some dispositions cells toconnect are a lot closer

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 22

The Placement ProblemThe Placement Problem

a

b c

d

e f

g

h

ij

k

l

12 !

Ok. Lets see how many options we have…

That’s479.001.600

for a circuitwith only12 cells!!!

The Placement The Placement ProblemProblem

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 23

Solution Solution SpaceSpace

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 24

How How is is this cost functionthis cost function??

Page 5: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

5

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 25

Algorithms and Algorithms and DataData

AlgorithmSequence of steps to solve a problem Fundamental area of math and CS theory

Data SctructuresThe way data is organized is as important as

an algorithm in order to efficiently solve aproblem

Fundamental area of applied CS;

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 26

AlgorithmsAlgorithms Exact Algorithms Heuristic and Meta-Heuristic Algorithms Randomized Algorithms

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 27

Objetivos de um ProjetoDeve executar a funcionalidade de uma determinada

especificação

Fatores a serem otimizados:

Área - $$$, yield Velocidade - compromisso com área, pode ser restrição Dissipação de potência - confiabilidade, mobilidade, env. Tempo de projeto - custo e tempo para o mercado Testabilidade - altíssimo custo, cada componente Manufacturability - yield, restrições, variabilidade, stats

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 28

Diagrama YGajski propôs em 1983 um diagrama para representar três

DOMINIOS de projeto:

Geométrico

Estrutural

Comportamental

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 29

Mais abstra

ção

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

Circuito Real(fabricado)

idéia

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 30

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores,memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

processadores,memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

Leiaute das máscaras, retângulos, polígonos

Células de biblioteca, modelos de posição de pinos

Macro-células, planta baixa de blocos

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Leiaute das máscaras, retângulos, polígonos

Células de biblioteca, modelos de posição de pinos

Macro-células, planta baixa de blocos

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Page 6: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

6

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 31

EDIF

LEF / DEF

Spice

VHDL

C, C++,Hardware C

Java

Spice

CIF,GDS2

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores,memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

Leiaute das máscaras, retângulos, polígonos

Células de biblioteca, modelos de posição de pinos

Macro-células, planta baixa de blocos

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 32

Ações de Projeto Síntese - de nível superior para inferior

agregam informação = composição

Análise - de nível inferior para superior extraem informação = decomposição

Otimização - atuam no mesmo nível

Ferramentas de Gerenciamento Base de Dados Visões e Versões Colaboração Interfaces e visualização

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 33

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores,memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

Leiaute das máscaras, retângulos, polígonos

Células de biblioteca, modelos de posição de pinos

Macro-células, planta baixa de blocos

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

1- síntese lógica

2- simulação

3- mapeamento

4- place&route

5- fabricação

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 34

Exemplo de metodologia

RTL was written in Verilog and mapped to the standard-cell library with SynopsysDesign Compiler. Datapath-style placement of standard cells was carried out using atiled-region design methodology. Tiled regions allowed for hand-assisted automaticplacement of key standard cells in datapath bitslices. This methodology provided agood compromise between design effort and performance. The Avant! Apollo toolsuite was used for placement, routing, and clock distribution.

http://cva.stanford.edu/imagine/project/im_impl.html

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 35

Tecnologias de Fabricação Personalizáveis por todas as máscaras

CPUS, muitos ASICs Personalizáveis por algumas as máscaras

Gate arrays

Personalizáveis após a fabricaçãoou programáveis em campo

FPGAs

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 36

Metodologias de ProjetoGeneral Purpose

Full-custom Semi-custom Standard-Cell Platform-Based Module generators

ASIC

Page 7: ToolsTools - UFRGSjohann/cmp241/aula01.intro.ppt.pdf · 3 CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 13 Ferramentas de Automação

7

CMP241 - Ferramentas para Síntese Automática de CIs - Reis/Johann - UFRGS 2009/1 Aula 01 : Slide 37

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

processadores,memórias, barramentos

módulos de hardware

registradores, multiplexadores, operadores

Portas lógicas, flip-flops

Transistores, resistores, capacitores, indutores

Leiaute das máscaras, retângulos, polígonos

Células de biblioteca, modelos de posição de pinos

Macro-células, planta baixa de blocos

Módulos, clusters, cores, planos de clock/alimentação

Partições físicas, componentes, placas

Funções de transferência, equações diferenciais

Equações booleanas, tabelas verdade, BDDs

Máquinas de estado finitas, operações

Algoritmos

Especificações funcionais

Identifique umametodologia que usouou que encontrou na

literatura