dispositivos lógicos programáveis...

46
Dispositivos Lógicos Programáveis (PLD) A. Mariano - 2012 1

Upload: ngodien

Post on 15-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Dispositivos Lógicos Programáveis (PLD)

A. Mariano - 2012 1

Page 2: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Agenda • Introdução

• Visão Geral PLD – Evolução

– Arquiteturas

• Chaves de Programação

• FPGA vs ASIC

• Fundamentos FPGA

• Fluxo de projeto

A. Mariano - 2012 2

Page 3: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

PLD x Componentes Discretos

• Redução do tamanho das placas de circuito impresso;

• Diminuição do consumo de energia;

• Processos de fabricação e projetos mais rápidos e baratos

• Aumento da confiabilidade dos sistemas – menos conexões sujeitas a falhas;

• Facilidade de manutenção

X

A. Mariano - 2012 3

Page 4: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

PLD (Programmable Logic Devices)

• CI com grande número de unidades lógicas – Portas lógicas, Flip-flops, registradores (processadores em versões

sofisticadas)

• Pode ser gravado inúmeras vezes – Associados a memórias EEPROM/SRAM

• Utilizados em projetos de média e grande complexidade – Viabilidade econômica

A. Mariano - 2012 4

Page 5: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Definições (1/2)

• FPD (Field Programmable Device) – é o termo geral para qualquer tipo de circuito digital

que pode ser configurado. Também conhecido como PLD.

• PLA (Programmable Logic Array) – é um pequeno PLD que contém dois níveis de portas

lógicas, um plano E e um plano OU, onde ambos são programáveis.

• PAL (Programmable Array Logic) – é um pequeno PLD que tem um plano de portas lógicas

E programável seguido por um plano OU fixo.

• SPLD (Simple PLD)– refere-se a qualquer tipo simples de PLD, PLA ou PAL.

• CPLD (Complex PLD) – PLD mais complexo que consiste no arranjo de múltiplos blocos SPLD em um único chip. Outras nomes empregados são Enhaced PLD – EPLD, Super PAL e Mega PAL.

• FPGA (Field Programmable Gate Array) – é um PLD com uma estrutura que permite uma

capacidade lógica muito grande. Enquanto CPLDs possuem um grande número de entradas

(planos E), FPGAs oferecem muito mais estruturas lógicas, flip-flops e outros elementos

digitais.

• HCPLDs (High-Capacity PLD) – PLDs de alta capacidade, termo empregado para CPLDs e/ou FPGAs.

A. Mariano - 2012 5

Page 6: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Definições (2/2)

• Interconnect – é a conexão que realizada nas vias internas do PLD.

• Programmable Switch – pode conectar/desconectar elementos lógicos a uma via de conexão, ou uma via a outra dentro do PLD.

• Logic Block – um bloco de circuito relativamente pequeno que é replicado em conjuntos no PLD. Quando um circuito é implementado num PLD, ele é primeiro decomposto em sub-circuitos menores que podem ser mapeados em blocos lógicos. O termo bloco lógico é muito utilizado para descrever FPGAs, mas também pode referir blocos de circuitos em CPLDs.

• Logic Capacity – quantidade de lógica digital que pode ser colocada dentro de um PLD. Geralmente medida em número equivalente de portas lógicas. É a capacidade do PLD medida pelo tamanho do seu conjunto de portas. De forma simples, por exemplo, pode ser entendida como o número de portas NÃO-E de duas entradas que o PLD possui.

• Logic Density – A quantidade de lógica por unidade de área no PLD.

• Speed Performance – mede a máxima velocidade de operação de um circuito quando implementado num PLD. Para circuitos combinacionais é o maior atraso na propagação de um sinal ao longo do circuito, e para circuitos seqüenciais, é a máxima freqüência de relógio para a qual o circuito pode operar adequadamente.

A. Mariano - 2012 6

Page 7: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs

• PROM precursora dos PLDs – barramento de endereço poderia ser utilizado como entrada de

circuitos lógicos e o barramento de dados como saída • funções lógicas requerem poucos termos de produtos e as PROMS possuem um

decodificador completo para sua entrada de endereço.

• PLA dois níveis de portas lógicas – um plano E programável seguido por um plano OU programável

• Plano E (produto de termos) / Plano OU (soma de termos)

– realizar funções na forma de soma de produtos

• versáteis, pois, ambos termos E e OU podem ter muitas entradas

– Alto custo de fabricação e baixo desempenho de velocidade

A. Mariano - 2012 7

Page 8: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs

Diagrama de blocos da PLA

