aula teórica lbo n8

50
PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (1.a parte) Prof. Dr. Cesar da Costa – N8LB0 - 1.a Aula_Teórica

Upload: wanderley-terci-esteves

Post on 07-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Apresentação de robotica

TRANSCRIPT

PROGRAMAÇÃO E PROJETOS COM DISPOSITIVOS FPGA (1.a parte)

Prof. Dr. Cesar da Costa – N8LB0 - 1.a Aula_Teórica

SUMÁRIO

1. Introdução

1.2 Circuitos Integrados Padrões

1.3 Circuitos Integrados ASICs

2. Conceito de Lógica Programável

2.1 Dispositivos Lógicos Programáveis - PLDs

2.2 SPLDs (PLA, PAL, GAL e EPLD)

2.3 HCPLDs (CPLD e FPGA)

3 Kit de Desenvolvimento DE 2

Introdução:

Os circuitos integrados digitais implementados em pastilha de silício podem ser classificados em dois grupos de integração:

a) Circuitos integrados padrões

b) Circuitos integrados de aplicação específica (ASIC)

Circuitos Integrados Padrões

Os circuitos integrados padrões são compostos pelos circuitos de funções fixas, que correspondem aos componentes digitais básicos: AND, OR, NAND, NOR, NOT, FLIP-FLOPS,etc.

Circuitos integrados digitais SSI. CI 7400 (4 portas NAND) CI 7408 (4 portas AND)

Circuitos integrados digitais MSI. CI 74151 (1 Multiplexador 8x1) CI 74LS90 (1contador BCD)

Exemplos:

Circuitos Integrados de Aplicações Específicas (ASICs)

Os circuitos integrados de aplicação específicas - ASICs são aqueles que precisam de um processo de fabricação especial, que requer máscaras específicas para cada projeto.

Microprocessadores

Microcontroladores

CISC (Conjunto de instruções complexas)

RISC (Conjunto de instruções reduzidas)

Exemplos:

Arquitetura Básica

Microprocessadores são componentes extremamente flexíveis devido a sua programabilidade.

A programação do componente torna-o flexível para implementação de vários tipos de aplicação , entretanto, a implementação de um algoritmo por software será mais lenta que quando implementada por um hardware equivalente.

Início

A 04h

B 03h

A A + B

Fim

Estados Endereços Mnemônico Operando Comentários

7 0000 MVI A, 04 Move 04 para A

7 0002 MVI B, 03 Move 03 para B

4 0004 ADD B Soma A e B para A

5 0005 HLT Pára.

Clock = 4 Mhz Tempo de estado = 0,25 μs

Somador por Software

A B

Somador por Hardware

A

BS

S = A+B 13 nanosegundos (delay)

Em ambos os casos apresentados, os circuitos integrados digitais possuem suas funções internas fixas, predefinidas, implementadas na construção do CI no processo de fabricação.

Microcontrolador

Circuito Integrado MSI

Nos últimos 30 anos a tecnologia de projeto de sistemas digitais se moveu na direção da Lógica Programável.

A maioria dos circuitos de controles digitais modernos estão contidos em um único dispositivo de Lógica Programável: FPGA ou CPLD.

Conceito de Lógica Programável

A idéia básica desses dispositivos é permitir ao

projetista configurar o circuito eletrônico digital desejado dentro do próprio “chip”.

Os recursos de hardware serão configurados para implementar a funcionalidade requerida.

Dispositivos Lógicos Programáveis - PLDs

Os PLDs são circuitos integrados que podem ser configurados pelo próprio usuário. Não apresentam uma função lógica definida, até que sejam configurados.

Uma função lógica, seja combinacional ou seqüencial poderá ser representada na forma de soma de produtos, através do uso do Teorema de DeMorgan ou das leis da Álgebra de Boole.

Uma função lógica complexa de multi – níveis poderá facilmente ser reduzida a uma configuração de dois níveis usando portas ANDs e portas ORs.

