cmp 238 – projeto e teste de um sistema vlsifglima/projeto/projeto1_2007.pdfaula disciplina:...

72
Aula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 1 CMP 238 CMP 238 Projeto e Teste de um Projeto e Teste de um Sistema VLSI Sistema VLSI Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados

Upload: others

Post on 20-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007

1

CMP 238 CMP 238 –– Projeto e Teste de um Projeto e Teste de um Sistema VLSISistema VLSI

Definição Sistemas DigitaisProjeto

Revisão: Circuitos CombinacionaisCircuitos SequênciaisMáquinas de Estados

Page 2: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 2 / 72

1Sistemas DigitaisSistemas Digitais

• Um sistema digital é um sistema no qual os sinais têm um número finito de valores discretos, se contrapondo a sistemas analógicos nos quais os sinais têm valores pertencentes a um conjunto contínuo (infinito).

Definição

S(digital)

x y

x

ty

t

S(analógico)

x y

x

ty

t

Page 3: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3 / 72

1Sistema DigitaisSistema Digitais

• Uma vez que os sinais do mundo físico são analógicos, é necessários convertê-los para sinais digitais e vice-versa sempre que os sinais digitais tenham que interagir com os sinais do meio físico.

Definição (cont.)

ADC Processamento de sinal e armazenamento DAC

Successive Approximation Register (SAR)

Page 4: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 4 / 72

1TermoTermo ModelagemModelagem

• A modelagem é uma maneira de representar as informaçõesimportantes de um sistema.

• Um sistema pode ter diversos modelos para ele.

Motivações para a modelagem de sistemas:1- Abstrair o comportamento de um sistema digital dando flexibilidade

de implementação.2 – Ajudar a comunicação do usuário com a funcionalidade do sistema3 – Permitir o teste e verificação por meio de simulação4 – Verificação formal por equações matemáticas que provem que o

sistema funciona para determinadas regras de funcionamento.

Page 5: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 5 / 72

1NíveisNíveis de de AbstraçãoAbstração de de SistemasSistemas VLSIVLSI

NívelNível ArquiteturalArquitetural ouou AlgoritmicoAlgoritmico

NívelNível de de transferenciatransferencia entreentreregistradoresregistradores (micro(micro--arquiteturalarquitetural))

NívelNível lógicológico ouou de de portasportas

NivelNivel elétricoelétrico ouou de de transistorestransistores

NivelNivel de de leiatueleiatue

NivelNivel de de máscarasmáscaras

Pro

jeto

Pro

jet o

Ver

if ic a

ção

Ver

if ic a

ção

NívelNível SistêmicoSistêmico

Page 6: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 6 / 72

1

Mais abstra

ção

Eixo ComportamentalSistêmico

Algorítmico

Micro arquitetural

Lógico

Elétrico

Eixo Estrutural

Eixo Geométrico

Circuito Real(fabricado)

idéia

Page 7: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 7 / 72

1

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 8: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 8 / 72

1

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

Page 9: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 9 / 72

1

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”

2- simulação

3- mapeamento

4- place&route

5- fabricação

Page 10: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 10 / 72

1NíveisNíveis de de AbstraçãoAbstração e e SínteseSíntese

Architectural level Logic level Circuit levelB

ehav

iora

l lev

elSt

ruct

ural

leve

l

For I=0 to I=15Sum = Sum + array[I]

0

0 0

0

State

Memory

+

Control

Clk

Architecturesynthesis

Logicsynthesis

Circuitsynthesis

Layout level

Layoutsynthesis

Compilação para silicio (não é um grande sucesso)

(Library)(register level)

Page 11: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 11 / 72

1E

sfor

çoE

sfor

ço

Tempo de Tempo de ProjetoProjeto

SistêmicoSistêmico

RTLRTL

LógicoLógico

-- SobreposiçãoSobreposição de de fasesfases no no projetoprojeto parapara atingiratingir timetime--toto--marketmarket-- MudançasMudanças paralelasparalelas emem multiplosmultiplos níveisníveis e e emem multiplasmultiplas equipesequipes

TransistorTransistor

Page 12: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 12 / 72

1ProjetoProjeto de de SistemasSistemas DigitaisDigitais

• Devido a alta complexidade dos sistemas digitais atuais, faz-se necessário a adoção de uma sistemáticametodologia de projeto.

