Buscar

745312_729656_LabSisDig-Rot-Aula 4-Aula 5-04Ago2013 - Cópia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 1 
 
Aulas 4 e 5 
 
 
 
 
Dispositivos 
Lógicos 
Programáveis 
(PLD) 
 
 
 
 
 
 
 
 
 
Princípio de Funcionamento de um PLD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fluxo de Projeto de um sistema digital com PLD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Projeto no nível de blocos, projeto no nível de 
sistema e desenvolvimento de software. Entrada do Projeto 
Síntese 
“Place and Route” 
Análise de tempo 
Simulação 
 
 
 
 
Programação e 
configuração 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 3 
 
Principais alternativas para a entrada do projeto 
 
a) Diagrama esquemático 
b) Descrição do circuito através de uma linguagem de descrição de hardware (HDL). 
 
 
Principais Linguagens de Descrição de Hardware (Hardware 
Description Languages – HDL) 
 
a) VHDL VHSIC(*) HDL 
b) Verilog 
c) AHDL Altera HDL 
 
 
(*) Very High Speed Integrated Circuit 
 
 
 
Configuração (“Programação”) de um PLD 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 4 
ATENÇÃO: Os 
componentes do kit Altera 
DE2 são muito sensíveis a 
descargas eletrostáticas. Por 
isso, tenha o máximo 
cuidado para NÃO TOCAR 
nas partes metálicas da 
placa, pois isso poderia 
provocar a destruição dos 
circuitos. 
O kit Altera DE2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 5 
Diagrama esquemático do kit DE2 
 
 
 
 
 
 
 
 
U11 U30 
 
 
 
 
 
 
 
 
 
 
 
 
EPCS 16 
EP2C35F672C6 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 6 
Experimento de laboratório 
 
Controlador de semáforos 
 
No cruzamento das ruas A, B e C existem três semáforos, respectivamente: SA, SB e SC. Os 
três semáforos se fecham quando um guarda aciona um botão D, permitindo que os alunos de 
uma escola localizada nesse cruzamento atravessem as ruas com segurança. 
Em cada rua existe um sensor que acusa a presença de carros. Quando D não está acionado, 
esses sensores fazem o semáforo abrir para uma das três ruas, segundo as regras abaixo: 
1. Se vierem carros em todas as ruas, o semáforo SA é o que abre. 
2. O semáforo SA também se abrirá se em nenhuma das ruas vierem carros. 
3. Vindo carros apenas pelas ruas A e B, os carros que vêm pela rua A têm prioridade. 
4. Vindo carros apenas pelas ruas B e C, os carros que vêm pela rua B têm prioridade. 
5. Vindo carros apenas pelas ruas A e C, os carros que vêm pela rua C têm prioridade. 
 
1ª Parte 
Projete o circuito mais simples possível para o comando de cada semáforo, utilizando as 
seguintes convenções: 
Semáforo aberto: “0”; Semáforo fechado: “1”; Sensor ativo (presença de carros): “1” 
Botão D acionado (comanda fechamento dos semáforos): “1” 
 
Entradas Saídas 
D A B C SA SB SC 
0 0 0 0 0 1 1 
0 0 0 1 1 1 0 
0 0 1 0 1 0 1 
0 0 1 1 1 0 1 
0 1 0 0 0 1 1 
0 1 0 1 1 1 0 
0 1 1 0 0 1 1 
0 1 1 1 0 1 1 
1 0 0 0 1 1 1 
1 0 0 1 1 1 1 
1 0 1 0 1 1 1 
1 0 1 1 1 1 1 
1 1 0 0 1 1 1 
1 1 0 1 1 1 1 
1 1 1 0 1 1 1 
1 1 1 1 1 1 1 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 7 
Equações dos circuitos: 
 
 ̅ ̅ ̅ ̅ ̅ ̅ 
 ̅ ̅ ̅ 
 ̅ ̅ ̅ ̅ ̅ ̅ ̅ 
 
Diagrama dos circuitos: 
 
 
 
 
B 
A 
D 
C 
SA 
SB 
SC 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 8 
 
2ª Parte 
 
