A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Juliano Medeiros Coimbra

Apresentações semelhantes


Apresentação em tema: "Juliano Medeiros Coimbra"— Transcrição da apresentação:

1 Juliano Medeiros Coimbra juliano_coimbra@yahoo.com.br
UNIVERSIDADE ESTADUAL DE CAMPINAS MO801 – Tópicos em Arquitetura e Hardware Prof. Rodolfo Jardim de Azevedo Altera Cyclone™ II Juliano Medeiros Coimbra 1

2 Introdução Produzida para rápida disponibilidade e baixo custo
Baseada no feedback dos clientes da Altera Trabalha com o software Quartus II (link no site da disciplina) Possui kits de desenvolvimento de hardware para aumentar a velocidade de produção Capacidade de expansão dos periféricos Visite  2

3 Introdução Oferece 60% a mais de desempenho e ½ do consumo de energia
Soluções de baixo custo em processamento embutido (processador Nios II) Solução de baixo custo para DSP: Mais de 150 multiplicadores 18x18; Mais de 1.1Mbit de memória embutida. Minimizando a área de silício, o Cyclone II pode suportar circuitos digitais complexos em um único chip, tudo isso com um custo baixo. Diferentemente dos outros fabricantes de FPGAs, que comprometem o desempenho e o consumo de energia para obter o baixo custo, essa FPGA tornou-se a forma mais rápida de desenvolver soluções para o mercado. O uso do processador Nios II embutido permite alto-desempenho visando aumentar o tempo de vida do produto final como, também, colocá-lo no mercado mais rapidamente. As soluções para DSP contam ainda com: Interfaces de alta velocidade para memória externa; DSP de propriedade intelectual (para fácil uso dos protocolos e interfaces da Cyclone II); DSP Builder para MatLab e MathWorks Simulink; Kit de desenvolvimento DSP da própria Cyclone II. 3

4 Arquitetura Bidimensional baseada em linhas e colunas
Interconexões entre blocos lógicos vetoriais (LABs), blocos de memória e multiplicadores Rede global de clock com mais de 4 PLLs (Phased Locked Loops) Blocos de memória M4K (dual-port, 260 MHz) Blocos de multiplicadores (250MHz) 3 registradores por elemento de I/O (IOE), que são localizados na periferia do dispositivo Suporte para vários padrões de I/O, com entrada máxima de 805 Mbps e saída máxima de 640 Mbps Um LAB consiste de 16 elementos lógicos, que são agrupados em linhas e colunas pelo dispositivo. A rede global de clock possui mais de 16 linhas de clock que percorrem todo o dispositivo, entregando esse sinal por todos os recursos da FPGA. Os blocos de memória M4K possuem 4K bits mais a paridade, podem trabalhar acima de 260MHz. Os multiplicadores da FPGA podem trabalhar com 9x9 bits ou 18x18 bits, com desempenho acima de 250MHz, eles são organizados em colunas pela FPGA. Os padrões de I/O suportados são 66- e 33-MHz, 64- e 32-bit PCI, PCI-X e LVDS. 4

5 Arquitetura Interface com dispositivos de memórias DDR, DDR2, SDR, SDRAM e QDRII SRAM (acima de 167 MHz) Diagrama da Cyclone II EP2C20 O número de recursos variam de modelo para modelo da Cyclone II. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 5

6 Elementos Lógicos (LE)
O LE é a menor unidade lógica dentro da arquitetura da FPGA. Cada LE possui: Tabela verdade com 4 entradas (que pode implementar uma função com 4 variáveis); Um registrador programável; Elo entre os seus registradores; Habilidade para interconectar todos os registradores; Suporte para empacotamento de registradores; Feedback para registrador. Os registradores programáveis podem operar como um registrador tipo T, JK, D e SR. 6 Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2

7 LE – modos de operação O Quartus II automaticamente ajusta o LE para o melhor modo de operação Modo NORMAL: apropriado para funções gerais da lógica e funções de combinações (combinational functions) Modo ARITMÉTICO: ideal para implementar contadores, somadores, acumuladores e comparadores O ajuste citado é para funções comuns como contadores, somadores e outras funções aritméticas. O Quartus II também cria a lógica de cadeia do carry, podendo unir mais de 16 LEs. 7

8 LE – modo normal No modo normal o LE possui suporte para empacotamento de registradores (register packing) e feedback para o registrador. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 8