• Metodologia de projeto são sequências de transformações que partem de uma descrição ouespecificação inicial até chegar a uma descriçãovalidada desse sistema para o processo de fabricação.

• Nível de fabricação pode ser máscaras no caso de circuitos integrados de aplicação especifica ou bitstreamno caso de FPGAs.

Page 13: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 13 / 72

1ProjetoProjeto de de SistemasSistemas DigitaisDigitais

As transformações podem ser de duas naturezas:

• Transformações de síntese

• Transformações de validação

Não válida válida

Page 14: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 14 / 72

1Sistemas DigitaisSistemas Digitais

• Aboradagem Descendente: decompõe o sistema em subsistemas que são por sua vez decompostos em subsistemas até atingir o níve de abtração desejado.

• Desafio: obter a decomposição adequada para cada nível para que no final os critérios de projeto (área, desempenho, potência) sejam atingidos.

• Abordagem Ascendente: conecta módulos disponíveis para formar subsistemas que por sua vez são conectados para formar subsistemas até que a especificação funcional seja satisfeita.

• Desafio: trabalhar com um conjunto muito grande de subsistemas pequenos para compor um sistema muito complexo.

Projeto

Módulos

Portas lógicas básicas e flip-flops

Descrição funcional

transistores

Layout

Linguagens de descrição de

hardware

Page 15: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 15 / 72

1Sistemas DigitaisSistemas DigitaisProjeto: Arbodagem Descendente

Módulos

Portas lógicas básicas e flip-flops

transistores

Layout

Projeto de Sistemas Digitais usando fluxogramas, grafos, máquinas de

estados e diagrama de blocos

Descrever o projeto em linguagens de descrição de hardware como

por exemplo VHDL

Usar ferramentas de síntese lógica para bibliotecas de células como o Leonardo da

Mentor

Usar ferramentas de síntese lógica para plataformas programaveis como FPGAs (Xilinx – ISE, Altera – Quartus, Actel –

Libero).

Verificar funcionalmente através de simulação lógica com e sem atraso.

Descrição funcional

Page 16: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 16 / 72

1Sistemas DigitaisSistemas DigitaisProjeto: Arbodagem Ascendente

Módulos

Portas lógicas básicas e flip-flops

transistores

Layout

Projeto de somadores, multiplicadores e outros subsistemas combinacionais e

sequenciais de alta eficiência em termos de área, desempenho e potência para uso em sistemas digitais complexos.

Descrever o projeto em linguagens de descrição de hardware como por exemplo VHDL ou em esquemático

Descrição funcional

Verificar funcionalmente através de simulação lógica com e sem atraso.

Verificar elétricamente através de simulação elétrica (SPICE)

Page 17: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 17 / 72

1ProjetoProjeto BaseadoBaseado emem EsquemáticoEsquemático

• Simbolo do módulo define a interface• Esquemático do módulo define a função• Top - down: faz primeiro o simbolo e depois o esquemático• Bottom - up: faz primeiro o esquemático e depois o símbolo.

Symbol

Schematic

Basic gate

Logic module

Long and tedious

Page 18: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 18 / 72

1ProjetoProjeto BaseadoBaseado emem SínteseSíntese

• Define modulo e o comportamento em uma linguagem adequeada. (também usada para simulação)

• Usa ferramentas de sintese para a geração do esquemático.

always @(posedge clk)beginif (set) coarse <= #(test.ff_delay) offset;else if (coarse == count_roll_over)

coarse <= #(test.ff_delay) 0;else coarse <= #(test.ff_delay) coarse + 1;end

A única maneira para fazer projetos com milhões de portas!

Page 19: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 19 / 72

1Sistemas DigitaisSistemas Digitais

• Levar em cosideração o projeto na abordagem descendente:

... mas também a abordagem ascendente no momento de otimizar certos blocos e subsistemas no projeto final do sistema digital visando o melhor custo x benefício.

Projeto: considerações finais

ChipALGORITMO HARDWARE

Page 20: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 20 / 72

1O que esperamos de um Sistema Digital?O que esperamos de um Sistema Digital?

waffer

Fatores de evolução

– densidade de integração , área ocupada

– consumo de potência

– freqüência de operação

– custo de fabricação

Page 21: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 21 / 72

1Wafer of Intel® Itanium® processorsWafer of Intel® Itanium® processors