Estrutura simplificada de uma PLA

PLA dois níveis de portas lógicas

A. Mariano - 2012 8

Page 9: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs

• PAL plano único de programação – um plano E programável para interconexões seguido por um plano OU

fixo (não-programável) • Para compensar a falta de generalidade (fixação do plano de portas OU):

– Diferentes tipos de PAL, com diferentes números de entradas e saídas, e vários tamanhos de portas OU

• Flip-flops conectados às saídas das portas OU para que circuitos seqüenciais possam ser implementados

• Diversos PLDs são baseados na arquitetura da PAL e são muitas vezes denominados de SPLDs

Baixo custo e alto desempenho de velocidade de pino a pino

A. Mariano - 2012 9

Page 10: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs • PAL plano único de programação

A dificuldade para o aumento da capacidade de um SPLD é que sua estrutura cresce rapidamente com o aumento no número de entradas

A. Mariano - 2012 10

Page 11: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs

• CPLD Complex PLD – Integração de vários SPLDs em um único chip

• prover interconexões dos blocos por programação

– ALTERA: pioneira em CPLDs (EPLDs)

– MAX 5000, MAX 7000 e MAX 9000

Dificuldade em se aumentar as estruturas dos CPLDs para maiores densidades lógicas

Macrocélula programabilidade interna seletividade de sinais

A. Mariano - 2012 11

Page 12: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs

• MPGAs Mask-Programmable Gate Arrays – Conjunto de transistores pré-fabricados que podem configurados de acordo com

o circuito lógico desenvolvido pelo usuário • gravado pela interconexão dos transistores durante a fabricação do chip

Alto custo e tempo de fabricação

Motivaram o desenvolvimento das FPGAs

A. Mariano - 2012 12

Page 13: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Evolução dos PLDs • FPGA

- conjuntos de circuitos lógicos, chamados blocos lógicos, e fontes de interconexão

- configuração feita pelo usuário final

Alta capacidade lógica

Responsáveis por um grande progresso na forma como os circuitos digitais são projetados

A. Mariano - 2012 13

Page 14: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Categoria PLD vs Capacidade Lógica

Portas equivalentes referem-se

grosseiramente ao número de pontas NÃO-E

de duas entradas

O tipo de PLD a ser empregado dependerá da

aplicação e complexidade do circuito a ser projetado

O número de portas lógicas nas FPGAs atuais está muito além do

apresentado na Figura

A. Mariano - 2012 14

Page 15: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Chaves de Programação

• Fusíveis: usados nas PLAs

– Uma única gravação possível

• CMOS Domínio na industria de Cis

– transistores de porta flutuante

• CPLDs (EPROM e EEPROM)

• FPGAs (SRAM e anti-fusíveis)

A. Mariano - 2012 15

Page 16: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Resumo das tecnologias de chaves de programação

A. Mariano - 2012 16

Page 17: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

FPGA vs ASIC - Geral

• Mercado crescente de FPGAs

• Atualmente, capaz de implementar funções que um ASIC fazia

• Maior consumo de energia e menor desempenho

• Menor Time-to-Market

• Riscos de projeto menores (reconfigurável)

• Prototipagem rápida (System Generator - Xilinx)

A. Mariano - 2012 17

Page 18: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

FPGA vs ASIC – Fluxo de Projeto

A. Mariano - 2012 18

Page 19: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

FPGAs

A. Mariano - 2012 19

Page 20: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Definição FPGA

• FPGA: Field Programmable Gate Array

• Conceito criado pela Xilinx em 1985

• É um conjunto de circuitos integrados conectados por uma matriz de células lógicas programáveis

• Tentava preencher o espaço entre CPLDs (Complex Programmable Logic Devices) e ASICs (Application Specific Integrated Circuit)

• O que se programa? – Blocos lógicos, interconexões e entradas/saídas

A. Mariano - 2012 20

Page 21: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Características (1/2)

• Arquitetura massivamente paralela

• Frequência de elevada de operação

• Grande quantidade de I/Os (Input/Output)

• Reprogramável

• 2,5 bilhões de transistores (8-core Intel 2,3 bi)

• Aplicações computacionalmente intensivas, paralelas e de tempo-real

A. Mariano - 2012 21

Page 22: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Características (2/2) • Ferramentas de desenvolvimento alto-nível

• IP Cores (Núcleos de Propriedade Intelectual)

• Grande variedade de tamanhos e funções – DSPs (MACs – Multiply and Accumulate)

– Ethernet MAC (Medium Access Controller), PCI Express

