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

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

Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

Apresentações semelhantes


Apresentação em tema: "Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico."— Transcrição da apresentação:

1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico Ferlini Aula 3

2 1.I MPLEMENTAÇÃO DE C IRCUITOS D IGITAIS I NTRODUÇÃO E XEMPLOS 2.D ISPOSITIVOS R ECONFIGURÁVEIS 3.FPGA S S PARTAN 3 4.L INGUAGENS DE D ESCRIÇÃO DE H ARDWARE CONTEÚDO 2

3 INTRODUÇÃO Criação de um projeto de circuito digital Pode ser até um desenho em uma folha (a) Eventualmente haverá a necessidade de implementar esse circuito em um dispositivo físico (b) Como? Implementação de Circuitos Digitais I NTRODUÇÃO 3 k p s w BeltWarn (a) Digital circuit design si IC (b) Physical implementation ?

4 Produzir o nosso próprio CI Meses de projeto e fabricação Milhões em dinheiro Totalmente ou Semi customizado (1) Totalmente customizado (Full-custom IC) Utiliza-se ferramentas de CAD ( Computer Aided Design ) Layout descreve a localização e a dimensão de cada transistor e conexão Envia para FAB (fabrication plant) que fabrica o CI Custos: NRE (setup), respin (erros de projeto). JUSTIFICA? Implementação de Circuitos Digitais 4 k p s w BeltWarn IC Custom layout Fab months a

5 Produzir o nosso próprio CI (2) Semicustomizado Gate Array ou Standard Cell Application Specific IC (ASIC) (2a) Gate Array Arranjos de portas lógicas CI com transistores pré-projetados O trabalho feito é a interconexão Utilizando-se ferramentas de CAD Comparação com Full-custom Menor custo e tempo de projeto Pior performance, área e consumo Implementação de Circuitos Digitais 5 k p s w BeltWarn w Fab weeks (just wiring) (a) IC (d) k p s (c) (b)

6 Produzir o nosso próprio CI (2a) Gate Array Exemplo do mapeamento de um meio somador Half-adder equations: S = ab + ab Soma = a XOR b CO = ab CarryOut = a AND b Implementação de Circuitos Digitais 6 Gate array s co a b co = ab s = a'b + ab' a'bab' a Half-adder equations: ab

7 Produzir o nosso próprio CI (2) Semicustomizado (2b) Standar Cell Células (pequenos circuitos) AND3, MUX21, AOI... Mesma altura (tipicamente) Biblioteca:células pré-projetadas Faixas de altura de padrão O trabalho: Escolha e posicionamento das células Conexão Comparação com Gate Array Um pouco mais complexo Melhor desempenho, consumo e área Implementação de Circuitos Digitais 7 w k p s w BeltWarn k p s Fab 1-3 months (cells and wiring) ( a ) IC ( d ) ( c ) ( b ) Cell library cell row

8 Produzir o nosso próprio CI (2b) Standard Cell Exemplo do mapeamento de um meio somador Half-adder equations: S = ab + ab Soma = a XOR b CO = ab CarryOut = a AND b Implementação de Circuitos Digitais 8 s co a b co = ab s = a'b + ab' aba'b ab' cell row Gate array s co a b a'bab'ab Número menor de portas Tamanho menor das conexões a Ferramentas de CAD bem avançadas: Roteamento e Otimização do circuito Ex.: CADENCE

9 Outra solução: TTL Exemplo: aviso do cinto de segurança (a) Implementação de Circuitos Digitais 9 Connecting the pins to create the desired circuit 74LS27 I C I 14 I 13 I 12 I 11 I 10 I 9 I 8 I 7 s k 0 I 3 k p s w w ( a ) ( c ) Converting to 3-input NOR gates p ( b ) s p k w 0 0 I 2 I 4 I 5 I 6 I 1

10 Outra solução: TTL Motorola 6800 based computer http ://en.wikipedia.org/wiki/Transistor%E2%80%93transistor_logic http ://en.wikipedia.org/wiki/Transistor%E2%80%93transistor_logic Implementação de Circuitos Digitais 10

11 A fabricação de CIs é cara e pode levar meses Custo inicial de fabricação elevado (milhões $$$) CIs Programáveis (Reconfiguráveis) são pré-fabricados Permite a implementação de um circuito imediatamente Simples, através do carregamento de bits no dispositivo Mais lentos/caros/consumo do que um CI customizado Pode ser comprado pronto, online e sem o custo de fabricação Mais popular FPGA Field-programmable gate array Desenvolvido no fim dos anos 80 Não possui gate-arrays Nome originado da popularidade dos gate-arrays Permite a implementação de um circuito em segundos Dispositivos Reconfiguráveis FPGA S 11

12 Outras tecnologias PLD – (Programmable Logic Device) 1970 (anterior ao FPGA) CIs pré-fabricados estruturas de portas AND ou OR Conexões programáveis Customiza o circuito Exemplo Implementa funções: até 3 entradas até 3 termos F = abc + a'bc' + a'b'c' Dispositivos Reconfiguráveis 12

13 PLD – Variações Fused ou Anti-fused Baseado em memória Dispositivos Reconfiguráveis 13 1 mem Fuse "unblown" fuse 0 mem "blown" fuse programmable node (a) (b) Fuse based Memory based

14 Extensões do PLD Duas saídas Registradores nas saídas CPLD (Complex PLD) Dispositivos Reconfiguráveis 14 Two-output PLD PLD with programmable registered outputs