Page 22: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 22 / 72

1

Page 23: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 23 / 72

1Tipos de componentesTipos de componentes

Circuito de aplicação específica (ASIC):circuito integrado projetado especialmente para uma determinada função e sistema digital.

• Full-custom • semi-custom• Standard cell

Lógica programável (FPGAs): circuito que pode ser customizado e re-

programado para realizar diversas funções.

Compromisso:Custo X tempo de projeto X desempenho

Chip

Page 24: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 24 / 72

1ProjetoProjeto de de SistemasSistemas DigitaisDigitais

1 – Sintaxe e a Semântica das descrições de entrada e saída

2 – Um conjunto de algoritmos para a traduação dasdescrições de entrada em descrições de saída

3 – Um conjunto de componentes para ser usado naimplementação

4 – Definição e intervalo das restrições do projeto5 – Os mecanismos de seleção do estilo de projeto,

arquitetura, topologia e componentes. 6 – Estratégias de controle (ordem em que as tarefas são

executadas).

Page 25: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 25 / 72

1

10100011001

Page 26: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 26 / 72

1ParâmetrosParâmetros de de ProjetoProjeto

• Desempenho: velocidade, potência, funcionalidade e flexibilidade

• Custo de manufatura: tamanho do die (área), tecnologia a ser fabricada (ASIC), ou arquitetura programável (FPGA).

• Tempo de projeto: custo do engenheiro, agenda

• Testabilidade: geração de teste, teste on-line, off line, etc…

Page 27: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 27 / 72

1Problemas:Complexidade sobe 58%/anoprodutividade aumenta só 21%/ano

Page 28: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 28 / 72

1DesafiosDesafios de de ProjetoProjeto

• Sistemas estão cada vez maiores, tempo de projeto requeridoestá cada vez menor:– > 100 Milhões de portas é comum para ASICs– > 0.4 Milhões de linhas de código C para descrever o

comportamento de um sistema– > 5 Milhões de linhas de código RTL

• Equipes de projeto estão muito grandes para grandes projetos: – Muitas centenas de pessoas– Diferentes abilidades– Trabalho concorrente e em multiplos níveis– Lidar com a complexidade do projeto e a comunicação é

muito dificil.

Page 29: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 29 / 72

1DesafiosDesafios de de ProjetoProjeto

• Ferramentas de projeto estão cada vez mais completas masainda inadequeadas.

– Típico projetista precisa usar aproximadamenteumas 50 ferramentas para cada componenteprojetado.

– Ferramentas tem muito bugs, as interfaces não sãototalmente compatíveis, etc.

Page 30: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 30 / 72

1DesafiosDesafios de de ProjetoProjeto

• Decisões sobre os aspectos de projeto são muito dificeis: – Compromisso entre desempenho, custo e time-to-market (tempo

para chegar ao mercado).– Decisões devem ser feitas com 2 a 3 anos de antecedencia. – Os aspectos de projeto são difíceis de medir sem fazer o projeto

realmente. – Ciclo do produto.

• Verificação funcional– A simulação ainda é o veiculo principal para a verificação

funcional mas é inadequada por causa do tamanho de projeto. – Bugs em hardware são muito difíceis de se recuperar e muito

caros (não é como em software).

Page 31: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 31 / 72

1DesafiosDesafios de de ProjetoProjeto

• Principais diferenças entre os níveis de abstração:– Modelagem detalhada e tamanho da equipe para manter o

modelo: • Modelos de alto-nível podem ser mantidos por 1 ou 2

pessoas. • Modelos detalhados devem ser particionados o que resulta

no aumento em comunicação. – Modelagem precisa versus modelagem compacta

• Modelos compactos omitem detalhes e mostram apenasestimações de implementação.

• Modelos detalhados são extensos e dificil de adaptar emmudanças grandes de projeto.

Page 32: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 32 / 72

1DesafiosDesafios de de ProjetoProjeto

– Velocidade de simulação versus desempenho do hardware

• Modelos de alto-nível podem ser simulados maisrapidamente mas não podem ser implementadostão facilmente automaticamente.

• Modelos de baixo nível podem ser feitos para teruma rápida implementação mas não podem ser simulados rapidamente.

Page 33: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 33 / 72

1Ferramentas 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

Page 34: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007

1

RevisãoRevisão de de SistemasSistemas DigitaisDigitais

