Exercícios de Laboratório 3

Documentos relacionados
Exercícios de Laboratório 2

Exercícios de Laboratório 1

Introdução VHDL Parte 4 - Testbench

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

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

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)

Exercícios de Fixação

Projeto com Linguagens de Descrição de Hardware

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Laboratório sobre Implementação de Sistemas Digitais com VHDL Multiplicação por somas sucessivas

Calculadora Simples em VHDL

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

Fundamentos de sistemas digitais. Test-bench. prof. Dr. Edson Ifarraguirre Moreno

AULA 5 Aplicação com divisor de freqüência com o CI Livro Texto pág.197 a 200.

Tipos enumerados definem uma lista de valores, e são especialmente úteis na

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

PRÁTICAS PARA DESENVOLVIMENTO DE PROTÓTIPOS DE CIRCUITOS DIGITAIS COM O KIT EDUCACIONAL DE2

Eletrônica Digital para Instrumentação. Herman Lima Jr.

low): Descreve o que o sistema deve fazer utilizando expressões lógicas.

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE

Latches e Flip-Flops. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Prof. Leonardo Augusto Casillo

FPGA & VHDL. Tutorial

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE

Lógica Reconfigurável

VHDL é uma linguagem bastante complexa!

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

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

CIRCUITOS SEQUENCIAIS (Unidade 5)

VHDL Circuitos Combinacionais

VHDL é uma linguagem bastante complexa!

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

CIRCUITOS SEQUENCIAIS parte 1

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

Arquitetura de Computadores

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

Aula 12. Flip-Flop Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba

Circuito de Recepção Serial Assíncrona

Exercícios Referentes à Prova P2

SIMULAÇÃO DE CIRCUITOS

Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas.

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

FSM em VHDL e Verificação Funcional. CMP de junho de 2006

Organização e Arquitetura de Computadores II

Módulo 4 Introdução ao VHDL

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Aula 2 Semântica de VHDL

Lab Verilog Chaves, LEDs e Multiplexadores

SIMULAÇÃO DE CIRCUITOS

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

LABORG. VHDL Máquina de estados finitos

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

Representação de Informação. 1. Converta cada um dos seguintes números para o seu equivalente decimal: a)

2. FLIP FLOP tipo D síncrono borda de descida e com entradas assíncronas preset e clear. PRE Q n F/F CLR

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

Sistemas Digitais (SD) Lógica Programável

Tutorial para criação de circuitos digitais em VHDL no Quartus Prime 16.1

Biestáveis R S, J K e D

ROTEIRO 1 INTRODUÇÃO AO QUARTUS II

Introdução. VHDL: VHSIC Hardware Description Language. Origem: VHSIC: Very High Speed Integrated Circuits. Departamento de Defesa EUA

Demonstração de imagens de auxílio didático. VHDL - Descrição e Síntese de Circuitos Digitais Roberto d Amore

Projeto de Circuito Combinacional

Transcrição:

Tradução do Laboratory Exercise 3 disponível em <http://www.altera.com/education/univ/materials/digital_logic/labs/unv-labs.html> Exercícios de Laboratório 3 Latches, Flip-Flops e Registradores Este exercício tem como finalidade investigar o funcionamento de latches, flip-flops e registradores. Parte I Os FPGAs da Altera têm flip-flops dedicados que podem ser usados para implementar circuitos. Nós vamos mostrar como utilizar esses flip-flops nas partes IV deste exercício. Mas antes vamos aprender como guardar dados sem utilizar os flip-flops dedicados. A Figura 1 mostra um latch RS com circuito fechado. Uma possibilidade de descrição, a qual usa somente expressões lógicas, é mostrada na Figura 2. Se esse latch for implementado em um FPGA que contém tabelas de pesquisa de 4 entradas (LUT), então somente uma tabela é necessária, como mostra a Figura 3a. Figura 1. Latch RS com circuito fechado.

- - Descrição de um LATCH RS com circuito fechado LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY part1 IS PORT ( Clk, R, S : IN STD_LOGIC; Q : OUT STD_LOGIC); END part1; ARCHITECTURE Structural OF part1 IS SIGNAL R_g, S_g, Qa, Qb : STD_LOGIC ; ATTRIBUTE keep : boolean; ATTRIBUTE keep of R_g, S_g, Qa, Qb : SIGNAL IS true; BEGIN R_g <= R AND Clk; S_g <= S AND Clk; Qa <= NOT (R_g OR Qb); Qb <= NOT (S_g OR Qa); Q <= Qa; END Structural; Figura 2. Cuircuito Latch RS usando expressões lógicas. Apesar de o latch poder ser corretamente descrito, essa implementação não deixa que os sinais internos, como R_g e R_s, serem observados, porque eles não geram saídas para a LUT. Para preservar esses sinais é necessário incluir uma diretiva de compilação no código. Na Figura 2 a diretiva keep é incluída usando-se a declaração ATTRIBUTE; essa declaração instrui o compilador do Quartus II a usar elementos lógicos diferentes para cada sinal R_g, R_s, Qa e Qb. Ao compilar o código, o circuito gerado terá quatro LUTs de 4 entradas., como mostrado na Figura 3a.

