Exercícios de Laboratório 1

Documentos relacionados
Exercícios de Laboratório 2

Exercícios de Laboratório 3

Lab Verilog Chaves, LEDs e Multiplexadores

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Circuito de Recepção Serial Assíncrona

Desenvolvimento com a placa Altera DE1 Prof. Rodrigo de Paula Rodrigues

Desenvolvimento com a placa Altera DE2 Prof. Rodrigo de Paula Rodrigues

Laboratório de Eletrônica Digital Tutorial Quartus II (Procedimentos para Criação e Simulação de Projetos Digitais)

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Banco de Registradores e ULA

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Circuito Hierárquico

Multiplicador Binário com Sinal

Manual do Usuário Brother Meter Read Tool

Usando o programa Altera Monitor

Projeto de Lógica Combinatória

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Introdução ao Altera DE2. Edson Midorikawa

Projeto com Linguagens de Descrição de Hardware

Banco de Registradores

CONTROLE DE UM SERVO MOTOR

Projeto com Dispositivos Programáveis

Plano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL

Introdução ao Laboratório Digital

ESPECIFICAÇÃO DO PROJETO (Segunda Unidade)

Introdução ao Laboratório Digital

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

ESPECIFICAÇÃO DO PROJETO (Segunda Unidade)

EPUSP PCS 2308 Laboratório Digital. Trena Digital

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

Introdução ao Projeto de Circuitos com Altera DE2. Edson Midorikawa. Setembro/2012. Altera DE2

Relatório Circuitos Lógicos. Calculadora 4 bits

Usar segmentações de dados para filtrar dados de Tabela Dinâmica

Interface com Sensor Ultrassônico de Distância

Milestone Systems. Aba Consulta rápida: Ativar licenças para os produtos XProtect VMS 2018 R3. XProtect Professional e XProtect Express

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Comunicação Serial Assíncrona

Tutorial para criação de circuitos digitais utilizando diagrama esquemático no Quartus Prime 16.1

Prática 2 Implementação de Circuitos Lógicos em FPGA

Projetos de Circuitos Digitais em VHDL e FPGA

Familiarização e Interface com Modem

Calculadora Simples em VHDL

Circuito de Aritmética Decimal

Bem-vindo ao Picture Package Producer2

Tutorial para Acesso Portal dos Conselheiros

LABORATÓRIO DE CIRCUITOS DIGITAIS. PREPARAÇÃO 04: Circuitos Combinacionais Decodificadores

Curso FFI Microprocessadores I

364 SISTEMAS DIGITAIS

1 Objetivos. 2 Material utilizado. 3 Normas de segurança e conduta no laboratório. 4 Contextualização. Pág 1/6

ELETRÔNICA DIGITAL I

MultiBoot (Multi-inicialização) Guia do Usuário

ROTEIRO 1 INTRODUÇÃO AO QUARTUS II

LAB04 Circuitos digitais combinacionais: descodificadores, multiplexers, demultiplexers, e codificadores i

Projeto de CI Semidedicados

Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Sistemas Eletrônicos - PSI. PSI Projeto de Sistemas Integrados

Câmera DS-2CD2620F-IZS

Tutorial para uso da área do professor

Circuito Decodificador BCD para Display de Sete Segmentos

Passo 3: Preparando-se para a criação de seu vídeo de curta duração/apresentação de slides

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Multiplexador / Demultiplexador UFJF FABRICIO CAMPOS

1 Práticas de Laboratório Construindo um Circuito TTL (Transistor-Transistor Logic) Introdução a ferramenta EDA Quartus II

Projeto e Implementação de um Fatorial em Hardware para Dispositivos Reconfiguráveis

CIRCUITOS DIGITAIS. Circuitos Combinacionais e Técnicas de Simplificação

Circuitos Combinacionais

DECODIFICADORES. Capítulo 5

Desenvolvimento de um Circuito Complexo

Bem-vindo ao tópico sobre procedimentos de autorização no SAP Business One.

Adendo do cliente usuário para a Disposição na largura total Xerox EX Print Server, Powered by Fiery para Xerox Color 800/1000 Press, versão 2.

Processador nanopcs-4

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

Sistemas Operacionais de Tempo Real Displays de 7 segmentos