Page 35: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 35 / 72

1IntroduçãoIntrodução

• Circuitos combinacionais não tem memória• As saídas são funções dos valores atuais das entradas• O circuito é definido por um conjunto de funções boolenas que

tratam valores binários 0s e 1s.

?

ABCD

F (A,B,C,D)

G (A,B,D)

Por exemplo, sabendo que

F = ( A + B ).C.D, logo para A=0, B=1, C=1 e D=1, tem-se F=1,e para A=0, B=1, C=1 e D=0, tem-se F=0.

G= A + /B + C, logo para A=0, B=0 e C=0, tem-se F=1.…..

Circuitos Combinacionais

Page 36: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 36 / 72

1TecnologiaTecnologia CMOSCMOS

• CMOS = Complementary Metal Oxide Silicon

W

L

Elemento básico: o transistor (chave)

-Transistor PMOS-Transistor NMOS

corrente

2.0 μm - 19901.8 μm1.2 μm1.0 μm0.8 μm0.6 μm0.35 μm0.22 μm0.13 μm90 nm60 nm – 2005…

Avanço da Tecnologia CMOS

• Maior densidade de transistrores• Menor tensão de alimentação• Maior desempenho

Page 37: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 37 / 72

1

G = 0VDS

Símbolo: SSSS

DD

GG

-- -- -- N N -- -- + + + + ++ + + + +

-- -- -- -- -- -- ---- -- -- -- -- --

Se G = 0V G = 0V (‘0’)(‘0’)Chave aberta (off)

G = vccDS

+ + + + ++ + + + +

-- -- -- -- -- -- ---- -- -- -- -- --

Se G = G = VccVcc (‘1’)(‘1’)Chave fechada (on)

SS

DD

GG

-- -- -- N N -- ---- -- -- N N -- ---- -- -- N N -- --

DD

GG

Substrato Tipo P Substrato Tipo P

Transistor NMOSTransistor NMOS

Page 38: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 38 / 72

1

G = vccDS

Símbolo: SS

DD

GG

+ + P + ++ + P + + + + P + ++ + P + +

+ + + + ++ + + + +

-- -- -- -- -- -- ---- -- -- -- -- --

Se G = G = VccVcc (‘1’)(‘1’)Chave aberta (off)

Se G = 0V G = 0V (‘0’)(‘0’)Chave fechada (on)

SS

DD

GG

SS

DD

GG

G = 0VDS

+ + P + ++ + P + + + + P + ++ + P + ++ + + + ++ + + + +

-- -- -- -- -- -- ---- -- -- -- -- --

Substrato Tipo N Substrato Tipo N

Transistor PMOSTransistor PMOS

Page 39: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 39 / 72

1PortasPortas LógicasLógicas BásicasBásicas emem CMOSCMOS

• Funções Booleanas:– E– OU– NEGAÇÃO– E NEGADO– OU NEGADO– OU EXCLUSIVO– OU NEGADO EXCLUSIVO

E1E1E2E2E3E3

E1E1E2E2E3E3

Vcc

VSSVSS

S = f (E1,E2,E3)S = f (E1,E2,E3)

Somente Somente PMOSPMOS

Somente Somente NMOSNMOS

pull uppull up

pull downpull down

entradas

•A lógica PMOS permite conectar o sinal de saída a Vcc (5V), ‘1’ lógico.• A lógica NMOS permite conectar o sinal de saída a Gnd (0V), ‘0’ lógico.• Sempre um dos caminhos, para Vcc ou Gnd, estão fechados para a saída, conectando a mesma a Vcc ou 0V.

Page 40: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 40 / 72

1ValoresValores representadosrepresentados emem bináriobinário

– Lógica digital utiliza a representação binária 0s e 1s • 1 como ligado ou máxima tensão de alimentação• 0 como desligado ou mínima tensão de

alimentação (terra ou ground).

“0”

“1”

0 V

1 V

2 V

3.1 V

Page 41: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 41 / 72

1PortaPorta LógicaLógica: : InversorInversor (NOT)(NOT)

E SE S0 10 11 01 0

EE SS

S = 0VS = 0V(S = ‘0’)(S = ‘0’)

E = 5VE = 5V(E = ‘1’)(E = ‘1’)

S = VCCS = VCC(S = ‘1’)(S = ‘1’)

