Engenharia de Software para Computação Embarcada Prof. Frederico Ferlini Aula 5
CONTEÚDO Fluxo da Ferramenta Circuitos Combinacionais Introdução ISE Project Navigator Circuitos Combinacionais Exemplos Formas de onda Simulação (Material Edson/Marcon – PUCRS)
Fluxo da Ferramenta Criação do Projeto Síntese Simulação Comportamental Síntese Lógica Simulação Funcional Física Transalate Map* PAR* Temporal Prototipação (Configuração do FPGA)
Fluxo – Criação do Projeto Planejamento & Orçamento Descrição do circuito VHDL / Verilog ... (código) Esquemático (gráfico) Existem geradores com banco de circuitos prontos Architecture Wizard, CORE Generator system, and STATE CAD tools Memórias, Filas, SER/DES, CLK, Aritméticos Simulação Comportamental (HDL RTL Simulation)
Fluxo – Síntese Lógica Síntese Lógica Simulação Funcional Ferramentas: Synplify, Precision, FPGA Compiler, XST... Geração do netlist (NGC ou EDIF) Conversão da descrição do circuito (HDL ou esquemático) para uma lista de portas lógicas Otimizações (simplificações lógicas), descarte de inutilidades... Simulação Funcional Simulação com o netlist (otimizado) gerado ( Comportamental)
Fluxo – Síntese Física Síntese Física (ou Implementação) Entrada: netlist gerado na síntese lógica Possui 3 etapas: Translate Unifica os o netlists (Integração) Verifica as restrições do projeto (UCF) Map Mapeia grupos de portas lógicas em componentes físicos do FPGA Place & Route Distribui os componentes no FPGA (Place) Interconecta os componentes (Route) Gera relatórios de atraso (timing) Relatórios em cada etapa: Ex.: Timing Analyzer, Floorplaner, FPGA Editor, Xpower
Fluxo – Pós Síntese Física Simulação Temporal Atrasos: Portas Lógicas Interconexões Freq. Máx.??
Fluxo – Pós Síntese Física (Prototipação) Simulação Temporal Atrasos: Portas Lógicas Interconexões Freq. Máx.?? Configuração do FPGA Entrada: netlist gerado na síntese física (post-P&R) Saída: arquivo de configuração (bitstream.bit) Download: Diretamente no FPGA Memória externa (Xilinx Platform Flash PROM)*
Fluxo – ISE Project Navigator (Implementação) Projeto HDL
Fluxo – ISE Project Navigator (Implementação) Projeto HDL Síntese Lógica
Fluxo – ISE Project Navigator (Implementação) Projeto HDL Síntese Lógica Síntese Física
Fluxo – ISE Project Navigator (Implementação) Projeto HDL Síntese Lógica Síntese Física Bitstream
Fluxo – ISE Project Navigator (Implementação) Projeto HDL iMPACT Síntese Lógica Síntese Física Bitstream Prototipação
Fluxo – ISE Project Navigator (Verificação) Projeto HDL Simulação Síntese Lógica Síntese Física Bitstream Prototipação ISIM
Fluxo – ISE Project Navigator (Verificação) Projeto HDL Simulação Síntese Lógica Síntese Física Bitstream Prototipação ISIM
Fluxo – ISE Project Navigator (Verificação) Projeto HDL Logic Analyzer Síntese Lógica Síntese Física Bitstream Prototipação ChipScope
Fluxo – ISE Project Navigator (Relatórios) Projeto HDL Relatórios Síntese Lógica Síntese Física Bitstream Prototipação Utilização do FPGA
CONTEÚDO Fluxo da Ferramenta Circuitos Combinacionais Introdução ISE Project Navigator Circuitos Combinacionais Exemplos Formas de onda Simulação (Material Edson/Marcon – PUCRS)
Circuitos Combinacionais Combinacional Sequencial Um circuito digital cujas saídas dependem unicamente da combinação atual das entradas Um circuito digital em que as saídas não dependem somente do estado atual das entradas, mas também da sequência anterior das entradas 1 a Combinational 1 F b digital circuit 1 a Sequential ? F b digital circuit
Circuitos Combinacionais Combinacional Sequencial (de)codificadores máquinas de estados (de)multiplexadores contadores circuitos aritméticos geradores de clock somador, subtrator, ULAs divisores/multiplicadores de frequência geradores de paridade registradores comparadores deslocamento serial parelelo Acumuladores
Circuitos Combinacionais Codificador/Decodificador Mapeia um conjunto de entradas em um conjunto de saídas segundo uma função de codificação Transforma a informação de um formato para outro É um circuito geralmente combinacional Ex.: switches Binário (Codificador) Ex.: Binário switches (Decodificador) s0 s1 d0 d1 d2 d3 1 i0 d0 d1 d2 d3 i1 i0 i1 d0 d1 d2 d3 1
Circuitos Combinacionais (de/codificador) Contador regressivo para a virada de ano Circuito conta de 59 até 0 em binário utilizando 6 bits de representação Existem 60 leds onde cada um deve ser aceso de acordo com o número em binário O circuito usa um decodificador 6x64 4 saídas não utilizadas 1 2 1 1 Happy New Year i0 d0 i1 d1 1 i2 d2 2 i3 d3 3 Exemplo a i4 i5 d58 e d59 d60 d61 58 6x64 d62 59 dcd d63
Circuitos Combinacionais Multiplexador (MUX/DEMUX) Conecta uma de suas N entradas na única saída de acordo com os sinais de seleção Define qual das entradas será jogada na saída de acordo com a função de escolha que tem como entrada os sinais de seleção Ex.: Chaveamento de linha ferroviária i0 4x1 i2 i1 i3 s1 s0 d 1 2 3 4 trails manager's switches
Circuitos Combinacionais Multiplexador (MUX) Circuito (Símbolo X Esquemático) s0 d i0 i1 i0 (1*i0=i0) 2 × 1 2 × 1 2 × 1 i1 i0 s0 d 1 i0 (0+i0=i0) i0 i0 d d i1 i1 s0 s0 2x1 mux i0 4x1 i2 i1 i3 s1 s0 d 4x1 mux VHDL
ENTIDADE PROCESS WHEN_ELSE SELECT WHEN LÓGICA PARA CONSULTA WHEN LÓGICA
Circuitos Combinacionais Exemplo MUX Na página da disciplina Implementação Simulação (2x Testbenchs)
Ex.: (2x Testbenchs)
CONTEÚDO Fluxo da Ferramenta Circuitos Combinacionais Introdução ISE Project Navigator Circuitos Combinacionais Exemplos Formas de onda Simulação (Material Edson/Marcon – PUCRS)
Fluxo – ISE Project Navigator (Implementação) Projeto HDL Síntese Lógica Síntese Física Bitstream Prototipação