Disciplina: Laboratório de Circuitos Digitais

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

Circuito combinacional

Modem e Rede Local Guia do Usuário

APRESENTAÇÃO DO KIT CPLD_EE01

UM PROCESSADOR SIMPLES

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

Apostila de Windows Movie Maker

Referência =SOMA(C20:C30) =SOMA(VendasDoPrimeiroTrimestre) Constante =PRODUTO(A5,8.3) =PRODUTO (Preço,ImpostoSobreVendasDeWA)

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)

Manual de utilização Módulo TCP/IP MTCP-4E4S

Matriz Vídeo Componente & Áudio Estéreo & RS x 8 TRANSCORTEC STATUS OUTPUT 2 INPUT

Packet Tracer - Navegando no IOS

PASSO A PASSO COMO CRIAR UM NOVO PROJETO EM SCHEMATIC NO SOFTWARE QUARTUS II CYCLONE IV

Sistemas Digitais Módulo 9 Multiplexadores e Demultiplexadores


SharePoint Online. Pesquisar Encontre Sites, Pessoas ou Arquivos. Criar um site ou postagem de notícias

HydroGraph Software. Manual do Usuário. Remote Operation

Novos recursos da PR-650 Versão 2 PT

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Transcrição:

Tradução do Laboratory Exercise 1 disponível em <http://www.altera.com/education/univ/materials/digital_logic/labs/unv-labs.html> Exercícios de Laboratório 1 Switches (chaves), Luzes (LEDs) e Multiplexadores O objetivo desse exercício é aprender como conectar dispositivos de entrada e saída simples no chip do FPGA e implementar circuitos que usem esses dispositivos. Nos vamos usar as chaves SW 17-0 na placa DE2 como entradas para o circuito. Os LEDs e os displays de sete segmentos funcionarão como dispositivos de saída. Parte I A DE2 possui 18 chaves, nomeadas SW 17-0, que podem ser usadas como entradas para circuitos, e 18 LEDs vermelhos, nomeados LEDR 17-0, que podem ser usados para mostrar valores de saídas. A Figura 1 mostra uma entidade simples em VHDL que usa os LEDs vermelhos para mostrar o estado das chaves. Como existem LEDs vermelhos na mesma quantidade das chaves, é conveniente representarmos vetores utilizando os mesmos, como mostrado. Usamos atribuições simples para as 18 saídas (nos LEDs vermelhos), o que equivale as seguintes atribuições individuais A DE2 tem conexões hardwired entre o chip FPGA e as luzes e chaves. Para usar SW 17-0 e LEDR 17-0 é necessários incluir no projeto do Quartus II o mapeamento correto dos pinos, fornecido no Manual de Usuário da DE2. Por exemplo, o manual especifica que o SW0 está conectado ao pino 25 do chip FPGA e o LEDR0 está ao pino AE23. Uma boa maneira de fazer as associações de pinos é importar o arquivo chamado DE2_pin_assignments.csv, que é fornecido no CD que acompanha a placa (DE2 Systems CD) ou na seção do programa universitário no site da Altera. O procedimento para fazer as associações é descrito no tutorial Quartus II Introduction using VHDL Design (Introdução ao Quartus II usando VHDL), que também pode ser encontrado no site da Altera. É importante entender que o arquivo de associação de pinos é útil somente se os nomes utilizados nas entidades VHDL forem exatamente os mesmos que constam em tal arquivo. O arquivos usa os nomes SW[0]...SW[17] e LEDR[0]...SW[17] para as chaves e luzes, sendo essa a razão de usarmos esses nomes na entidade da Figura 1 (note que o Quartus II usa "[]" chaves para elementos de um vetor enquanto a sintaxe de vetores em VHDL usa "()" parênteses).

