Prototipação de Sistemas Digitais. Metodologia de Projetos Cristiano Araújo



Documentos relacionados
O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

Introdução ao Desenvolvimento de Circuitos Digitais Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Lab 3. Timing Timing Constraints Simulação

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo

Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos

TE 130 PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS

Circuitos Seqüenciais

Organização e Arquitetura de Computadores II

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

Desenvolvimento de Modelo ESL para Controlador de Acesso Direto à Memória (DMA)

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Organização e Arquitetura de Computadores I. de Computadores

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Máquinas Multiníveis

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Projeto de Sistemas I

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

UNIVERSIDADE PRESBITERIANA MACKENZIE Decanato Acadêmico

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Projeto de Máquinas de Estado

1 Introdução Motivação

Sumário. Parte I Conceitos Básicos de Criptografia, Software e Hardware Agradecimentos...7 Sobre os Autores...9 Prefácio...

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

FPGA & VHDL. Tutorial

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Arquitetura de Computadores I

ORGANIZAÇÃO CURRICULAR

Arquitetura de Computadores. Ivan Saraiva Silva

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

EMENTAS DAS DISCIPLINAS

VHDL Lógica Síncrona. Sinais de Saída. Sinais de Entrada. barreira. carg. VHDL -Lógica Síncrona

Roteiro para preparação de proposta de Trabalhos Técnico-Científicos

Aperfeiçoamento Técnico com respeito ao Profissional.

IE-344B - Tópicos em Comunicações Leitura Complementar Aula 5: FPGA e Fluxo de Projeto

Princípios da Engenharia de Software aula 05 Gerenciamento de planejamento de projetos. Prof.: Franklin M. Correia

Engenharia de Software

Engenharia de Requisitos

PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Engenharia de Software

Introdução à Computação

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

Microelectrónica (ME)

Introdução à Arquitetura de Computadores IFES Campus Serra

IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO.

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Modelagem de Sistemas com VHDL

Organização e Arquitetura de Computadores I. de Computadores

MC-102 Aula 01. Instituto de Computação Unicamp

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

DISCIPLINA: Sistemas Digitais

Organização de Computadores Hardware

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

1) Objetivos. 3) Estabelecer o Escopo do Software. 2) Principais Atividades

PROJETO DE CIRCUITOS INTEGRADOS VLSI

- Arquitetura de sistemas digitais- Cap 1 - Introdução

Dispositivos Lógicos Programáveis

LABORG. Parte 3 - VHDL: Processos, Paralelismo e o Comando process. Fernando Gehm Moraes Ney Laert Vilar Calazans

AULA 5 Aplicação com divisor de freqüência com o CI Livro Texto pág.197 a 200.

CONTROLADOR LÓGICO PROGRAMAVEL

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Organização e Arquitetura de Computadores

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

Reparador de Circuitos Eletrônicos

Lógica Reconfigurável

Considerações no Projeto de Sistemas Cliente/Servidor

Conceitos de Entrada e Saída

Industrial SOLUÇÕES EM AUTOMAÇÃO

Tecnologia e Sistemas de Informações

Tabela de roteamento

Proposta de Trabalho para a Disciplina de Introdução à Engenharia de Computação PESQUISADOR DE ENERGIA

Circuitos sequenciais elementares

PLANO DE ENSINO. Código: Crédito: Pré-requisito: Introdução a Lógica ( ) Carga Horária: 60h Bacharelado em Ciência da Computação

Centro Universitário da FEI Engenharia Elétrica PROJETO DE SISTEMAS. DIGITAIS UTILIZANDO FPGAs

SIS17-Arquitetura de Computadores

Arquiteturas Multi e Many cores baseadas em redes-em-chip

Capítulo 1 Introdução

Organização e Arquitetura de Computadores

FSM em VHDL e Verificação Funcional. CMP de junho de 2006

Funções de Posicionamento para Controle de Eixos

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Sistema de Computação

Capítulo 8 Arquitetura de Computadores Paralelos

Eletrônica Digital para Instrumentação

Transcrição:

Prototipação de Sistemas Digitais Metodologia de Projetos Cristiano Araújo