– Processores embarcados – PowerPC 440

– Memórias

– Digital Clock Managers

– High-Speed I/O - até 6GB/s

A. Mariano - 2012 22

Page 23: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA

• Possuem unidades funcionais chamadas de CLBs (Configurable Logic Blocks) que implementam a lógica do circuito

• Unidades de interface, chamadas de IOBs (I/O Blocks), estabelecem a interface com o hardware

• Estrutura (matriz) de interconexões, ligando uma unidade (IOB/CLB) a outra

• Memória de configuração determina o chaveamento das conexões físicas

A. Mariano - 2012 23

Page 24: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA

• Amarelo = IOBs

• Vermelho = CLBs

• Verde = Memórias

• Rosa = Clocks

• Azul C. = Mux

• Azul E. = PLLs

A. Mariano - 2012 24

Page 25: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA

DCM – Digital Clock Manager CLB - Configurable Logic Blocks IOB - I/O Blocks

Fonte: Data Sheet Spartan-3 Family

A. Mariano - 2012 25

Page 26: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA -

Blocos de Lógica Configurável (CLB)

• Usualmente cada bloco funcional é composto por: – LUT-4 / RAM / Shift Register

– Mux

– Flip-Flop

• Saídas são de apenas 1 bit

• A composição de diversos blocos funcionais implementa circuitos complexos

• Podem ser do tipo fine-grained ou coarse

A. Mariano - 2012 26

Page 27: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA - Blocos de I/O (IOB)

• Grande quantidade de padrões elétricos (LVDS, LVPECL, LVCMOS, LVTTL, etc)

– L = Low, V = Voltage, P = Positive

• FPGAs Xilinx variam de 1.2V até 3.3V para sinais absolutos (single-ended)

• Sinais diferenciais operam até 2.5V

• Possuem de 100 até 1000 pinos de I/O

• Rocket I/O: de 100MB/s a 6.75GB/s

A. Mariano - 2012 27

Page 28: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA - Blocos de I/O (IOB)

A. Mariano - 2012 28

Fonte: Data Sheet Spartan-3 Family

Page 29: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Estrutura de uma FPGA - Matriz de Interconexões

• As chaves estão dispostas horizontalmente e verticalmente entre os blocos lógicos

• Conectam os IOBs aos CLBs, definindo o roteamento dos sinais

SRAM: memória de boot, rápida configuração com gravação no chip e grande área de silício

EPROMs: sem memória de boot, configuração lenta com gravação fora do chip

A. Mariano - 2012 29

Page 30: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

Implementation Constraints

FPGA (.bit)

Design Entry (VHDL)

Synthesis (RTL)

Timing Simulation Floor-Planning

Behavioral Simulation

Timing Analysis

Synthesis Constraints

•Place & Route •Map •Translate

Implementation

A. Mariano - 2012 30

Page 31: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

• O fluxo de projeto é independente do fabricante

• Podem existir passos adicionais específicos a cada plataforma

• Normalmente foca-se na primeira etapa, a especificação (design entry), mas outras etapas também são importantes

• Cada fabricante fornece um ambiente integrado de desenvolvimento capaz de dar suporte a cada uma dessas etapas (Altera Quartus, Xilinx ISE, etc)

A. Mariano - 2012 31

Page 32: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

• Possibilidade de utilização de softwares especializados em determinada etapa do projeto (ModelSim - simulação, Synplify – síntese, etc)

• São capazes de gerar o “código executável” FPGA, chamado de bitstream (.bit) e descarregá-lo (JTAG)

• Fornecem diversas diretivas de síntese (métricas, estilos de implementação, restrições de projeto, entre outros)

A. Mariano - 2012 32

Page 33: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route •Map •Translate

Implementation

A. Mariano - 2012 33

VHDL

RTL

Esquemático

Configuração

Cada etapa do fluxo de projeto gera um sub-produto, que é utilizado com entrada da etapa seguinte

Page 34: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Design Entry

• Onde o projetista define a especificação do projeto de hardware

• O resultado dessa etapa é um modelo de circuito descrito em VHDL ou Verilog

• A verificação dessa etapa é feita por meio de simulações

• Pode ser do tipo estrutural, comportamental ou RTL

A. Mariano - 2012 34

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 35: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Síntese

• Etapa que converte um modelo VHDL em um modelo de circuito

• Lista todos os elementos lógicos que compõem o modelo projeto (ANDs, ORs, MUXs, Adders, etc)

• É a etapa de “compilação” do código • Converte HDL (Hardware Description

Language) em RTL (Register-Transfer Level)