9 LE – modo aritmético Nesse modo LE também possui feedback para o registrador e empacotamento de registradores. No modo aritmético há um somador completo de 2 bits e uma cadeia básica de carry. Comparando os dois modos, vemos que o modo aritmético tem menos ligações entre os recursos do LE. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 9

10 Blocos Lógicos Vetoriais (LAB)
Cada LAB possui: 16 LEs; Sinais de controle; Cadeias de carry dos LEs; Cadeias de registradores; Interconexões locais 10

11 Blocos Lógicos Vetoriais (LAB)
Dentro de um LAB temos que: as interconexões locais que transferem sinais entre os LEs; a cadeia de registradores transfere o sinal de saída de um registrador de um LE como entrada de um registrador adjacente (de outro LE); O compilador do Quartus II implementa a melhor cadeia de registradores, voltado para o desempenho e eficiência (menor área). Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 11

12 LAB – sinais de controle
Dois clocks Dois clock enables Dois clears assíncronos Um clear síncrono Um load síncrono Um máximo de sete sinais de controle de uma só vez 12

13 Interconexões MultiTrack
Tecnologia DirectDrive™ Entre linhas Entre colunas Rotas do dispositivo Em todas o Quartus II oferece melhoria de desempenho e utilização Na arquitetura da Cyclone II as conexões multi-trilhas ligam os LEs, os blocos de memória M4K, os multiplicadores e os dispositivos de I/O. Interconexões entre linhas fazem a rota dos sinais de/para LABs, PLLs, blocos de memória M4K e multiplicadores dentro de uma mesma linha. As interconexões entre colunas são similares às das linhas. Cada coluna de um LAB possui uma ligação dedicada com rotas de sinais verticais de/para outros LABs, blocos de memória M4K, multiplicadores, e IOEs de linhas e colunas. Nas rotas do dispositivo cada vetor lógico se comunica da mesma forma que a comunicação entre os LABs, por exemplo, cada bloco se conecta com uma linha e coluna e ganha acesso às regiões dessa linha e dessa coluna. Esses blocos também possuem um acesso direto para conexões rápidas de/para os LABs vizinhos. 13

14 Clock Global e PLLs Mais de 16 redes de clock global Mais de 4 PLLs
Seleção dinâmica da origem do clock Enable e Disable dinâmicos 14

15 Clock Global e PLLs Aqui vemos o esquema da rede de clock global e PLLs de um modelo pequeno da Cyclone II. Cada rede de clock global possui um bloco de controle de clock para selecionar uma origem de um número de entradas de clock, que são as saídas dos PLLs, os pinos CLK[], os pinos DPCLK[] e a lógica interna), para levar o clock escolhido para a rede global. Os pinos CLK[] são dedicados para serem de clock; os DPCLK[] são de clock de propósito duplo. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 15

16 Clock Global e PLLs Aqui vemos o esquema da rede de clock global e PLLs dos maiores modelos da Cyclone II. A diferença maior é que agora temos 8 bits para os pinos CLK[] e 16 bits para o clock global. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 16

17 Pinos de clock dedicados
Se não forem utilizados para alimentar a rede global de clock, podem ser usados com outro propósito, tomando o cuidado de não utilizar um registrador de I/O, mas sim algum registrador do LE 17

18 DPCLK[] e CDPCLK[] Nos modelos menores existem apenas os DPCLK[]
Nos modelos maiores da FPGA existem os CDPCLK[] (que passam por um multiplexador antes de chegarem no bloco de controle de clock - atraso) e os DPCLK[] que vão direto para o bloco de controle Quartus II: Input Delay from Dual-Purpose Clock Pin to Fan-Out Destinations São pontos de entrada para sinais PCI e DQS, que fazem interface com memórias externas O Quartus II possui uma solução para propagar um atraso nos pinos DPCLK[] 18

19 Rede de clock global Podem enviar sinais para o máximo de recursos que a FPGA pode gerenciar sem exceder seu limite de dissipação de energia (fan-out), ou seja, praticamente todos os recursos podem ter esse sinal como uma entrada 19

20 Bloco de controle de clock
São funções do bloco de controle de clock: Seleção dinâmica da origem do clock; Enable/disable da rede de clock global. As seguintes origens podem ser entradas do bloco de controle de clock: 4 pinos de clock do mesmo local do bloco de controle; 3 saídas de clock de um PLL; 3 pinos DPCLK[] ou CDPCLK[] do mesmo local do bloco de controle; 4 sinais gerados internamente. A saída desse bloco de controle pode ser levada para para as lunhas de um LAB e para as colunas da região de I/O. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 20