Fluxo de projeto Emulação/Implementação do componente de harwdare VHDL/Verilog Simulação FPGAs, CPLDs Síntese p/emulação ASICs Síntese p/implementação Emulação Implementação A B C D E F chip G H I Mesma base de dados para emulação e implementação 2008.1 Testes durante a Prototipação emulação de Sistemas seriam Digitaismais próximos possíveis 2 da implementação final do projeto.

Comunicação: Cliente x projetista Vendedor Projetista Ambiente de Projeto - Janela de mercado - preço, etc. - Ferramentas de CAD - Engenharia concorrente - Tecnologia - Silicon foundry - Aplicação 2008.1 Prototipação de Sistemas Digitais 3 Dispositivo (chip) Sistema

Time-to-market 2 :2 207.,/4.42509 9 ;4 6:, 6:07,97,84 3.47547, 507/, /, 5,790 /0890 207.,/4!07/, /,,30, /0 207.,/4 97,84 5,7,,3,20394 02 1:3 4 /4 43 4.. 4 /0 /0803;4 ; 20394 010 94 /, 507/, 02 :.74 /0; /4 4,97,84 34,3,20394 /4 574/:94 2, 47 6:0,6:0 0.:894 /0 /0803;4 ; 20394 2008.1 Prototipação de Sistemas Digitais 4

Time-to-market Lucros O volume representa perda do lucro sobre a vida do produto Máximo lucro possível Lucro máximo da entrada com atraso do produto Concepção do sistema FPGA* Time-tomarket Atraso W ASIC* Tempo de vida W Tempo O percentual de perda de lucro, do lucro possível, é dado pela área do maior retângulo menos a área do menor retângulo.

O que é Metodologia de Projeto? São seqüências de transformações que partem de uma descrição e/ou especificação inicial de um sistema digital para se chegar a uma descrição final, válida para o processo de fabricação deste sistema, no menor espaço de tempo possível. Metodologia Conjunto de regras Procedimentos Gerência 2008.1 Prototipação de Sistemas Digitais 6

Metodologia de projetos Conjunto de regras - Seqüência de Etapas - Forma de Apresentação dos Resultados - Linguagem Utilizada Procedimentos - Especificação - Projeto de alto nível - Implementação - Teste Gerência - Organização - Integridade de Dados - Atribuições de Atividades - Cronograma - Controle de Qualidade 2008.1 Prototipação de Sistemas Digitais 7

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 8 Produção do Chip

Comportamental Níveis de abstração Transf. Registro Estrutural Layout Físico 2008.1 Prototipação de Sistemas Digitais 9

Níveis de abstração para descrição de um projeto Descrição Comportamental O sistema é descrito de forma comportamental, ou seja o modelamento comportamental que aponta algoritmicamente a funcionalidade requerida sem referenciar a estrutura do modelo. Descrição RTL ou Data Flow Nível de abstração seguinte abaixo da descrição comportamental. É caracterizado pela definição de um sistema em termos de registradores, chaves e unidades funcionais. Uma descrição RTL define uma arquitetura e incorpora a noção de relógio. Descrição estrutural (Lógico) Este nível é o mais baixo nível não físico para representação de um projeto. As descrições mostram a implementação lógica da função descrevendo a arquitetura para implementar o algoritmo comportamental. Descrição Física Neste nível é definida a geometria de implementação do circuito. Este nível depende da tecnologia. 2008.1 Prototipação de Sistemas Digitais 10

Níveis de descrição de sistemas eletrônicos Diagrama de Gajski Domínios Comportamental O comportamento do sistema é especificado, idealmente sem qualquer referência ao caminho que este comportamento vai ser implementado. Estrutural Físico Trata o sistema como como uma hierarquia de elementos funcionais e suas interconexões. A estrutura do projeto é mapeada no espaço, sem qualquer referência a funcionalidade do circuito. 2008.1 Prototipação de Sistemas Digitais 11