• A análise sintática e hierárquica é feita nessa etapa, buscando métricas de otimização

A. Mariano - 2012 35

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 36: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Síntese

VHDL não foi concebida inicialmente para síntese de circuitos

• Seu foco era especificação

• Permite construções abstratas, nem sempre sintetizáveis

• Também é possível simular o resultado gerado nessa etapa

A. Mariano - 2012 36

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 37: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Implementação

• A etapa de implementação é composta por 3 partes

– Tradução

– Mapeamento

– Posicionamento e Roteamento

• Essa etapa é dependente da plataforma

• Transforma um modelo conceitual em um circuito digital pronto para ser descarregado em FPGA (bitstream download)

A. Mariano - 2012 37

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 38: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Implementação

• Tradução

– Combina as restrições de projeto com os esquemas gerados anteriormente em um único arquivo de design lógico

– Todos os elementos lógicos são reduzidos a primitivas de implementação

– Essa etapa é algumas vezes omitida (é apenas um agregador de informações)

A. Mariano - 2012 38

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 39: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Implementação

• Mapeamento:

– Divide e distribui os elementos lógicos definidos na tradução em recursos da FPGA (technology-specific)

– Circuitos complexos são divididos em unidades funcionais menores

– Cada circuito é mapeado em um CLB ou IOB, etc

– Nessa fase já existe informação precisa sobre atrasos de comutação (atraso de cada unidade funcional)

A. Mariano - 2012 39

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 40: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - Implementação

• Posicionamento e Roteamento:

– Arranjo espacial das unidades lógicas alocadas para implementar o projeto

– Posicionamento tenta manter a lógica relacionada próxima (performance)

– Roteamento conecta os blocos lógicos mapeados

– Essa etapa impacta significativamente no desempenho do circuito (atrasos de propagação)

A. Mariano - 2012 40

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 41: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

Implementation Constraints

FPGA (.bit)

Design Entry (VHDL)

Synthesis (RTL)

Timing Simulation Floor-Planning

Behavioral Simulation

Timing Analysis

Synthesis Constraints

•Place & Route •Map •Translate

Implementation

A. Mariano - 2012 41

Page 42: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Análise de Tempo

• Faz-se a análise de tempo do circuito e de dissipação de energia

• É a análise mais precisa do processo (todos os elementos do circuito e suas conexões já são conhecidos)

• Determina-se a frequência máxima de operação, caminho crítico, etc

• O resultado obtido pode conduzir a uma revisão das etapas anteriores

A. Mariano - 2012 42

Page 43: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Visão Geral

Implementation Constraints

FPGA (.bit)

Design Entry (VHDL)

Synthesis (RTL)

Timing Simulation Floor-Planning

Behavioral Simulation

Timing Analysis

Synthesis Constraints

•Place & Route •Map •Translate

Implementation

A. Mariano - 2012 43

Page 44: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Restrições de Usuário

• É possível criar restrições de projeto

• A ferramenta, durante cada etapa, tenta atingir essas restrições

• Restrições físicas do sinal: frequência de operação, offset, slew-rate, etc

• Restrições gerais: posição de I/Os, área/desempenho, estilo de FSM (Finite State Machine), etc

• Caso uma dessas características não seja atendida, o projeto falha

A. Mariano - 2012 44

Page 45: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto - FloorPlanning • Quando os resultados obtidos pela

análise de tempo não forem satisfatórios, é necessário intervir no processo de implementação

• Problemas de frequência podem ser superados utilizando-se técnicas de pipeline

• Fan-outs elevados podem ser eliminados pela replicação de sinais

• Pode ser necessário posicionamento manual para superar problemas de atraso

A. Mariano - 2012 45

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation

Page 46: Dispositivos Lógicos Programáveis (PLD)professormariano.weebly.com/uploads/7/9/0/3/7903473/generalidades... · •Introdução •Visão Geral PLD –Evolução ... •Etapa que

Fluxo de Projeto – Programação da FPGA

• Uma vez completado com sucesso as etapas anteriores, um arquivo .bit (bitstream) é gerado

• Esse arquivo pode ser transferido a uma placa FPGA via JTAG (ou via USB-port)

• Em caso de produto final, esse bitstream é gravado em uma memória PROM

• Durante a inicialização do dispositivo, a FPGA busca sua configuração nessa memória

• Bitstream pode ser criptografado

A. Mariano - 2012 46

FPGA (.bit)

Design Entry

Synthesis

Floor-Planning

•Place & Route•Map•Translate

Implementation