Guia do Laboratório 3
Transcrição
Guia do Laboratório 3
Circuitos Lógicos – Prof. José Maurício Neto Guia de Laboratório 03 – MUX no Quartus II Aluno: _________________________________________ Matrícula:_________________ REQUISITOS Compreensão de multiplexadores e demultiplexadores. Conhecimento da ferramenta Altera Quartus II. OBJETIVO Este experimento tem por objetivo familiarizar o aluno com a técnica HDL de projeto de sistemas digitais e com suas ferramentas de projeto: a linguagem de descrição de hardware Verilog, a placa DE2 e o software de síntese Quartus II. INTRODUÇÃO A complexidade crescente dos sistemas digitais levou os projetistas a buscar alternativas para o processo de desenvolvimento destes sistemas uma vez que projetos no nível de portas lógicas tornaram-se inviáveis. Dentre as causas para a inviabilidade encontram-se: o atraso global introduzido pelas portas, o tamanho do layout físico, o elevado consumo do sistema e a necessidade de construir protótipos para testes. A solução encontrada foi a utilização da lógica programável. Esta é uma técnica que consiste em programar um dispositivo de caráter geral, que contém internamente milhares de portas lógicas, de modo a implementar uma funcionalidade. Existem vários tipos de dispositivos lógicos programáveis (PLD): PLA, PAL, CPLD e FPGA. 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 de 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 1 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; 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; Figura 2 – Tela de inicialização do Quartus II. 2. Na tela inicial do Quartus II (Figura 3) clique na opção File > New Project Wizard; 3. Uma nova janela surgirá (Figura 04), clique no botão “NEXT”. Figura 3 – Tela inicial do Quartus II. Figura 4 – Tela inicial do Wizard de criação de novo projeto. 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. 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 esquemático. Por exemplo, no experimento estaremos criando o módulo lab_mux, então observe que tanto o nome do projeto (segundo campo) quanto o nome do módulo “top-level” (terceiro campo) foram assim denominados; 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 clicando no botão “NEXT”; Figura 6 – Janela para adição de arquivos ao projeto. 7. Na janela seguinte, selecione a família de dispositivos “Cyclone II”, Em Pin Count selecionar 672, em Speed Grade selecionar 6, e o dispositivo “EP2C35F672C6”, como indicado na Figura 7. Para finalizar clique no botão “NEXT”; Figura 7 – Seleção de família de dispositivo e dispositivo. 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 àquele indicado no passo 4, que em nosso caso corresponde a “lab_mux”; 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 > Block Diagram/Schematic File”. Ao selecionar esta opção você estará adicionando ao projeto um arquivo de descrição, no qual você editará, usando as portas lógicas, 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. a. Colocar componentes clicando em Symbol Tool (porta and) na barra de ferramentas. Os símbolos mais simples podem ser localizados sob primitives. Muitos circuitos da família 7400 podem ser encontrados sob max2plus. b. 90°). Colocar fios clicando em Orthogonal Node Tool (linha fina em ângulo de c. Marcar entradas e saídas do circuito com Pin Tool (caixas in ao lado do botão Symbol Tool). Definir nomes para cada pino, sempre sem espaços nem acentos. d. Construa um circuito multiplexador 8:1 a partir de multiplexadores 4:1. Use o bloco MUX41 do quartus, conectando o sinal INH ao terra. Utilize S2-S0 como seletores, X7-X0 como entradas, e Y como saída. Figura 9 – Janela para seleção do tipo de arquivo que será acrescentado ao projeto. Figura 10 – Janela de edição do circuito lógico. 13. Salvar como lab_mux.bdf (igual ao Top-Level Design Entity), compilar o esquemático e corrigir quaisquer erros existentes. Para compilar o projeto use a opção Processing> Start compilation. 14. Após a verificação do projeto, é necessário criar um arquivo de estímulos para o circuito projetado. Este arquivo simula possíveis entradas para o circuito e gera uma saída mediante os estímulos aplicados. A observação destes sinais é realizada por meio de um diagrama de tempo. 15. Criar um novo arquivo de estímulos de simulação (Figura 11): a) Selecionar File → New → Verification/Debugging Files → University Program VWF. b) Definir o tempo final em 40us (Edit → End Time). c) Definir a grade em 5us (Edit → Grid Size). Figura 11 – Janela para geração dos sinais de entrada/saída. 16. Após a criação do arquivo de estímulos é necessário importar do esquemático as estruturas de entrada e saída: a) Selecionar Edit → Insert → Insert Node or Bus. b) Na janela Insert Node or Bus clicar em Node Finder. c) Na janela Node Finder, em Filter selecionar Pins: all, e clicar em List. d) Selecionar todos os sinais clicando em >>. e) Clicar em OK para fechar Node Finder. f) Clicar em OK para fechar Insert Node or Bus. 17. Para criar os sinais de excitação é necessário selecionar a estrutura a qual o sinal deve ser associado. Esta seleção é feita clicando no nome atribuído a cada estrutura. Após selecionar a estrutura deve-se definir o sinal: Edit → Value → Overwrite Clock. preenchendo com os parâmetros da Tabela I. Note que Y é um sinal de saída, portanto não necessita configuração. Salvar o arquivo como lab_mux.vwf. Tabela I - Estímulos a serem aplicados. 18. Ainda no editor de estímulos, selecionar e executar o simulador simplificado. a) Selecionar Simulation → Options → Quartus II Simulator. b) Selecionar Simulation → Run Functional Simulation. 19. O procedimento anterior é responsável por realizar uma simulação do funcionamento do circuito utilizando como entradas os estímulos definidos. Para verificar se o circuito projetado funciona no "mundo real" deve-se exporta-lo para a placa Altera DE2. Para isso, é necessário associar as entradas e saídas do circuito com pinos do FPGA. Este procedimento é realizado da seguinte forma: a) Inicialmente, localizar na internet o manual da placa de desenvolvimento ALTERA DE2. (http://www.cear.ufpb.br/~mauricio/wp-content/uploads/2015/04/DE2_UserManual.pdf) b) Localize no manual da placa qual o nome do pino associado a cada componente da Tabela I, completando-a. Dica: No manual a chave SW17 é referenciada por SW[17], e o quinto led vermelho é referenciado por LEDR[4]. c) Selecionar Assignments → Pin Planner para abrir a janela de associação. d) Associar cada sinal do esquemático ao pino correspondente na placa, conforme levantado anteriormente dando um duplo clique sobre a posição Location de cada linha. 20. Para realizar a gravação, ligar a placa e 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 “lab_mux.sof” e a interface de gravação “USB-Blaster (USB-0)”, no Modo JTAG. Note que a interface só será indicada na tela de gravação se a placa DE2 estiver conectada à porta USB e ligada. Clique no botão Start. Figura 12 – Janela de gravação de descrição no dispositivo FPGA. 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.