Comportamental Diagrama de Gajski (Y) Sistema algoritmo Estrutural Sistema arquitetura CPU, memória Algoritmo proc.,sub-sistema sistema lógica RTL ULA e registradores Equação booleana circuito portas lógicas e FF Equação Diferencial transistores Células Macrocélulas Blocos/Chip Chip/board 2008.1 Prototipação de Sistemas Digitais 12 Físico-Geométrico Grupo de retang./políg.

Diagrama de Gajski (Transição no diagrama Y definindo passos do projeto) 2008.1 Prototipação de Sistemas Digitais 13

Síntese de hardware Fluxo de projeto de ASICs Entrada da especificação Análise Otimização tecnológica Verificação de projeto Layout 2008.1 Prototipação de Sistemas Digitais 14

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 15 Produção do Chip

Níveis do projeto Independente da tecnologia Dependente da tecnologia Dependente da tecnologia 2008.1 Prototipação de Sistemas Digitais 16 IBM

Exemplo projeto Entrada VHDL (contador) (independente da tecnologia) 2008.1 Prototipação de Sistemas Digitais 17 IBM

Simulação - funcional DUT Design Under Test 2008.1 Prototipação de Sistemas Digitais 18 IBM

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 19 Produção do Chip

Síntese Lógica Síntese lógica tem como entrada uma descrição HDL-RTL, independente de tecnologia e, mapea o projeto em uma biblioteca de circuitos lógicos (células) fornecidos pelo fabricante. Contadores AND-2 OR-2 ULAs... 2008.1 Prototipação de Sistemas Digitais 20 IBM

Síntese Lógica Possíveis saídas Como saída, a síntese lógica gera uma netlist que pode ser escrita em diferentes linguagens. entity bombom01 is port( reset, clk, c, d : in bit;... architecture arc_bombons of bombom01 is... begin process (clk) begin if (reset = '1') then estado_atual <= tem_zero; libera_bombom <= 0'; elsif (clk = '1' and clk'event) then Síntese Lógica 2008.1 Prototipação de Sistemas Digitais 21 IBM

Visão- Esquemática Os circuitos podem ser representados graficamente por um esquema baseado nas células básicas da biblioteca do fabricante. 2008.1 Prototipação de Sistemas Digitais 22 IBM IBM

Visão Geração da Netlist 2008.1 Prototipação de Sistemas Digitais 23 IBM

Visão Netlist EDIF 2008.1 Prototipação de Sistemas Digitais 24 EDIF Electronic Design Interchange Format IBM

Inserção de teste DFT Design-For-Test Inserir estruturas, depois da síntese lógica, para permitir completo teste de manufatura do dispositivo. Flip-Flops normais são substituídos por elementos especiais que podem ser varridos (scannable) 2008.1 Prototipação de Sistemas Digitais 25 IBM

Planejamento de relógio interno A última fase da otimização tecnológica é a inserção da rede de relógio interno: Todo ASIC possui pelo menos um relógio(clock); circuitos complexos podem possuir mais que um relógio. Parâmetros a serem considerados na rede interna de relógio: Área de silício; Atraso através da rede de relógio (clock) para circuitos que usam relógio (latency); A variação no tempo de chegada do relógio em vários elementos que usam o relógio (skew); A potência gerada pela rede de relógio como switches. 2008.1 Prototipação de Sistemas Digitais 26

Planejamento de relógio interno Empresas como a IBM usam árvore para relógio (clock tree) para propagar um sinal de relógio a centenas e milhares de circuitos lógicos que recebem um sinal de relógio. Antes da inserção da ávore, um projeto é dito ter relógios ideais, significando que todos os circuitos lógicos estão recebendo um dado sinal de clock em paralelo de um simples driver. 2008.1 Prototipação de Sistemas Digitais 27 IBM

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 28 Produção do Chip

