1 / 36

Grupo VLSI

Grupo VLSI. Arquitetura Virtex-4. Rodolfo Galvão Aurélio 09/09/2007. Índice. Visão Geral Blocos de I/O (IOBs) Blocos Lógicos Configuráveis (CLBs) Blocos de RAM XtremeDSP Clock RocketIO PowerPC 405 Core Ethernet MAC Referências Bibliográficas. Visão Geral.

kita
Download Presentation

Grupo VLSI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grupo VLSI Arquitetura Virtex-4 Rodolfo Galvão Aurélio 09/09/2007

  2. Índice • Visão Geral • Blocos de I/O (IOBs) • Blocos Lógicos Configuráveis (CLBs) • Blocos de RAM • XtremeDSP • Clock • RocketIO • PowerPC 405 • Core Ethernet MAC • Referências Bibliográficas

  3. Visão Geral • A Virtex-4 compreende um conjunto de famílias de FPGAs: • Virtex-4 LX: aplicações de alto desempenho • Virtex-4 SX: aplicações DSP de alto desempenho • Virtex-4 LX: solução completa e de alto desempenho para aplicações de plataformas embutidas • Os componentes do Virtex-4 são uma melhoria dos já existentes em outras famílias (Virtex, Virtex-E, Virtex-2, Virtex-2 Pro e Virtex-2 Pro X). • Compatibilidade upward

  4. Visão Geral (cont.) • Todos os dispositivos Virtex-4 implementam as funcionalidades: • Blocos de I/O (IOBs) • Blocos Lógicos Configuráveis (CLBs) • Blocos de RAM • XtremeDSP slices • Blocos DCM (Digital Clock Manager) • Virtex-4 FX : • RocketIO MGT (Muit-Gigabit Transceiver) • CPU RISC embutida IBM PowerPC 450 (450MHz) • Cores EMAC (Ethernet Media Access Control) de 10/100/1000 Mb/s

  5. Visão Geral (cont.) • Matriz geral de rotas (GRM) fornece um vetor de chaves de roteamento entre os componentes. • Cada elemento programável é acoplado a uma matriz de chaves, que permite múltiplas conexões com a GRM. • Os valores são carregados nas células de memória durante a configuração. • Tecnologia de fabricação: • Gate 90-nm; • Menor consumo, maior densidade, melhor performance; • 11-Layer: mais possibilidades de roteamento;

  6. Blocos de I/O • I/O blocos provê uma interface entre os pinos e a lógica configurável. • IOBs otimizados para aplicações com fontes sincronizadas. • Otimizações de fontes síncronas incluem: • Per-bit deskew; • Data serializer/deserializer; • Divisores de clock; • Recurso de gerenciamentos de clock local dedicados;

  7. Blocos de I/O(cont.) • Um conversor serial para paralelo (com o divisor de clock associado) é adicionado no caminho de entrada; • Um conversor paralelo para serial é adicionado no caminho de saída; • Tecnologia SelectIO™ : • 1.5V to 3.3V I/O operation; • Built-in ChipSync™ source-synchronous technology; • Digitally controlled impedance (DCI) active termination; • True differential termination; • Low-capacitance I/Os para uma melhor integridade de sinais; • Suporte à memórias: DDR and DDR-2, SDRAM, QDR-II, and RLDRAM-II; • Tecnologia ChipSync: • Integrado com SelectIO para simplificar interfaces de fontes síncronas; • Memory/Networking/Telecommunication interfaces up to 1 Gb/s+ DDR. • Digitally Controlled Impedance (DCI): • Terminações opcionais serial ou paralela; • Compensação de temperatura.

  8. Blocos Lógicos Configuráveis • Recurso pra implementar circuitos seqüências e combinacionais. • Cada par em uma coluna tem um carry chain independente. • Somente SLICEM possui um shift chain comum.

  9. CLBs(cont.) • SLICEM e SLICEL: • 2 LUTs de 4 entradas cada (geradores de função); • Cada gerador de função implementa funções lógicas e aritméticas além de ROM. • 2 elementos de armazenamento; • Podem ser FF D ou level sensitive latch, com sinais de CLK, CLK ENABLE, SET/RESET • Mutiplexadores (MUXF5, MUXF6, MUXF7, MUXF8); • Podem combinar LUTs dentro de um mesmo CLB ou entre CLBs. • Carry Logic; • Provê adição e subtração aritmética rápida • Portas lógicas;

  10. CLBs(cont.) • SLICEM : • Armazena dados usando RAM distribuída; • LUTs combinados para armazenar dados. • Shift dos dados com registradores de 16 bits; • Implementados por uma Look-Up Table. 4 LUTs no SLICEM • Cad LUT pode atrasar o dado serial de 1 até 64 ciclos em uma CLB. • Qualquer um dos 16 bits pode ser lido assincronamente pela variação do endereço da LUT • Conexão dedicada entre o último bit de um shift register e o primeiro bit do próximo

  11. CLBs(cont.) SLICE (1 or 3)

  12. CLBs(cont.) SLICE (2 or 4)

  13. CLBs(cont.) • Look-up Tables • Geradores de função implementados com 4 entradas. • Atrasos de propagação são independentes da função lógica gerada. • Sinais da LUT podem: • Sair do slice diretamente (através de X e Y). • Entrar em uma porta XOR dedicada. • Selecionar a entrada do multiplexador de carry lógico. • Alimentar a entrada do Flip-flop D. • Multiplexadores (MUXF5 e MUXFX) podem combinar várias LUTs para implementar funções lógicas com mais de 4 entradas. • Storage Elements • Além das entradas de CLK e CLK ENABLE temos SR (set) e REV (reset). • SR também define o estado inicial do FF.

  14. CLBs(cont.) • Distributed RAM • Cada LUT do SLICEM pode implementar um elemento de RAM síncrono 16x1 bit. • Em 1 CLB (4 LUTs disponíveis no SLICEM) podemos ter: • Single-Port 16x4-bit RAM • Single-Port 32x2-bit RAM • Single-Port 64x1-bit RAM • Dual-Port 16x2-bit RAM

  15. CLBs(cont.) • Para configurações single-port, distributed RAM tem a mesma porta de endereço para escrita síncrona e leitura assíncrona. • Para o modo single-port, leitura e escrita dividem o mesmo barramento de endereço. • Para configurações dual-port, temos uma porta para escrita síncrona e leitura assíncrona além de outra porta para leitura assíncrona. • O gerador de função (LUT) tem pinos de endereço para leitura separado dos pinos de endereço para escrita.

  16. CLBs(cont.) • Read Only Memory (ROM) • Cada LUT ( SLICEM e SLICEL) pode implementar um 16x1-bit ROM. • Esses elementos de ROM podem ser cascateados para aumentar a capacidade de armazenamento. • Quatro configurações estão disponíveis: ROM 16x1, ROM 32x1, ROM 64x1, ROM 128x1. Qual a diferença entre a RAM e ROM implementada pela CLB? (16x2) (16x4) (16x8)

  17. CLBs(cont.) • Shift Register • As LUTs do SLICEM podem implmentar shiftregister de 16-bits sem usar FF D disponível no slice. • Aplicações de requerem delay ou período de latência usam esses shift register para desenvolver desings eficientes. • As linha de SHIFTIN e SHIFTOUT podem ser cascateadas para formar registradores mais longos. • Para criar rapidamente um shift register de uma Virtex-4 sem usar flip-flops usamos o CORE Generator™RAM-based shift-register module. • Como isso podemos fazer uma escrita síncrona e uma leitura síncrona/assíncrona simplemente varrendo os endereços da LUT.

  18. CLBs(cont.) • Multiplexadores • Uma LUT pode implementar um 2:1 multiplexer. • A associação de LUTs e multiplexadores (MUXFX e MUXF5) podem formar: • 4:1 multiplexer em 1 slice (2 lut) • 8:1 multiplexer em 2 slices (3 lut) • 16:1 multiplexer em 4 slices (1 CLB)(5 lut) • 32:1 multiplexer em 8 slices (2 CLB)(10 lut) Totalmente Combinacionais

  19. CLBs(cont.) • Designing Large Multiplexer • 4:1 Multiplexer:

  20. CLBs(cont.) • Designing Large Multiplexer • 8:1 Multiplexer:

  21. CLBs(cont.) • Designing Large Multiplexer • 16:1 Multiplexer:

  22. CLBs(cont.) • Designing Large Multiplexer • 32:1 Multiplexer:

  23. Blocos de RAM • Cada bloco armazena 18KBit de dados; • Leitura e escrita síncronas • Pode ser configurado para 16Kx1, 8Kx2 até 512x36 • Conteúdo de memória pode ser definido/limpado pelo bitstream de configuração • Durante a escrita, a saída pode ser o dado sendo escrito ou o dado anterior a escrita. (read-during-write) • Truedual-port RAM

  24. Blocos de RAM • Melhoramentos do Virtex-4: • Registradores pipeline na saída de leitura dos dados • Taxa de clock mais alta ao custo de 1 período de clock de latência. • Dois blocos de RAM adjacentes podem ser combinados (32Kx1) sem lógica adicional ou perda de velocidade. • Portas de 18 ou 36 bits com write enable individual por byte (usado para interfacear com PPC450) • Portas de leitura e escrita tem a mesma largura • Os 2 clocks podem ter freqüências diferentes (assíncronos entre si) • Não requer CLB adicional para controle da FIFO. • Operação é controlada pelas entradas read e write enable

  25. XtremeDSP Slice • Cada bloco XtremeDSP contém 2 DSP48 slice para formar a arquitetura do DSP. • Muitos DSPs seguem multiplicação e adição. Os dispositivos Virtex-4, possui circuitos multiplicadores e somadores dedicados. Mas não possui todas as funcionalidades de um DSP comum. • Suporta conexão de múltiplos DSP48 slices para formar funções matemáticas, filtros DSP e aritmética complexa sem o uso de outros recursos da FPGA. • Segue a arquitetura ASMBL™ (Application Specific Modular Blocks). O propósito desse modelo é tornar os dispositivos programáveis bem “recheados”. Com uma mistura de lógica, memória, I/O, processador, gerenciador de clock e processamento digital de sinais.

  26. XtremeDSP Slice • Multiplicador de 18 bits x 18 bits seguido por multiplexadores e adder/subtracter de 3 entradas. • Multiplicador aceita 2 operandos 18 bits e complemento de 2 e produz um resultado de 36 bits e complemento de 2 • O adder/subtracter aceita 3 operandos de 48 bits com complementos de 2 e produz um resultado de 48 bits. • O resultado de adder/subtracter pode ser registrado num acumulador. • Número de DSP48 slices :

  27. Clock • 8 a 24 regiões de clock dependendo do tamanho do dispositivo • Clock Global: • 32 linhas matched-skew que servem todo os dispositivo (CLB, Blocos de RAM, DCM, I/O) e direcionam os sinais lógicos. • As linhas de globais de clock são dirigidas somente por um buffer de clock global. • Pode selecionar entre duas fontes de clock. • Virtex-4 pode chavear de uma fonte falha de clock. • Buffer de clock global é dirigido pelo DCM para eliminar o atraso na distribuição do clock ou para ajustar o atraso relativo a um outro clock.

  28. Clock(cont.) • Clock regional e clock de I/O: • O buffer de clock regional pode ser programado para dividir a taxa de clock de entrada por 1 até 8. • Clocks de I/O são muito mais rápidos e servem circuitos locais de serialização/desserialização (que circuitos são esses ?) • Digital Clock Manager, recursos para gerenciamento do clock: • Clock deskew: • DCM contém um DLL (Delay-Locked Loop) para eliminar o atraso na distribuição do clock. • DLL contém elementos de delay (pequenos buffers) e lógica de controle. • A lógica de controle possui um detector de fase e um seletor delay-line. • Síntese de freqüência: • Saídas separadas fornecem uma freqüência dobrada (CLK2X e CLK2X180) • Outra saída (CLKDV) fornece uma freqüência que é uma fração da freqüência de entrada.

  29. Clock(cont.) • Phase shifting (2 tipos): • Baixa Resolução: • Usa as fases de 90°, 180°, e 270° de CLK0 para fazer as saídas de clock CLK90, CLK180, CLK 270. • Alta Resolução: • Permite que toda saída de clock do DCM seja phase-shifting relativo a CLKIN enquanto mantém a relação entre as saíds de baixa resolução. • Reconfiguração Dinâmica: • Há uma conexão do bus com o DCM para se mudar os atributos do DCM sem reconfigurar o resto do dispositivo. • 4 modos: fixed, variable_positive, variable, center e direct.

  30. Clock(cont.) • PMCD (Phase-Matched Clock Dividers): Dois tipos de de gerenciamento de clock: • Phase-matched divided clocks: • PMCDs criam até 4 versões frequency-divided e phase-matched de uma entrada de clock (CLKA) • Phase-matched delay clocks: • PMCDs preservam os alinhamentos de borda, relações de fase ou atraso entre o clock de entrada CLKA e os outros clocks PMCD de entrada.

  31. RocketIO MGT • Taxa de dados de 622 Mb/s até 10.3125 Gb/s • 8 a 24 transceiver por FPGA • 3-tap transmitter pre-emphasis (pre-equalization) • Receiver continuous time equalization • Equalizador DFE (Decision Feedback Equalizer) para aplicações legado backplane • Optional on-chip AC coupled receiver • Digital oversampled receiver para taxa de dados de até 1.25 Gb/s • Geração e verificação de CRC (Cyclic Redundancy Check) flexível • Reconfiguração pelo usuário através da porta de reconfiguração dinâmica (DRP)

  32. IBM PowerPC 450 • PowerPC é uma arquitetura e uma família de microprocessadores RISC (Reduced Instruction Set Computer) de 64 bits que possui um subconjunto de características de 32 bits. • PowerPC 450 (PPC450) é um processador de 32 bits que é uma implementação do PowerPC embedded environment architecture que é derivada da arquitetura PowerPC. • Aplicações embarcadas para o PPC450 são compatíveis com outras implementações de PowerPC. • Bloco do processador é uma combinação: • Core PPC405D5 (Virtex-2 Pro) ou PPC405F6 (Virtex-4) • On-chip memory logic (OCM) • Controlador APU (Auxiliary Processor Unit) (Virtex-4) • Mais lógica e interface

  33. IBM PowerPC 450(cont.) • Cache de instruções integrado • Cache de dados integrado • Dois modos de privilégios: • Modo privilegiado: Sistema operacional, drivers de baixo nível • Modo usuário: aplicações • Dois modos de tradução de endereços: • Modo real: acesso direto à memória física • Modo virtual: endereço virtual é traduzido em físico • MMU (Memory Management Unit) virtual que suporta múltiplos tamanhos de páginas e uma variedade de atributos de proteção de armazenamento e opções de controle de acesso. • Process 1.2V Core Voltage

  34. Virtex-4 FX – Ethernet MAC • Virtex-4 Ethernet MAC (Media Access Control) tem 2 Ethernet MAC compartilhando uma única host interface • Suporta taxa de dados de 10/100/1000 Mb/s • Em conjunção com o RocketIO MGT fornece uma implementação completa do 1000BASE-X on-chip • O bloco contem 2 Ethernet MACs compartilhando uma host interface • Lado físico e Lado Cliente

  35. Referências Bibliográficas • Virtex-4 Family Overview http://direct.xilinx.com/bvdocs/publications/ds112.pdf • Acessado em 05/09/2007 • Virtex-4 User Guide http://direct.xilinx.xom/bvdocs/userguides/ug070.pdf • Acessado em 05/09/2007 • PowerPC 405 Processor Block Reference Guide http://direct.xilinx.com/bvdocs/userguides/ug018.pdf • Acessado em 05/09/2007 • XtremeDSP for Virtex-4 FPGAs User Guide http://direct.xilinx.com/bvdocs/userguides/ug073.pdf • Acessado em 05/09/2007 • Virtex-4 Embedded Tri-Mode Ethernet MAC User Guide http://direct.xilinx.com/bvdocs/userguides/ug074.pdf • Acessado em 05/09/2007

  36. FIM

More Related