15 Idéia básica: Memória implementa lógica combinacional Mem. 4x1 1 função lógica Mem. 4x2 2 funções lógicas (mesmas entradas) Memória = LUT (Look-Up Table) FPGAs 15 ( b )( a ) ( d ) F = x'y' + xy G = xy' x y F G F = x'y' + xy x y F x1 Mem rd a1 a0 1 y x D F 4x1 Mem rd a1 a0 1 D ( c ) y=0 x=0 F=1 4x2 Mem rd a1 a0 1 x y D1D0 FG ( e ) a a

16 Exemplo: Funcionamento da LUT Aviso do cinto de segurança FPGAs - LUTs 16 k p s w BeltWarn ( a ) ( b ) k p s w Programming (seconds) Fab 1-3 months a a ( c ) 8x1 Mem D w I C a2 a1 a0 k p s

17 LUTs 3-entradas 4-entradas (Spartan3) 6-entradas + ineficiente Mais entradas? Solução: partição em várias LUTs FPGAs - LUTs 17 a c b a c b d f g F i e h d f e g i h 3x1 F (a) (b) (c) 512x1Mem. 8x1Mem. Original 9-input circuit Partitioned among 3x1 LUTs Requires only 4 3- input LUTs (8x1 memories) – much smaller than a 9-input LUT (512x1 memory)

18 Exemplo: Partição em várias LUTs Aviso do sinto de segurança (+estendido) Circuito com 5 entradas Somente LUTs de 3 entradas disponível (3-LUT) FPGAs - LUTs 18 Circuitos 5-entradas, porém, só LUTs com 3-entradas Mapeamento em LUTs k p s t d w BeltWarn ( a ) Partição do circuito em LUTs k p s t d x w BeltWarn ( b ) 3 inputs 1 output x=kps' 3 inputs 1 output w=x+t+d a Sub-circuits have only 3-inputs each 8x1Mem D a2 a1 a0 k p s kps' x d t ( c ) 8x1Mem D w a2 a1 a0 x+t+d

19 Como é feita? Exemplo anterior Interconexão Programável Matriz de chaveamento FPGAs - Interconexão 19 8x2Mem. 00 D0D a2 a1 a0 P1 P0 P6 P7 P8 P9 P2 P3 P5 P4 ( a ) 8x2Mem. 00 D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA (partial) ( b ) m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 2-bit memory 2-bit memory Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux 8x1Mem D a2 a1 a0 k p s x d t 8x1Mem D w a2 a1 a0 k p s t d x w BeltWarn

20 Exemplo Aviso do sinto de segurança Obs.: ignorar a entrada d FPGAs - Interconexão 20 8x2Mem D0D a2 a1 a0 k 0 w p s 0 t ( a )( b ) 8x2Mem D0D a2 a1 a0 m0 m1 o0 o1 m2 m0 o0 o1 i0 s0 d s1 i1 i2 i3 m1 m2 m3 Switch matrix FPGA (partial) Switch matrix 4x1 mux i0 s0 d s1 i1 i2 i3 4x1 mux x k p s t d x w BeltWarn

21 CLB (Configurable Logic Blocks) FPGAs – Blocos Lógicos Configuráveis 21 LUTs implementam o circuito combinacional Circuito sequêncial ? Inclusão de um flip-flop na saída de cada LUT Configurable Logic Block CLB = (LUT + flip-flops) A saída do CLB pode vir do flip-flops ou das LUTs, diretamente Configurável 8x2Mem. 00 D0D a2 a1 a0 P1 P0 P2 P3 P5 P4 8x2Mem. 00 D0D a2 a1 a0 m0 m1 o0 o1 m2 m3 Switch matrix FPGA 00 CLB P6 P7 P8 P9 flip-flop CLB output 00 2x bit CLB output configuration memory

22 Visão geral Centenas de milhares de CLBs e matrizes de chaveamento FPGAs - Arquitetura 22 CLB SM CLB Conexões globais de longa distância Conexões locais Interface do CLB

23 FPGA Protótipo de ASIC FPGA to ASIC (Anti-Fuse) Comparação das Tecnologias 23 Full-custom Standard cell (semicustom) Gate array (semicustom) FPGA PLD reprogrammable Easier designMore optimized Faster performance Higher density Lower power Larger chip capacity Quicker availability Lower design cost

24 Arquitetura IOBs LVTTL, LVCMOS, GTL, LVDS... Multiplicadores DSPs CLBs BRAMs Spartan-3 FPGA Family Data Sheet (ds099) 24

25 Arquitetura CLB 4x Slices 2x SLICEM 2x SLICEL Spartan-3 FPGA Family Data Sheet (ds099) 25

26 Arquitetura CLB 4x Slices LUTs FFs Carry Spartan-3 FPGA Family Data Sheet (ds099) 26

27 Arquitetura CLB 4x Slices LUTs FFs Carry IOBs BRAM DSP DCMs Outros: PCIE, GBE... Spartan-3 FPGA Family Data Sheet (ds099) 27

28 VHDL Very High Speed Integrated Circuits (VHSIC), início 1980 Originou como linguagem para descrever o comportamento de ASICs, definido pelo U.S Department of Defense VHDL VHSIC Hardware Description Language Padrão IEEE em 1987 (Institute of Electrical and Electronics Engineers), revisado em 1993 Linguagem utilizada mundialmente por empresas de CAD para especificação, simulação, síntese, propriedade intelectual Outras linguagens de descrição de hardware SystemC, VERILOG, Handel-C, SDL, ISP, Esterel, … Linguagens de Descrição de Hardware 28


Carregar ppt "Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico."

Apresentações semelhantes


Anúncios Google