Parte II Figura 3. Implementação do circuito da Figura 1. Crie um novo projeto no Quartus II e siga os seguintes passos: 1. Crie um novo projeto para o latch RS. Lembre-se de selecionar o chip Cyclone II EP2C35F672C6. 2. Gere um arquivo VHDL com o circuito da Figura 2 e inclua no projeto. 3. Compile o código. Usando a ferramenta RTL Viewer, examine o circuito gerado e compare com os da Figura 3. 4. Crie um arquivo vetor de formato de onda (.vwf). Desenhe formas de onda para as entradas do circuito e examine os demais sinais e saídas para confirmar o funcionamento do circuito. Utilize a simulação funcional e temporal. A Figura 4 mostra o circuito de um latch D. Execute os seguinte passos: Figura 4. Circuito de um latch D fechado.

Parte III 1. Crie um novo projeto. Usando o código de Figura 2 como base, crie um arquivo VHDL que implemente o latch D. Use a diretiva keep para garantir que o Quartus II use elementos lógicos separados para cada sinal interno. 2. Compile o código e use o RTL Viewer para examinar o circuito gerado. 3. Verifique o funcionamento do circuito usando a simulação funcional. 4. Crie um novo projeto para ser usado como entidade Top Level, a qual usará o latch D como componente. Use o SW 0 para fornecer entrada para D e SW 1 para o Clock. Conecte a saída Q ao LEDR 0. 5. Recompile seu projeto e carregue-o na placa. 6. Teste seu circuito alterando D e Clk e observando Q. A Figura 5 mostra para um flip-flop D mestre-escravo. Execute: Figura 5. Circuito de um flip-flop D mestre-esravo. 1. Crie uma novo projeto no Quartus II. Gere um arquivo VHDL que instancie duas cópias de um latch D, visto na Parte II, para implementar o esquema mestreescravo. 2. Inclua em seu projeto as devidas entradas físicas para simular o circuito na placa DE2. Use SW 0 para a entrada D, e SW 1 para o Clock. Conecte Q ao LEDR 0. 3. Compile 4. Use o RTL Viewer para examinar o circuito gerado. 5. Carregue o circuito na placa e teste sua funcionalidade alterando as entradas e observando a saída. Parte IV A Figura 6 mostra um circuito com três elementos de memória diferentes: um latch D com circuito fechado, um flip-flop D ativado na borda de subida e um flip-flop D ativado na borda de descida.

Figura 6. Circuito e formato de onda para a Parte IV. Implemente esse circuito fazendo o seguinte: 1. Crie um novo projeto. 2. Crie um arquivo VHDL que instancie os três elementos citados. Você não deve mais utilizar a diretiva keep nessa parte do exercício. A Figura 7 mostra a implementação comportamental que especifica o circuito da Figura 4. O mesmo pode ser implementado com apenas uma tabela de 4 entradas. Use analogia para implementar os flip-flops da Figura 6. 3. Compile o projeto e analise o circuito gerado usando o RTL Viewer. Verifique que o latch uma LUT e os flip-flops são implementados usando elementos lógicos do próprio FPGA. 4. Crie um arquivo de vetor de formato de onda (.vwf) que especifique as entradas e saídas do circuito. Desenhe as entradas D e Clk indicadas na Figura 6. Use a simulação funcional para obter as saídas. Observe o comportamento de cada elemento de memória.

LIBRARY ieee ; USE ieee.std_logic_1164.all ; ENTITY latch IS PORT ( D, Clk : IN STD_LOGIC ; Q : OUT STD_LOGIC) ; END latch ; ARCHITECTURE Behavior OF latch IS BEGIN PROCESS ( D, Clk ) BEGIN IF Clk = 1 THEN Q <= D ; END IF ; END PROCESS ; END Behavior ; Figura 7. Código comportamental que especifica o latch D com circuito fechado. Parte V Nós desejamos mostrar um valor hexadecimal A de 16 bits no display de 7 segmentos, HEX7 4. Nós também queremos que o valor hexadecimal B, também de 16 bits, seja mostrado em HEX3 0. O valores A e B são providos através dos SW 15-0. Isso será feito colocando os switches com o valor de A e depois com o valor de B; portanto, o valor de A deve ser armazenado no circuito. 1. Crie um novo projeto. 2. Escreve um arquivo VHDL que implemente as funcionalidades necessárias. Use KEY 0 como reset assíncrono ativo na borda de descida (active-low) e KEY 1 como Clock. Compile o circuito. 3. Carregue-o na placa DE2 e teste a funcionalidade do seu circuito movimentando os switches e observando os displays.