Verificação de projeto Nesta fase o projetista tem a oportunidade de verificar se as restrições de projeto estão sendo satisfeitas após a síntese do circuito: Funcionalidade do projeto está correta; Restrições físicas preliminares em termos de performance, testabilidade potência, tamanho, características elétricas. Os circuitos podem ser verificados em vários níveis: Verificação funcional Verifica-se apenas a funcionalidade do circuito antes da síntese usando-se simulação. Em geral são gerados vetores de testes (estímulos), os quais são aplicados como vetores de entrada ao circuito em teste. Método não muito eficiente para circuitos de médio porte (100000 gates), devido ao tempo excessivo para se verificar grandes circuitos. Verificação formal Através de um modelo equivalente, é possível se chegar ao mesmo resultado de uma simulação. Neste caso, o circuito é quebrado em expressões lógicas Booleanas equivalentes e matematicamente avaliado através de comparações exaustivas. Neste método não há a necessidade de vetores de entrada ou saída. Indicado para circuitos com um grande número de gates. 2008.1 Prototipação de Sistemas Digitais 29

Verificação Funcional Simulação Nível de gate (Netlist) 2008.1 Prototipação de Sistemas Digitais 30 IBM

Verificação Formal Este tipo de verificação tem o mesmo propósito da simulação a nível de gates, o qual é assegurar que a funcionalidade do projeto não tenha sido modificada ou corrompida durante o processo de síntese. 2008.1 Prototipação de Sistemas Digitais 31 IBM

Verificação de projeto Verificação temporal O objetivo desta fase é determinar se o projeto, uma vez mapeado em una tecnologia específica, atende os requisitos temporais previamente estabelecidos pelo usuário. Potência Verificar a dissipação de potência de operação real do circuito nas condições normais de funcionamento. Verificação Pré-layout Fase utilizada para se verificar, antes da geração final do layout do ciruito, aspectos relativos a conexão interna e externa de pinos (se estão todos adequadamente ligados), pinos especiais para teste, etc. 2008.1 Prototipação de Sistemas Digitais 32

Verificação de projeto Verificação da testabilidade (pós manufatura) Esta fase permite que o projetista detecte possíveis falhas de fabricação do chip, mediante o uso de uma série de testes funcionais similares a simulação a nível de gates. Padrões são aplicados aos testadores de circuitos (manufacturing testers). Estes testadores analisam características elétricas do silício verificando se determinada parte do circuito funciona adequadamente ou não. 1. Aqueles componentes que produziram os valores adequados (esperados) são ditos que passaram nos testes e portanto são componentes bons; 2. aqueles que não passaram nos teste são ditos que falharam. Exemplo (IBM): utiliza full-scan design-for-test (DTF). Fornece ao cliente um conjunto de ferramentas para geração de testbench. 2008.1 Prototipação de Sistemas Digitais 33

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 34 Produção do Chip

Floorplanning Está é a fase na qual os blocos lógicos são colocados adequadamente dentro do espaço (loosing placement) de sílicio reservado para a implementação do circuito (die) observando performance e rotabiliadadae. Nesta fase devese levar em conta parâmetros como: Área Tamanho das redes Localização de pinos O floorplanning permite ao projetista otimizar: a síntese lógica (escolha de melhores células), em função da velocidade, tamanho, etc.; ter uma visão geral da malha de redes do circuito; e gerar um modelo inicial otimizado para o processo de layout final do circuito. 2008.1 Prototipação de Sistemas Digitais 35

Floorplanning 2008.1 Prototipação de Sistemas Digitais 36 IBM

Metodologia Top-Down (Fluxo de projeto ASIC) Síntese de hardware Projeto em HDL Especificação do projeto Descrição comportamental Descrição RTL Process(d,clk) Begin if clk='1' then Q<=d; end if; end Process; Vetores de verificação Síntese do projeto HDL Restrições Restrições Verificação funcional RTL sim RTL -> Lógica Otimização lógica Lógica para Tecnologia Otimização Timing/Área Inserção de Scan Path & Geração de Vetor de teste não Netlist -Verificação Lógica e Timing não Implementação do projeto sim Floor Planning Place & Route Layout Físico Layout Funcional e Timing não 2008.1 Prototipação sim de Sistemas Digitais 37 Produção do Chip

Geração do layout (IBM) 2008.1 Prototipação de Sistemas Digitais 38 IBM

Layout Back - Annotation RC = Resistência CAP = Capacitância SDF = Standard Delay File 2008.1 Prototipação de Sistemas Digitais 39 IBM