E = 0VE = 0V(E = ‘0’)(E = ‘0’)

EE SS

GND

VCC

S = E

Page 42: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 42 / 72

1PortaPorta LógicaLógica: E : E NegadoNegado (NAND)(NAND)

S = 0VS = 0V

E1 E2 SE1 E2 S0 0 10 0 10 1 10 1 11 0 11 0 11 1 01 1 0

SSE1E1E2E2

E1E1 E2E2

E1E1

E2E2

A SAÍDA É 0SOMENTE QUANDO TODAS AS ENTRADAS FOREM 1, CASO CONTRÁRIO HAVERÁ 1 NA SAÍDA.

E1E1SS

E2E2

E1E1 E2E2

S = E1 . E2

VCC

Page 43: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 43 / 72

1PortaPorta LógicaLógica: OU : OU negadonegado (NOR)(NOR)

S = VCCS = VCC

E1 E2 SE1 E2 S0 0 10 0 10 1 00 1 01 0 01 0 01 1 01 1 0

SSE1E1E2E2

E1E1 E2E2

E1E1

E2E2A SAÍDA É 1SOMENTE QUANDO TODAS AS ENTRADAS FOREM 0, CASO CONTRÁRIO HAVERÁ 0 NA SAÍDA. E1E1

SS

E2E2

E1E1

E2E2

S = E1 + E2

VCC

Page 44: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 44 / 72

1PortaPorta LógicaLógica: E (AND): E (AND)

E1 E2 SE1 E2 S0 0 00 0 00 1 00 1 01 0 01 0 01 1 11 1 1

SSE1E1E2E2

A SAÍDA É 1SOMENTE QUANDO TODAS AS ENTRADAS FOREM 1, CASO CONTRÁRIO HAVERÁ 0 NA SAÍDA.

E1E1

E2E2

E1E1 E2E2

S = E1 . E2

VCC

SS

GND

VCC

Page 45: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 45 / 72

1PortaPorta LógicaLógica: OU (OR): OU (OR)

E1 E2 SE1 E2 S0 0 00 0 00 1 10 1 11 0 11 0 11 1 11 1 1

SSE1E1E2E2

A SAÍDA É 0SOMENTE QUANDO TODAS AS ENTRADAS FOREM 0, CASO CONTRÁRIO HAVERÁ 1 NA SAÍDA.

S = E1 + E2

E1E1E2E2

E1E1

E2E2

VCC

SS

GND

VCC

Page 46: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 46 / 72

1

90%

10%

90%

10%

ttrr ttff

5V

0V

Sinal Sinal dedesaídasaída

Sinal Sinal de de entradaentrada

tt

•• ttrr - Tempo de subida (rise time)•• ttff - Tempo de descida (fall time)

AtrasosAtrasos: tempo de : tempo de subidasubida e e descidadescida

Page 47: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 47 / 72

1

50%

ttdd--lhlh ttdd--hlhl

5V - high

0V - low

Sinal Sinal dedesaídasaída

Sinal Sinal de de entradaentrada

tt

•• ttdd--lhlh - Tempo de atraso de propagação do sinal de saída quando este passa do nível lógico ‘0’ para o nível lógico ‘1’ (delay time _ low-high)•• ttdd--hlhl - Tempo de atraso de propagação do sinal de saída quando este passa do nível lógico ‘1’ para o nível lógico ‘0’ (delay time _ high-low)•• ttdd - Tempo de atraso de propagação MÉDIO do sinal de saída (delay time)

ttdd = (ttdd--lhlh + ttdd--hlhl ) / 2

50%

AtrasosAtrasos: tempo de : tempo de propagaçãopropagação

Page 48: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 48 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos CombinacionaisPortas Lógicas Básicas

E SS = E

SE1E2S = E1 . E2

SE1E2S = E1 + E2

SE1E2...En

NOT

NAND

NOR

XORSE1E2...En

XNOR

Page 49: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 49 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Saída depende apenas das entradas

Comparador de 4 bits (A3A2A1A0 e B3B2B1B0)

A3

B3A2

B2

B1A0

B0

A1comparador

Blocos lógicos

D3

D2

D1

D0

A1A0

Decodificador de 2 bits (A1A0)

Page 50: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 50 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Saída depende apenas das entradas

Multiplexador 4:1

Blocos lógicos

A0

S1 S0