Algumas propriedades das funções lógicas possibilitaram a implementação de componentes eletrônicos contendo arranjos uniformes de portas ANDs e portas ORs que podem ser programadas.

Arquitetura básica de um dispositivo PLD

Os dispositivos de lógica programável – PLDs foram os dispositivos eletrônicos que possibilitaram a implementação da Lógica Programável no projeto de circuitos digitais.

Os PLDs podem ser classificados em função do número de portas lógicas que comportam como:

a) SPLDs (Simple Programmable Logic Devices);

b) HCPLDs (High Complex Programmable Logic Devices).

SPLDs (Single Programmable Logic Devices)

São dispositivos simples de baixa capacidade, que tipicamente contêm menos de 600 portas lógicas, fabricados com tecnologia CMOS.

Exemplos de dispositivos SPLDs:

a) PLAs (Programmables Logic Arrays);

b) PALs (Programmable Arrays Logic);

c) GALs (Gate Arrays Logic).

PLA (Programmable Logic Array).

Introduzidos em 1970 pela Philips.

A saída do plano AND corresponde ao produto das entradas.

PAL (Programmable Array Logic).

Desenvolvido para superar as deficiências dos PLAs.

GAL (Generic Array Logic).

Um novo tipo de PAL baseado em células de memória EEPROM.Introduzido no mercado pela empresa LATTICE.

EPLDs (Erasable Programmable Logic Devices)

São dispositivos lógicos programáveis e apagáveis que foram introduzidos no mercado pela empresa ALTERA, no ano de 1983.

Os dispositivos EPLDs implementavam capacidade lógica de até 50 dispositivos PALs típicos em um único circuito integrado.

Suas Principais vantagens:

Programabilidade e reprogramabilidade.

Tecnologia CMOS.

Integração em larga escala.

Simplificação e redução do tempo de desenvolvimento.

HCPLDs (High Complex Programmable Logic Devices)

São dispositivos simples de alta capacidade, que tipicamente contêm mais do que 600 portas lógicas, os mais modernos podem atingir cerca de 1.000.000 portas lógicas, fabricados com tecnologia CMOS.

Exemplos de dispositivos HCPLDs:

a) CPLDs (Complex Programmable Logic Devices);

b) FPGAs (Field Programmable Logic Devices).

CPLDs (Complex Programmable Logic Devices)

Foram introduzidos no mercado internacional pela empresa ALTERA, inicialmente como EPLDs.

São dispositivos programáveis e reprogramáveis pelo usuário, com alto desempenho, baixo custo por função e alta capacidade de integração.

CPLDs (Complex Programmable Logic Devices)

Famílias de CPLDs fornecidos pela ALTERA:

MAX II, MAX 3000A e MAX7000.

Famílias de CPLDs fornecidos pela XILINX:

XA9500XL, XC95144.

28

CPLD Consiste de um determinado número de blocos lógicos, onde cada bloco contém uma macrocélula interligada a uma matriz lógica programável tipo SPLD.

No centro da arquitetura existe uma interconexão programável global, que permite a conexão entre blocos lógicos e células de entrada e saída.

29

FPGA O FPGA consiste de uma matriz de blocos lógicos ou células lógicas independentes, cercada de blocos de entrada e saída, também independentes e por um conjunto de recursos de interconexão programáveis, que permitem a interligação arbitrária dos blocos uns aos outros.

Cada bloco lógico pode ser programado individualmente para desempenhar uma função específica. Cada bloco de entrada e saída pode ser programado para ser uma entrada, uma saída ou um pino bidirecional global.

30

FPGA Novas arquiteturas de FPGAs têm sido desenvolvidas desde 1985, com variações significativas na composição dos blocos e das tecnologias de implementação, mas sempre mantendo a mesma estrutura básica da LCA (Logic Cell Array) inicial:

Blocos lógicos; Blocos de entrada e saída;

Recursos de interligação programáveis.

Arquitetura de roteamento