21 Phase Locked Loops (PLLs)
Dividem ou multiplicam o clock Deslocam o clock Pode ter escolha manual do clock O Handbook traz todas as características e funcionalidades das PPLs, mas aqui vou citar apenas as funções principais. 21

22 Memória M4K Organizadas em colunas
Os registradores de saída podem ser ignorados, mas os de entrada não 4608 bits de RAM Buffer FIFO Bits de paridade Desempenho esperado: 250MHz 22

23 Memória M4K Byte Enable Ilustração da funcionalidade do byte enable da M4K. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 23

24 M4K: modos de operação Single-port
Simple dual-port #(with mixed width) True dual-port #(with mixed width) Embedded shift register ROM FIFO Buffers Single-port: sem suporte para leitura e escrita simultâneos. Simple dual-port: com leitura e escrita simultâneos. Simple dual-port with mixed width: idem ao anterior, mas com larguras de bits diferentes na leitura e na escrita. True dual-port: suporta duas leituras e escritas ou uma leitura/escrita com feqüências de clock diferentes. True dual-port with mixed width: idem ao anterior, mas com larguras de bits diferentes na leitura e na escrita. Embedded shift register: funciona como registradores; dados são escritos na queda do clock e lidos na subida do mesmo. ROM: um MIF (memory initialization file) inicia o conteúdo da memória. FIFO Buffers: pode ser implementado um FIFO com um único clock ou com clock duplo. Não é permitido leitura/escrita simultânea quando o buffer estiver vazio. 24

25 M4K: clocks Independent Input/Output Read/Write Single 25
Independent: nesse modo, cada porta possui um clock diferente, por exemplo: porta A e porta B: um clock controla todos os registradores da porta A e outro clock os registradores da porta B. Input/Output: um clock controla a entrada de todos os registradores na memória e o outro a saída da memória para os registradores de saída. Read/Write: mais de um clock são possíveis nesse modo. Clocks de escrita controlam a entrada de dados na mamória e clocks de leitura a saída de dados. Single: um único clock, junto com o sinal de clock enable é usado para controlar todos os registradores dp bloco de memória. Sinais de clear assíncrono não são suportados neste modo. 25

26 M4K: interfaces Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 26

27 Blocos de multiplicadores
Desenvolvidos para funções de intenso DSP, como: FIT (finite impulse response) FFT (fast Fourier transform) DCT (discrete cosine transform) Trabalha como: Um multiplicador de 18 bits Mais de dois multiplicadores independentes de 9 bits Desempenho esperado: 250 MHz 27

28 Multiplicadores: conexões
Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 28

29 Estrutura de I/O Buffer bidirecional com 3 registradores de saída para transferência de dados bidirecional A figura ilustra a estrutura de um IOE (Elemento de entrada e saída). Ele contém um registrador de saída, um de entrada e um de saída com enable. O Quartus II automaticamente duplica um registrador de habilitação de saída que controle saídas múltiplas ou pinos bidirecionais. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 29

30 Estrutura de I/O Interface de tensão múltipla: a FPGA pode se ligar a outros dispositivos com tensões diferentes Pinos de I/O possuem utilizam os padrões de energia LVPECL, LVDS, HSTL ou SSTL Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 30

31 Sinais através do bloco de I/O
Cada IOE contém sua própria seleção de sinal de controle para os seguintes sinais destacados na figura. Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 31

32 I/O: interfaces com memórias externas
167 MHz / 333 Mbps para DDR e DDR2 SDRAM 167 MHz / 667 Mbps para QDR II SRAM 32

33 Configuração e teste Tabela mostrando as maneiras de configurar a GPGA Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 33

34 Configuração e teste A FPGA possui circuitos JTAG BST que satisfazem os padrões da IEEE (1149.1) Os dispositivos de JTAG também monitoram a operação da lógica, aceitando vários comandos JTAG Também aceita AS e PS 34

35 Hot-Socketing A placa que contém a FPGA pode ser removida durante o funcionamento do resto do barramento, sem causar efeitos indesejados Suporte para qualquer seqüência de ativação de dispositivos Sem ruídos no barramento durante a inserção da placa Uma característica da FPGA trabalhando em conjunto com outros dispositivos eletrônicos. 35

36 Bibliografia Cyclone II Device Handbook, Volume 1, Altera, versão CII5V1-2.2 36


Carregar ppt "Juliano Medeiros Coimbra"

Apresentações semelhantes


Anúncios Google