Figura 1. Código VHDL que usa chaves e LEDs da DE2. Execute os passos abaixo para implementar um circuito correspondente ao código na Figura 1 na DE2. 1. Crie um novo projeto no Quartus II. Selecione o chip Cyclone II EP2C35F672C6, o qual é o chip FPGA presente na DE2. 2. Em seu projeto, crie uma entidade VHDL e digite o código da Figura 1. 3. Inclua o arquivo de associação de pinos em seu projeto. Compile o projeto. 4. Carregue o projeto compilado no chip FPGA. Teste o funcionamento do circuito mudando a posição das chaves. Parte II A Figura 2a mostra um circuito multiplexador 2-para-1 com um seletor de entrada s. Se s=0 a saída do multiplexador será igual a x (m=x); se s=1, igual a y (m=y). A Figura 2b mostra a tabela verdade do circuito, e 2c mostra a simbologia do mesmo. Figura 2. Multiplexador 2-para-1 O multiplexador pode ser descrito (em VHDL) da seguinte forma: Agora escreva uma entidade VHDL que inclua oito atribuições como as usadas anteriormente para descrever o circuito da Figura 3a. Esse circuito terá duas entradas de oito bits, X e Y, e produzirá uma saída M, também de oito bits. Se s=0, M=X; se s=1, M=Y. Nós nos referimos a esse circuito como um multiplexador de oito bits de largura. A Figura 3b mostra a simbologia do multiplexador citado, no qual X, Y e M são identificados como conexões de 8bits. Execute os passos a seguir:

Figura 3. Multiplexador 2-para-1 com 8bits de largura 1. Crie um novo projeto no Quartus. 2. Inclua o arquivo do multiplexador de 8bits no projeto. Use a chave SW17 como s, as chaves SW 7-0 como X e SW 15-8 com Y. Conecte as chaves SW aos LEDRs e a saída M aos LEDG 7-0. 3. Inclua o arquivo de associação de pinos no seu projeto. Como foi discutido na Parte I, garantem que sejam usados os pinos certos do chip FPGA da DE2, garantindo a correta conexão das chaves e LEDs utilizados no projeto. 4. Compile o projeto. 5. Carregue o circuito compilado no chip FPGA. Teste a funcionalidade do multiplexador de oito bits mudando a posição das chaves e observe as mudanças nos LEDs. Parte III Na Figura 2 nós mostramos o multiplexador 2-para-1, que seleciona entre duas entrados x e y. Para essa etapa, considere que o circuito com saída m deve selecionar entre cinco saídas diferentes u, v, w, x, e y. A parte a da figura 4 mostra como podemos descrever um multiplexador 5-para-1 usando quatro multiplexadores 2-para1. O circuito usa um seletor de 3 bits s2s1s0 e implementa a tabela verdade mostrada na Figura 4b. A parte c da mesma figura mostra a simbologia do circuito. Relembre [da Figura 3] que um multiplexador 2-para-1 de oito bits de largura pode ser implementado usando-se instâncias de um multiplexador 2-para-1 simples. A Figura 5 aplica esse conceito para definir um multiplexador 5-para-1 de três bits de largura, o qual contém três instâncias do circuito da Figura 4a.

Figura 4. Multiplexador 5-para-1 Parte IV Figura 5. Multiplexador 5-para-1 com seletor de 3 bits Execute os seguintes passos para implementar o multiplexador 5-para-1 de três bits de largura. 1. Crie um novo projeto no Quartus II. 2. Crie uma entidade VHDL para o multiplexador a ser criado. Conecte a entrada de seleção às chaves SW 17-15 e use o restante das chaves para criar cinco entradas de 3bits cada (entradas U até Y). Conecte as chaves aos LEDs vermelhos e a saída M a três LEDs verdes. 3. Inclua o arquivo de associação de pinos no seu projeto. 4. Carregue o projeto compilado no FPGA. Teste a funcionalidade do novo circuito mudando a posição das chaves e observe a saída nos LEDs. A Figura 6 mostra um módulo decodificador para um display de 7 segmentos que tem uma entrada de 3bits c2c1c0. Esse decodificador produz sete saídas, as quais são usadas para mostrar um caractere no display de 7 segmentos. A Tabela 1 lista os caracteres que devem ser