00

01

10

11

A1

A2

A3

0 00 11 01 1

A3

A2

A1

A0

S1S0

mux

mux

Page 51: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 51 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Saída depende apenas das entradas

Multiplexador 4:1

Blocos lógicos

A0

S1 S0

00

01

10

11

A1

A2

A3

0 00 11 01 1

muxA0

A1

A2

A3

S0 S1

mux

Page 52: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 52 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Somador de 1 bit completo (Full-adder):

Blocos lógicos

FA: full adder

Page 53: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 53 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

Somador Ripple-Carry

Blocos lógicos

A3 B3 A2 B2 A1 B1 A0 B0

S3 S2 S1 S0

Cin

C3

C0C1C2

Page 54: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 54 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Somador Carry Look Ahead

Blocos lógicos

Page 55: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 55 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

Somador de n bits

A ⇒ a3 a2 a1 a0 B ⇒ b3 b2 b1 b0

_____________________________________________

s4(Cout) s3 s2 s1 s0

HAHAHAHA

HAHA

HAHA

HAHA

HAHA

HAHA

HAHA

HAHA

a0b0a1b1a2b2a3b3

s0

s1

s2

HAHA

s3s4

Blocos lógicos

HA: half adder

Page 56: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 56 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Unidade Aritmética e Lógica (ULA) – 1 bit

Blocos lógicos

FA

A0

S0

S1

C0

1 0

A01 0

B0 0

F0

S1 S0 Função0 0 soma A+B0 1 subtração A-B1 0 inversão de A1 1 comparação

B0

Page 57: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 57 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Unidade Aritmética e Lógica (ULA) – n bit

Blocos lógicos

FA

A0

S0

S1

C0

1 0

A01 0

B0 0

F0

B0

FA

A1

S1

C1

1 0

A11 0

B1 0

F1

B1

S0

...FA

An

Cn

1 0

An1 0

Bn 0

Fn

Bn

S0

S1

Page 58: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 58 / 72

1Revisão:Revisão: Circuitos CombinacionaisCircuitos Combinacionais

• Multiplicador

b3 0 b2 0 b1 0 b0 0

P7 P6 P5 P4

a0

0

a1

0

a2

0

a3

0

P0

P1

P2

P3

Blocos lógicos

FA

bj sum in

sum out

carryout

ai

carryin

Page 59: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 59 / 72

1

• Elemento capaz de armazenar um valor por tempo indeterminadoaté que sua entrada de controle faça ele armazenar um outro valor.

• Usado em circuitos sequencias para armazenar dados:– Memoria– Registradores– Maquinas de estados– Contadores– Etc.

Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches e Flip-Flops

Page 60: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 60 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches: sensível ao nível do relógio (clk)

R

S

Q

Q S

R Q

Q

R

S

Q

QS

R Q

Q

clkclk

QR S0 00 11 01 1

Qsetresetinvalido

QR S0 00 11 01 1

invalidoresetsetQ

Qclk R S0 00 11 01 1

QsetresetInvalidoQ

11110 X X

Qclk R S0 00 11 01 1

invalidoresetsetQQ

00001 X X

Page 61: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 61 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisLatches: sensível ao nível do relógio (clk)

J

K

Q

Q

D Q

Q

J

K

Q

Q

D Q

Q

clkclk

QJ K0 00 11 01 1

QsetresetQ

Qclk J K0 00 11 01 1

QsetresetQQ

11110 X X

Qclk D01

01Q

001 X

Qclk D01

01Q

110 X

clk

Page 62: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 62 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisFlip-flops: sensível a borda do relógio (clk)

D Q

Q

J

K

Q

Q

D Q

Q

clkclk

Qclk J K0 00 11 01 1

QsetresetQQX X X

Qclk D01

01QX X

Qclk D01

01QX X

clk

R

S

Q

Q

clk

Qclk R S0 00 11 01 1

QsetresetInvalidoQX X X

Page 63: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 63 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisRegistradores

Q

Qclk Ddado dado

QX Xclk

D

Q

Qclk reset enable D1 X X0 1 dado0 0 X X X X

resetdadoQQ

clk

Dreset enable

X

Reset síncrono

Q

Qclk reset enable D1 X X0 1 dado0 0 X 0 X X

resetdadoQQ

clk

Dreset enable

X

Reset assíncrono

X