Usando o software Quartus II, crie um projeto 
(“project”) denominado semaforo_PLD no diretório 
desktop\semaforo. 
 
Em seguida crie um novo arquivo para entrada de um 
projeto (“design”) em VHDL. 
 
Entrada e compilação do projeto 
 
Entre com a seguinte descrição de hardware. Exceto 
nos comentários, procure usar apenas letras, números e 
o caracter “_”. Nunca use acentos ou cedilhas, pois eles 
não são corretamente reconhecidos pelo compilador. 
 
O compilador não faz distinção entre letras maiúsculas 
e minúsculas. Para efeito de clareza, entretanto, é praxe 
usar letras maiúsculas apenas em palavras reservadas da 
linguagem. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
entity semaforo_PLD is 
 port 
 ( 
 -- Pinos de entrada (“Input Ports”) 
 D, A, B, C : in bit; 
 
 -- Pinos de Saída (“Output Ports”) 
 Sa, Sb, Sc : out bit 
 ); 
end semaforo_PLD; 
 
architecture equacoes of semaforo_PLD is 
begin 
 Sa <= D or (not A and B) or (not B and C); 
 Sb <= D or A or not B; 
 Sc <= D or B or not C; 
end equacoes; 
Usando o Quartus II (1) 
 
Ao executar o software Quartus 
II, antes de começar a projetar 
(“design”), a primeira coisa a 
fazer é abrir um projeto 
(“Project”) existente ou criar um 
novo projeto. 
 
 
Para criar um novo projeto: 
 
File 
New Project Wizard 
Em seguida, entrar com dados do 
novo projeto (Project name and 
directory; name of top-level 
design entry, etc.) 
 
Para abrir um projeto 
existente: 
 
File 
Open Project... 
Em seguida, escolher o projeto 
no qual se deseja trabalhar 
(arquivo com extensão “qpf” – 
Quartus Project File). 
 
Para criar um novo arquivo de 
entrada de projeto (“design”) 
em VHDL: 
 
File 
New... 
Design Files - VHDL File 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 9 
Experimento de Laboratório – Arquitetura alternativa 
 
O estilo da arquitetura a seguir é denominado comportamental, porque a tabela-verdade 
descreve o comportamento do sistema. No caso da arquitetura anterior, onde osistema é 
descrito através de suas expressões booleanas, a ênfase é na estrutura do sistema e não no seu 
comportamento. Por isso, naquele caso diz-se que o estilo da arquitetura é estrutural. Em 
qualquer caso, cabe ao compilador interpretar adequadamente a descrição e gerar o circuito 
correspondente. 
 
 
 
 
 
entity semaforo_PLD is 
 port 
 ( -- Input ports 
 D, A, B, C : in bit; 
 
 -- Output ports 
 Sa, Sb, Sc : out bit ); 
end semaforo_PLD; 
 
architecture tabela of semaforo_PLD is 
signal entradas : bit_vector(3 downto 0); 
begin 
 entradas <= D&A&B&C; 
 with entradas select 
 Sa <= '0' when "0000", 
 '1' when "0001", 
 '1' when "0010", 
 '1' when "0011", 
 '0' when "0100", 
 '1' when "0101", 
 '0' when "0110", 
 '0' when "0111", 
 '1' when others; 
 with entradas select 
 Sb <= '1' when "0000", 
 '1' when "0001", 
 '0' when "0010", 
 '0' when "0011", 
 '1' when "0100", 
 '1' when "0101", 
 '1' when "0110", 
 '1' when "0111", 
 '1' when others; 
 with entradas select 
 Sc <= '1' when "0000", 
 '0' when "0001", 
 '1' when "0010", 
 '1' when "0011", 
 '1' when "0100", 
 '0' when "0101", 
 '1' when "0110", 
 '1' when "0111", 
 '1' when others; 
end tabela; 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 10 
Salve o arquivo no diretório do projeto (“Project”), com o 
nome semaforo_PLD. O arquivo do projeto (“design”) 
salvo deve ter a extensão “vhd” e precisa ter o mesmo nome 
da entidade (“entity”) do código VHDL. 
 
