Apresentação dos recursos da placa DE2 e do
software de Síntese Quartus II.
OBJETIVO
Este experimento tem por objetivo familiarizar o aluno com software de síntese Quartus II e a placa DE2
INTRODUÇÃO
Placa de desenvolvimento DE2:
Para a realização dos experimentos utilizaremos a placa de desenvolvimento Altera DE2 –
Development and Education Board – fabricada pela Altera® (www.altera.com).
Esta placa foi desenvolvida pelo fabricante Altera com o propósito de apoiar a capacitação de estudantes universitários e/ou de cursos técnicos no desenvolvimento circuitos digitais. A placa DE2 é utilizada em diversos países, em cursos de Arquitetura de Computadores e Projeto de Circuitos Lógicos Digitais. A Figura 01 ilustra uma foto da placa de desenvolvimento.
A placa DE2 é equipada com os seguintes dispositivos: FPGA Altera Cyclone® II 2C35;
Dispositivo de configuração serial Altera – EPCS16;
USB Blaster (on board) – usada para a programação da placa; Memórias: SRAM 512-Kbyte, SDRAM 8-Mbyte, Flash 4-Mbyte; Interface para SD Card;
8 displays de 7 segmentos; Display LCD 16x2; 4 botões seletores; 18 chaves bipolares; 18 leds vermelhos; 9 leds verdes;
Osciladores de 50 e 27-MHz, que podem ser usados como clock; CODEC de áudio de 24-bits, com qualidade de CD;
Entrada e saída de som e microfone;
Interface VGA – conversor digital-analógico (10-bit high-speed); TV Decoder (NTSC/PAL) e entrada para TV;
Barramento 10/100 Ethernet;
Interfaces USB Host/Slave, tipo A e B; Interface serial RS-232 (DB-9);
Interface PS/2 para mouse/teclado;
MÓDULO
Interface infravermelho IrDA;
Dois barramentos de expansão com 40 pinos.
Figura 1 – Placa de Desenvolvimento Altera DE2 Software de síntese lógica Quartus II:
Para utilizar a placa DE2, é necessário programá-la utilizando a ferramenta de síntese lógica fornecida pelo fabricante do dispositivo escolhido para o projeto. Neste experimento a ferramenta é o Quartus II da Altera. Essa ferramenta além de programar a placa, permite a depuração de erros na descrição Verilog, a simulação do projeto, entre outras funcionalidades.
PROCEDIMENTO EXPERIMENTAL
Experimento 01 – Implementação do módulo Mod_Teste
Objetivo: Ilustrar o uso do software Quartus II e da placa DE2, familiarizando o aluno com o uso dos recursos de chaves, botões, leds e Display de 7 segmentos disponíveis na placa Procedimento para edição, compilação e reconfiguração de FPGA usando o Quartus II: 1. Inicie o aplicativo Quartus II que aparece no Desktop do seu PC. Ao ser executado, a
tela mostrada na figura 2 é apresentada. Feche a janela “Getting Started”, clicando no “X” no canto superior direito da mesma;
2. Ao fechar a janela “Getting Started”, você terá acesso a tela inicial do Quartus II (Figura 3) clique na opção File > New Project Wizard;
Figura 2 – Tela de inicialização do Quartus II. 3. Uma nova janela surgirá (Figura 04), clique no botão “NEXT”.
4. Na janela apresentada na figura 5, deve ser selecionado o diretório onde o projeto será gravado, o nome do mesmo, bem como o nome do módulo que será criado no arquivo .v (arquivo Verilog). Observe que o nome indicado no terceiro campo da janela (campo inferior), deverá coincidir com o nome do módulo mais externo criado no arquivo de descrição Verilog. Por exemplo, experimento estaremos criando o módulo Mod_Teste, então observe que tanto o nome do projeto (segundo campo) quanto o nome do módulo “top-level” (terceiro campo) foram assim denominados;
Figura 4 – Tela inicial do Wizard de criação de novo projeto. 5. Para seguir, clique no botão “NEXT”;
Figura 5 – Seleção de diretório, nome do novo projeto e nome do módulo verilog. 6. Na tela seguinte, figura 6, não é necessário nenhum preenchimento, apenas prossiga
Figura 6 – Janela para adição de arquivos ao projeto.
7. Na janela seguinte, selecione a família de dispositivos “Cyclone II” e o dispositivo “EP2C35F672C6”, como indicado na figura 7. Para finalizar clique no botão “NEXT”;
8. Na janela seguinte, apenas clique no botão NEXT para seguir para a janela de finalização. Na janela de finalização clique no botão “FINISH”;
9. Na janela aberta após a conclusão do Wizard de criação do projeto, mostrada na figura 8, percebe-se o sucesso na criação, como observado na indicação pelo círculo vermelho na figura. O nome deverá corresponder aquele indicado no passo 4, que em nosso caso corresponde a “Mod_Teste”;
Figura 8 – Tela do projeto Mod_Teste.
10. Selecione no menu a opção “File > New”. Será apresentada a janela mostrada na figura 9;
11. Selecione a opção “Design Files > Verilog HDL File”. Ao selecionar esta opção você estará adicionando ao projeto um arquivo de descrição, no qual você editará, usando a linguagem Verilog, a descrição do hardware que será implementada pelo FPGA. Após selecionar a opção, clique no botão “OK”;
12. Na tela do Quartus II será aberta uma janela de edição, conforme indicado na figura 10. Nesta janela digite a descrição de hardware do módulo “Mod_Teste”(descrição após a figura 10). Este módulo não apresenta nenhuma funcionalidade, apenas disponibiliza acesso aos recursos de entrada e saída da placa DE2. As denominações utilizadas nesse módulo, como por exemplo: SW, estão definidas em uma planilha Excel, onde nesta, é realizada a correlação entre o nome da chave e os respectivo pinos do dispositivo FPGA, aos quais estão ligados os botões, chaves, led’s, display’s, etc, fisicamente;
Figura 9 – Janela para seleção do tipo de arquivo que será acrescentado ao projeto.
Figura 10 – Janela de edição da descriçãoVerilog. //
// ---// module Mod_Teste ( //////////////////// Fonte de Clock //////////////////// CLOCK_27, // 27 MHz CLOCK_50, // 50 MHz //////////////////// Push Button //////////////////// KEY, // Pushbutton[3:0] //////////////////// Chaves DPDT //////////////////// SW, // Toggle Switch[17:0] //////////////////// Display de 7-SEG //////////////////// HEX0, // Display 0 HEX1, // Display 1 HEX2, // Display 2 HEX3, // Display 3 HEX4, // Display 4 HEX5, // Display 5 HEX6, // Display 6 HEX7, // Display 7 //////////////////////// LED ////////////////////////
LEDG, // LED Green[8:0]
LEDR, // LED Red[17:0]
); input CLOCK_27; input CLOCK_50; input [3:0] KEY; input [17:0] SW; output [6:0] HEX0; output [6:0] HEX1; output [6:0] HEX2; output [6:0] HEX3; output [6:0] HEX4; output [6:0] HEX5; output [6:0] HEX6; output [6:0] HEX7; output [7:0] LEDG; output [17:0] LEDR; // ---// Trecho para instanciação de módulos e interligação entre os mesmos // ---// Liga todos os segmentos dos Displays de 7-segmento
assign HEX0 = 7'h00; assign HEX1 = 7'h00; assign HEX2 = 7'h00; assign HEX3 = 7'h00; assign HEX4 = 7'h00; assign HEX5 = 7'h00; assign HEX6 = 7'h00; assign HEX7 = 7'h00;
// Ativa todos os leds verdes e vermelhos
assign LEDG = 9'h1FF;
assign LEDR = 18'h3FFFF;
endmodule
13. Salve o arquivo que foi criado clicando no botão de salvar ou selecionando a opção
“File > Save” . Ao solicitar o salvamento do arquivo, será apresentada a tela mostrada
na figura 11. Certifique-se de que o diretório onde o arquivo está sendo salvo é o do projeto e que o nome do arquivo corresponde ao nome do módulo “top-level”, da descrição editada. Neste exemplo o nome do arquivo será “Mod_Teste.v”;
14. Após salvar, o projeto pode ser compilado, usando o botão , ou selecionado a opção
“Processing > Start Compilation”. Caso nenhum erro tenha sido cometido, após a
compilação terá sido criado o arquivo “Mod_Teste.sof”, que contém a descrição no formato para gravação no dispositivo FPGA;
15. Para realizar a gravação, basta clicar no botão ou selecionar a opção “Tools >
Programmer”. Será apresentada a tela mostrada na figura 12, onde pode-se observar a
indicação do arquivo a ser gravado “Mod_Teste.sof” e a interface de gravação “USB-Blaster (USB-0)”. Note que a interface só será indicada na tela de gravação se a placa DE2 estiver conectada a porta USB e ligada;
Figura 12 – Janela de gravação de descrição no dispositivo FPGA. Tarefa 1 – Conexão de chaves e botões a LED’s e Displays de 7 segmentos.
Objetivo: Apresentar a forma de descrever a conexão de portas de entradas e portas de saída de um módulo, a partir dos recursos da placa DE2
O display de 7 segmentos possibilita escrever números decimais de 0 a 9 e alguns outros símbolos que podem ser letras ou sinais. A Figura 13 representa uma unidade do display genérica, com a numeração de identificação dos segmentos.
Figura 13 – Representação de um display de 7 segmentos
A placa DE2 é constituída de 8 displays de 7 segmentos do tipo anodo comum, um nível lógico alto representa um segmento apagado e um nível lógico baixo representa um segmento aceso.
O trecho de descrição a seguir indica uma conexão entre a chave 0 e o led verde 0 da placa DE2. Observe que os botões, chaves, led’s e display’s são definidos como vetores, onde SW[0], corresponde a chave 0 e LEDG[0], corresponde ao LED Verde 0.
/*--- interligação Chave 0 Led Verde 0 ---*/
assign LEDG[0] = SW[0];
A partir do exemplo acima elabore uma descrição que realize as seguintes conexões: a) Botões de 0 a 3 conectados aos Led’s verdes de 0 a 3;
b) Chaves de 0 a 10, conectadas aos Led’s vermelhos de 0 a 10;
c) Chaves de 11 a 17 conectadas aos seguimentos do Display de 7 segmentos 0, na seguinte sequência: HEX0[0] = SW[11], HEX0[1] = SW[12] e sucessivamente.
REFERÊNCIAS BIBLIOGRAFICAS
Tutorial: Quartus II Introduction Using Verilog Design – Altera ®;
Elementos de Eletrônica Digital – I.V. Idoeta, F.C. Capuano – Editora Érica, 2003; Verilog HDL Synthesis – J. Bhasker – Star Galaxy Publishing, 1998;
Altera Website – http://www.altera.com, acessado em 18/07/2008;
Apostila: Projeto de Sistemas Digitais na Atualidade – UFPB/CCT/DEE - A. Scaico, 2000.