Controladores lógicos programáveis avançado - Siemens série S7-300
Dispositivos Lógicos Programáveis...
Transcript of Dispositivos Lógicos Programáveis...
![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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/1.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/2.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/3.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/4.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/5.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/6.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/7.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/8.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/9.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/10.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/11.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/12.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/13.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/14.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/15.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/16.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/17.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/18.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/19.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/20.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/21.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/22.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/23.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/24.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/25.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/26.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/27.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/28.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/29.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/30.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/31.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/32.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/33.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/34.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/35.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/36.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/37.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/38.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/39.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/40.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/41.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/42.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/43.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/44.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/45.jpg)
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](https://reader031.fdocumentos.tips/reader031/viewer/2022021509/5a853cec7f8b9aa5408c5b9a/html5/thumbnails/46.jpg)
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