mostrados para cada valos da entrada c2c1c0. Para manter a simplicidade, somente quatro caracteres são incluídos na tabela (mais o caractere "branco", os quais são selecionados com os códigos 100-111). O display de 7 segmentos é identificados pelo índices de 0 a 6 mostrado na figura abaixo. Cada segmento é iluminado se o valor lógico 0 for atribuído ao mesmo. Você deve escrever uma entidade que implemente que represente os funções lógicas necessárias para ativar cada um dos sete segmentos. Use somente atribuições simples para especificar cada expressão booleana usada nas funções lógicas. Figura 6. Decodificador de 7 segmentos. Tabela 1. Códigos de caracteres. Execute os passos seguintes: 1. Crie um novo projeto no Quartus II para o novo circuito. 2. Crie uma entidade para o decodificador de 7 segmentos. Conecte c2c1c0 às chaves SW 2-0 e conecte as saídas do decodificador no HEX0 para ser mostrado na DE2. Os segmentos do display são chamados HEX0 0, HEX0 1,..., HEX0 6, de acordo com a Figura 6. Você deve declarar uma porta de 7bits no seu código para que os pinos sejam associados corretamente. 3. Compile o projeto. 4. Carregue o circuito criado no FPGA. Teste o circuito alterando a posição das chaves SW 2-0 e observe o display de 7 segmentos. Parte V Considere o circuito mostrado na Figura 7. Ele usa o multiplexador 5-para-1 de três bits de largura para habilitar a seleção de cinco caracteres H, E, L, O e "branco". O código dos caracteres estão na Tabela 1, usando as chaves SW14-0 para inseri-los e usando as chaves SW 17-15 para especificar o display que vai exibi-lo. Um rascunho de código que representa o circuito é mostrado na figura 8. Note que usamos os circuitos criados nas parte II e IV como módulos (ou subcircuitos). Você deverá estender o código da figura 8 para que possamos usar cinco displays de 7 segmentos ao invés de somente um. Você vai precisar de cinco instâncias para cada módulo. O propósito do circuito final é mostrar uma palavra utilizando os cinco displays compostos de caracteres da Tabela 1 e poder rotacionar a palavra de forma circular, movendo as letras através de dos cinco displays quando a posição das chaves SW 17-15 for alterada. Como exemplo, se a palavra a ser mostrada for HELLO, o circuito deverá criar os padrões de saída mostrados na Tabela 2.

Figura 7. Circuito que pode selecionar e exibir cinco caracteres. Figura 8. Código VHDL para o circuito da Figura 7. Tabela 2. Rotação da palavra HELLO em cinco displays. Execute os passos seguintes.

1. Crie um novo projeto no Quartus II. 2. Inclua sua entidade no projeto. Conecte as chaves SW 17-15 no seletor de cada instância do multiplexador 5-para-1 de três bits de largura. Também conecte SW 14-0 em cada instância dos multiplexadores para que seja possível criar os padrões de caracteres mostrados na Tabela 2. Conecte as saídas dos cinco multiplexadores aos displays de 7 segmentos HEX4, HEX3, HEX2, HEX1 e HEX0. 3. Inclua o arquivo de associação de pinos e compile o projeto. 4. Carregue o projeto compilado no FPGA e teste o novo circuito alterando a posição das chaves SW 14-0 para selecionar o padrão de caracteres e das chaves SW 17-15 para ver a rotação da palavra. Parte VI Estenda seu circuito criado na Parte V para que todos os displays de 7 segmentos sejam utilizados. Seu circuito deve ser capaz de mostrar palavras com até cinco caracteres nos oito displays, e rotacionar a palavra que está sendo exibida quando o padrão das chaves SW 17-15 for alterado. Se a palavra é HELLO, então seu circuito deve produzir os padrões mostrados na Tabela 3. Siga os passos seguintes: Tabela 3. Rotação da palavra HELLO em oito displays. 1. Crie um novo projeto no Quartus II. 2. Inclua sua entidade no projeto. Conecte as chaves SW 17-15 nos seletores de cada instância dos multiplexadores em seu projeto. Conecte também as chaves SW 14-0 em cada instância dos multiplexadores para que possam ser produzidos os padrões de caracteres mostrados na Tabela. (Dica: para algumas entradas dos multiplexadores você irá desejar selecionar o caractere "branco".) Conecte as saídas dos multiplexadores aos displays HEX7,..., HEX0. 3. Inclua o arquivo de associações de pinos e compile seu projeto. 4. Carregue o projeto no FPGA. Teste a funcionalidade do circuito selecionando a posição das chaves SW 14-0 na sequência correta e alterando SW 17-15 para observar a rotação da palavra.