Antes de efetuar a compilação, certifique-se de que o 
“design” corresponde à entidade de mais alto nível do 
projeto seu “Project”. 
 
Também é necessário, antes de efetuar a compilação, 
definir a família e o nome do dispositivo PLD a ser 
utilizado, ou seja, Cyclone II e EP2C35F672C6, 
respectivamente. 
 
Concluída a compilação, deve-se verificar a existência de 
erros, os quais devem ser corrigidos. Também devem ser 
observadas as mensagens de aviso (“warning”), pois alguns 
desses avisos podem ser de grande importância para o 
projeto. 
 
Por exemplo, o seguinte aviso é de extrema importância: 
Warning: The Reserve All Unused Pins setting has not 
been specified, and will default to 'As output driving 
ground'. 
Quando esse aviso ocorrer, a configuração a seguir 
SEMPRE deverá ser feita: 
 
Assignments 
Device... 
Device and Pin Options 
Unused Pins 
Reserve all unused pins: 
As input tri-stated. 
OK 
 
A especificação de o que deve ser feito com os pinos do 
FPGA não utilizados no nosso projeto é de extrema 
importância para a proteção do kit DE2, já que a maioria 
dos pinos do FPGA já se encontram conectados aos 
recursos da placa. 
 
Sempre que qualquer detalhe do projeto for modificado, é 
obrigatório que ele seja compilado novamente. 
 
 
 
Usando o Quartus II (2) 
 
 
Para definir o dispositivo PLD 
a ser utilizado na 
implementação: 
 
Em geral ,essa definição é feita 
durante a criação do projeto 
(“Project”). Caso a isso não tenha 
ocorrido, ou se for desejável 
alterar o nome do dispositivo, 
deve-se utilizar a seguinte 
sequência de ações: 
 
Assignments 
Device... 
Family: Cyclone II 
Device: EP2C35F672C6 
 
 
 
Para compilar o projeto: 
 
Processing 
Start Compilation 
 
 
 
Para visualizar o circuito 
gerado pelo Quartus II: 
 
Tools 
Netlist viewers 
RTL viewer 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 11 
D
B
C
Sa
Sb
Sc
Sc~1
A
Sa~0
Sb~1
Sa~3
Sa~2
 
Visualização do circuito gerado pelo 
Quartus II: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Vinculação dos pinos de entrada e saída do projeto aos pinos físicos do FPGA 
 
Antes de configurar o FPGA de acordo com o nosso projeto é necessário vincular cada pino 
de entrada ou de saída do projeto a um pino físico do FPGA. Isso é feito através de uma 
ferramenta que faz parte do software Quartus II. 
 
A placa DE2 já tem os seus recursos de entrada e/ou de saída interligados a pinos bem 
definidos do FPGA, conforme consta no Capítulo 4 do documento DE2 User Manual , da 
Altera. 
 
A seguir é apresentada, como exemplo, a tabela que informa qual o pino do FPGA que está 
interligado a cada uma das chaves SW[0] a SW[17] do kit DE2. 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para o presente projeto, utilizaremos os seguintes recursos da placa DE2: 
 
 
Entrada D: chave SW[17] PIN_V2 Para cima: nível lógico alto ("1") 
Entrada A: chave SW[16] PIN_V1 Para cima: nível lógico alto ("1") 
Entrada B: chave SW[15] PIN_U4 Para cima: nível lógico alto ("1") 
Entrada C: chave SW[14] PIN_U3 Para cima: nível lógico alto ("1") 
 
Saída Sa: LED LEDR[16] PIN_AE12 Nível lógico alto ("1"): aceso 
Saída Sb: LED LEDR[15] PIN_AE13 Nível lógico alto ("1"): aceso 
Saída Sc: LED LEDR[14] PIN_AF13 Nível lógico alto ("1"): aceso 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 13 
ATENÇÃO: 
A especificação de o que deve ser feito com 
os pinos do FPGA não utilizados no nosso 
projeto é de extrema importância para a 
proteção do kit DE2, já que a maioria dos 
pinos do FPGA já se encontram conectados 
aos recursos da placa. Portanto, a 
configuração a seguir SEMPRE deverá ser 
feita: 
 