Fluxo de projeto Emulação/Implementação do componente de harwdare VHDL/Verilog Simulação FPGAs, CPLDs Síntese p/emulação ASICs Síntese p/implementação Emulação Implementação A B C D E F chip G H I Mesma base de dados para emulação e implementação 2008.1 Testes durante a Prototipação emulação de Sistemas seriam Digitaismais próximos possíveis 40 da implementação final do projeto.

Exemplo: Máquina de vender Bomboms Descrição A máquina libera um pacote de bomboms se o cliente depositar pelo menos 15 centavos. A máquina não dá trôco. Moedas aceitas na máquina 5 centavos (C) 10 centavos (D) Diagrama da máquina Diagrama de bloco Sensor de moedas 5 cent(c). 10 cent(d). Reset FSM da Máquina FSM Liberar Mecanismo de liberação do pacote de bomboms Clk 2008.1 Prototipação de Sistemas Digitais 41

Diagrama de estados entity bombons is port ( end bombons; ); reset : in bit; clk : in bit; c : in bit; d : in bit; open : out bit architecture arc_bombons of bombons is type estados is (tem_zero, tem_cinco, tem_dez, tem_quinze); Reset D 0 C 5 C 10 C, D 15 [open] D signal estado_atual : estados; begin process (reset, clk) begin if (reset = '1') then estado_atual <= tem_zero; open <= '0'; elsif (clk = '1' and clk'event) then case estado_atual is when tem_zero => if (c = '1') then estado_atual <= tem_cinco; elsif (d = '1') then estado_atual <= tem_dez; end if; when tem_cinco => if (c = '1') then estado_atual <= tem_dez; elsif (d = '1') then estado_atual <= tem_quinze; open <= '1'; end if; Máquina de vender bombom (código VHDL) when tem_dez => if (c = '1') then estado_atual <= tem_quinze; open <= '1'; elsif (d = '1') then estado_atual <= tem_quinze; open <= '1'; end if; when tem_quinze => estado_atual <= tem_zero; open <= '0'; end case; 2008.1 Prototipação de Sistemas end if; Digitais 42 end process; end arc_bombons;

Síntese Diagrama de estados Reset C C 0 5 10 D VHDL Present State 0 D 5 C, D 15 [open] Diagrama esquemático da FSM Q 0 N N \ Q 0 Q 1 D CLK D 1 D \reset Q R Q Q 1 \ Q 1 OPEN 10 15 Tabela de estados INPUT D C 0 0 1 1 0 0 1 1 0 0 1 1 X 0 1 0 1 0 1 0 1 0 1 0 1 X Next State 0 5 10 X 5 10 15 X 10 15 15 X 15 Output Open 0 0 0 X 0 0 0 X 0 0 0 X 1 Q 0 \ N Q 1 D 0 D Q Q 0 2008.1 CLK R Q \ Q 0 N Prototipação de Sistemas Digitais Q 1 \reset 43 D

Diagrama esquemático da FSM Q 0 N N \ Q 0 Q 1 D D 1 D Q CLK R Q \reset Q 1 \ Q 1 OPEN Q 0 \ N Q 1 N Q 1 D D 0 D Q CLK R Q \reset Q 0 \ Q 0 Layout Placement Detailed Routing 2008.1 Prototipação de Sistemas Digitais 44

Exemplo 2 - layout 2008.1 Prototipação de Sistemas Digitais 45

2008.1 Prototipação de Sistemas Digitais 46

Entrada e análise Entrada: - Esquemática - HDL Análise: - Simulação funcional - Testbench - Análise de potência (estimativa) 2008.1 Prototipação de Sistemas Digitais 47 IBM

Otimização tecnológica Otimização tecnológica: - Sintese lógica - Inserção de teste - Clock planning e inserção - floorplaning 2008.1 Prototipação de Sistemas Digitais 48

Verificação 2008.1 Prototipação de Sistemas Digitais 49

Layout(projeto físico) Layout: - Floorplaning - Placement - Routing 2008.1 Prototipação de Sistemas Digitais 50