Page 64: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 64 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisRegistradores Deslocamento

Q

Qclk reset enable D L/R1 X X X0 1 dado 00 0 X 10 0 X 00 1 X 1X X X X

resetdadoQi<=Qi-1Qi<=Qi+1QQ

clk

Dreset enable

X

L/R

LFSR: linear feedback shift register Uso de seed (semente)

Page 65: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 65 / 72

1Revisão:Revisão: Circuitos SequênciaisCircuitos SequênciaisContadores

Q

Qclk reset load D1 X X0 1 dado0 0 X X X X

resetdadoQQ

clk

Dreset load

X

Q

Qclk reset enable D u/d1 X X X0 0 dado 00 0 X 1 0 1 X 00 1 X 10 X X X

resetdadoQ+1Q-1QQ

clk

Dreset enable

X

Xu/d

Page 66: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 66 / 72

1Revisão:Revisão: Máquinas de EstadosMáquinas de Estados

• Uma máquina de estados é uma combinação de 5 elementos:

(Σ, X, g, x0, F)

Onde:Σ é um alfabeto finitoX é um conjunto finito de estadosg é a função de transição de estado g : X x Σ -> XX0 é o estado inicial, x0 ∈ XF é o conjunto de estados finais, F ⊆ X.

Definição Maquina de Estados

Page 67: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 67 / 72

1Diagrama de EstadosDiagrama de Estados

• O diagrama de estados representa a máquina de estados finito e contem:– Circulos: que representam os estados da máquina rotulados

com o nome do estado e tambem ou não com sua codificação. – Arcos diretos: que representam as transições entre estados

rotulados com entradas/saídas para a transição de estados.

Page 68: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 68 / 72

1Máquina de Estados FinitosMáquina de Estados Finitos

• Saída depende apenas do estado atual.

TIPO MOORE

Lógica de próximo estado

clk

estado

Entradas

saídas

resetA=‘0’

A=‘1’reset

A=‘0’

A=‘1’

S0

S1

F=‘0’;

F=‘1’;

A

F

Page 69: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 69 / 72

1Maquina de Estados FinitosMaquina de Estados FinitosTIPO MEALY

• Saída depende da entrada e do estado atual.

Lógica de próximo

Estado e saída

clk

estado

Entradas

resetA=‘0’

A=‘1’reset

A=‘0’

A=‘1’

S0

S1

F=‘0’;

AF

F=‘1’;

F=‘1’;

F=‘0’;

Page 70: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 70 / 72

1Maquina de Estados FinitosMaquina de Estados FinitosTIPO MEALY

• Saída depende apenas do estado atual.

Lógica de próximo

Estado e saída

clk

estado

Entradas

resetA=‘0’

A=‘1’reset

A=‘0’

A=‘1’

S0

S1

F=‘0’;

AF

F=‘1’;

F=‘1’;

F=‘0’;

Solucionar problemas de estabilização

clk clk

Saída

Page 71: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 71 / 72

1Considerações sobre Diagramas de EstadosConsiderações sobre Diagramas de Estados

• Máquinas de estado (FSM) podem estar em apenas um estado por vez no tempo, logo há em apenas um estado ou circulo em um determinado tempo t.

• Transição de estados são permitidas apenas na transição de subida OU descida do relógio (clk), dependendo do elemento de armazenamento de estado (se é sensivel a borda de descida ou subida). FSM sincronas!!!

• A representação de máquinas de Mealy e Moore são diferentes como visto. – Máquinas de Mealy, as entradas e saidas são definidas nos

arcos (transições entre estados).– Máquina de Moore, as entradas são definidas nos arcos

(transições entre estados) e a saída é definida no estado (dentro do círculo).

Page 72: CMP 238 – Projeto e Teste de um Sistema VLSIfglima/projeto/projeto1_2007.pdfAula Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 3/ 72 1 Sistema

Aula

Disciplina: CMP238 – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt – 2007 72 / 72

1Exercício:Exercício: Projeto de uma máquina de Projeto de uma máquina de estados até o hardwareestados até o hardware

1. Descrição do problema em diagrama de estados2. Montagem da tabela de proximo estados e saída3. Descrição do esquemático lógico da FSM

Problema: Detector de sequência ...1101...

Sinal A

clk reset

Saida D (detectou D=1)

Sinal de entrada deve ser amostrado...