Assignments 
Device... 
Device and Pin Options 
Unused Pins 
Reserve all unused pins: 
As input tri-stated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Não usar pinos dos tipos “GND”, “VCC”, “VREF”, etc. Também não se devem usar pinos 
do tipo “Dedicated Programming”, que se destinam à comunicação com o computador por 
ocasião da configuração do dispositivo. 
 
Após a atribuição de pinos deve-se compilar novamente o projeto. 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 14 
Configuração do FPGA 
 
Na placa DE2, a configuração (“programação”) do FPGA Cyclone II EP2C35F672C6 pode 
ser feita de duas maneiras diferentes: 
 
a) Modo JTAG 
b) Modo AS 
 
Qualquer que seja o modo de configuração (JTAG ou AS), a placa DE2 precisará ser 
conectada, via cabo USB, ao computador onde estiver sendo executado o software Quartus II. 
O uso dessa conexão permitirá que o Quartus II identifique a placa DE2 como um dispositivo 
“Altera USB Blaster”. No Laboratório, SEMPRE deve ser utilizado o modo JTAG. 
 
 
 
Configuração no modo JTAG: 
 
No modo JTAG, o FPGA retém as informações de configuração apenas enquanto a placa 
estiver alimentada. Quando a alimentação é desligada,a configuração é perdida e o FPGA 
precisará ser novamente configurado via Quartus II e cabo USB. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para carregar as informações de configuração no FPGA, siga os seguintes passos: 
 
a) Ligue a alimentação da placa DE2. 
b) Conecte o cabo USB no conector USB Blaster da placa DE2. 
c) Através da chave RUN/PROG, situada do lado esquerdo da placa, configure o circuito 
de programação da placa DE2. No modo JTAG, a chave RUN/PROG deverá ser 
colocada na posição RUN. 
d) O FPGA pode agora ser configurado, utilizando o módulo de programação do Quartus II 
(Tools  Programmer) e selecionando um arquivo de configuração com a extensão 
“sof” (SRAM Object File). 
 
 
 
 
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
Laboratório de Sistemas Digitais 
Guia de Aulas 
Elaborado por: Prof. Dr. Dilmar Malheiros Meira 
 
Domingo, 04/08/2013 – 15h56min Página 15 
Configuração no modo AS (Active Serial): NÃO É UTILIZADO NESTE 
LABORATÓRIO. 
 
No modo AS, os dados de configuração, armazenados no circuito integrado EPCS16, são 
automaticamente carregados no FPGA toda vez que a alimentação da placa DE2 é ligada. 
 
 
 
 
 
 
 
 
 
 
 
Para carregar as informações de configuração no dispositivo de memória EEPROM EPCS16, 
siga os seguintes passos: 
 
a) Ligue a alimentação da placa DE2. 
b) Conecte o cabo USB no conector USB Blaster da placa DE2. 
c) Através da chave RUN/PROG, situada do lado esquerdo da placa, configure o circuito de 
programação da placa DE2. No modo AS, a chave RUN/PROG deverá ser colocada na 
posição PROG. 
d) O FPGA pode agora ser configurado, utilizando o módulo de programação do Quartus II 
(Tools  Programmer) e selecionando um arquivo de configuração com a extensão “pof” 
(Programmer Object File). 
e) Assim que a operação de configuração for concluída, retorne a chave RUN/PROG para a 
posição RUN e reinicialize a placa DE2 (desligue e ligue novamente sua alimentação). 
Essa ação permitirá que os novos dados de configuração, armazenados no dispositivo de 
memória EPCS16, sejam automaticamente carregados no chip FPGA. 
 
 
Exercício individual para casa 
 
Projete o circuito de um conversor de código que possui 4 bits de entrada, codificados em 
BCD, e sete bits de saída, codificados no código “7 segmentos”. O código “7 segmentos” é 
utilizado para acender sete segmentos de um display, segundo o caractere cuja representação 
é desejada. 
Veja abaixo a apresentação dos números de 0 a 9 em um display de 7 segmentos e a 
identificação de cada segmento. 
 
 
 
Inicie seu trabalho pela construção da tabela verdade.

Outros materiais

Outros materiais