A arquitetura de roteamento de um FPGA é a forma pela qual os seus barramentos e as chaves de interconexão são posicionadas para permitir a interconexão entre as células lógicas.

Essa arquitetura permite que se obtenha um roteamento completo e, ao mesmo tempo, alta densidade de portas lógicas.

32

FPGA

Arquitetura geral de roteamento de um FPGA.

Conceitos básicos da arquitetura de um FPGA

Pinos: entradas e saídas dos blocos lógicos;

Conexão: ligação elétrica de um par de pinos;

Rede: conjunto de pinos que estão conectados;

Bloco de comutação: utilizado para conectar dois segmentos de trilha;

Segmento de trilha: segmento não interrompido por chaves programáveis;

Canal de roteamento: grupo de duas ou mais trilhas paralelas;

Bloco de Conexão: permite a conectividade das entradas e saídas de um bloco lógico com os segmentos de trilhas nos canais;

Chaves programáveis: afetam a velocidade, tempo de propagação dos sinais e definem características de volatilidade e reprogramação.

Tecnologia de programação das chaves de roteamento

SRAM: nessa tecnologia a chave de interconexão é uma memória estática RAM de um bit.

Antifuse: nessa tecnologia a chave de interconexão é um dispositivo semicondutor de dois terminais, que no estado não programado apresenta alta impedância (aberto) e que no estado programado apresenta baixa impedância (fechado).

Gate Flutuante: nessa tecnologia a chave de interconexão é um transistor MOS, especialmente construídos com dois gates flutuantes semelhantes aos usados nas memórias EPROM e EEPROM . A maior vantagem dessa tecnologia é a sua capacidade de programação e a retenção dos dados.

Obs: Com a tecnologia Gate Flutuante os dados podem ser programados com o circuito integrado instalado na placa, característica denominada ISP (In System Programmability).

FPGA (Field Programmable Gate Arrays)

Famílias de FPGAs fornecidos pela XILINX:

Artix -7, Kintex-7, Virtex-7, Spartan-6 e Virtex-6.

Visite o site:

http://www.xilinx.com/products/silicon-devices/fpga/index.htm

FPGA (Field Programmable Gate Arrays)

Famílias de FPGAs fornecidos pela ALTERA:

Stratix V, IV, III, II e I;

Arria V, II e I;

Cyclone V, IV, III, II e I

Visite o site:

http://www.altera.com/devices/fpga/fpga-index.html

40

FPGA• APLICAÇÕES DE FPGA.• Radio Digital (Wireless).• Equipamentos em Medicina:

Ultra Som, etc;• Processamento de Som.• Processamento de Imagem:

Aplicações de Vídeo;• Controle Industrial:

Autônomos, Motion Control.• DSP (Processamento Digital

de Sinais).

41

Principais Fabricantes de FPGA e CPLD

Fabricante Webesiet

Achronix Semiconductor www.achronix.com

Actel Corporation www.actel.com

Altera Corporation www.altera.com

Atmel Corporation www.atmel.com

Cypress Semiconductor www.cypress.com

Lattice Semiconductor www.latticesemi.com

Quicklogic Corporation www.quicklogic.com

Xilinx www.xilinx.com

42 42

Placas de Desenvolvimento

Altera DE3 Development System - FPGA Stratix III

43 4343 43

Placas de Desenvolvimento

Altera Cyclone III FPGA Development KIT

KIT DE 2

KIT DE 2

Endereço das chaves

Endereço dos LEDs

Atenção:

1.Maiores informações sobre dados técnicos do Kit DE 2, deverão ser obtidas no site do professor: www.professorcesarcosta.com.br. Disciplinas Ministradas N8LB10

Bibliografia:

Bibliografia:

2. Site www.professorcesarcosta.com.br

Tópicos:

-Disciplinas Ministradas N8LB10;- Kits Didáticos com FPGA;- Clube do FPGA;- FPGA;

3. Site www.fpgacentral.com