Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estadual de Campinas Faculdade de Tecnologia TT-411 Circuitos Digitais 2 Wellington Renan Gonçalves Relatório 4 Aula 4 Revisão dos comandos VHDL da aula anterior Uso de vetores tipo integer Introdução à estruturas condicionais Na aula 4 tivemos uma revisão dos comandos VHDL da aula anterior. Utilizamos vetores tipo integer. E ainda, fizemos uma introdução à estruturas condicionais. Utilizamos como material de aula a apostila 2 (teleduc) com o conteúdo de primeiros contatos com a linguagem VHDL e apostila 3 (teleduc) com o conteúdo comandos concorrentes básicos em VHDL. Como prática de laboratório foram propostas as seguintes atividades: 1 – Usando o Quartus II, simular o circuito seletor MUX a seguir: Entidade implementada para o circuito acima: library IEEE; use IEEE.std_logic_1164.all; ENTITY aula4 IS PORT (i0, i1, i2, i3 : IN BIT; -- entradas s0, s1 : IN BIT; -- selecao ot : OUT BIT); -- saida END aula4; ARCHITECTURE nivel_logico OF aula4 IS BEGIN ot <= (i0 AND (NOT s0 AND NOT s0)) OR (i1 AND ((NOT s1) AND s0)) OR (i2 AND (s1 AND (NOT s0))) OR (i3 AND (s1 AND s0)); END nivel_logico; Simulação do seletor: 2 – Simular o DEMUX Entidade implementada para o DEMUX: ENTITY aula4 IS PORT (i0, i1, i2, i3 : OUT BIT; s0, s1: IN BIT; ot : IN BIT); END aula4; ARCHITECTURE nivel_logico OF aula4 IS BEGIN i0 <= (ot AND ((not s0) AND (not s1))); i1 <= (ot AND ((not s0) AND s1)); i2 <= (ot AND (s0 AND (not s1))); i3 <= (ot AND (s0 AND s1)); END nivel_logico; Simulação do DEMUX: 3 – Simular o item 1 usando WHEN ELSE Entidade implementada para o MUX utilizando WHEN ELSE: ENTITY aula4 IS PORT (i0, i1, i2, i3 : IN BIT; s0, s1: IN BIT; ot : OUT BIT); END aula4; ARCHITECTURE nivel_logico OF aula4 IS BEGIN i0 WHEN s1= '0' AND s0= '0' ELSE i1 WHEN s1= '0' AND s0= '1' ELSE i2 WHEN s1= '1' AND s0= '0' ELSE i3; END nivel_logico; 4 – Simular o item 1 usando WITH SELECTED Entidade implementada para o MUX utilizando WITH SELECT: ENTITY aula4 IS PORT (i0, i1, i2, i3 : IN BIT; s0, s1: IN BIT; ot : OUT BIT); END aula4; ARCHITECTURE nivel_logico OF aula4 IS SIGNAL sel : BIT_VECTOR (1 DOWNTO 0); BEGIN sel <= s1 & s0; WITH sel SELECT ot <= i0 WHEN "00", i1 WHEN "01", i2 WHEN "10", i3 WHEN "11"; END nivel_logico; Conclusão: Na primeira atividade de laboratório proposta foi implementado o código em VHDL de um circuito selector (MUX) e verificada se a simulação da entidade implementada apresentava as saídas esperadas para a tabela verdade. O código implementado foi apresentado no item 1 e a simulação logo abaixo do mesmo item. As saídas simuladas confirmaram as que eram esperadas. Na segunda atividade foi proposta a implementação de um DEMUX para o circuito do item 1. A entidade implementada foi apresentada no item 2 e a simulação logo abaixo do mesmo item. Novamente a simulação confirmou o que se esperava como saídas. Na terceira atividade foi proposto simular novamente o item 1 utilizando desta vez WHEN ELSE. Esse tipo de construção pode acontecer quando há um desejo de transferência condicional de um sinal, ou seja, contém uma lista de condições e expressões, sendo que a condição verdadeira define a expressão transferida. No item 3 foi apresentado o código implementado e a sua simulação corresponde a mesma do circuito implementado 1, já que corresponde ao mesmo circuito. Na quarta atividade foi proposto simular novamente o item 2 utilizando desta vez WITH SELECT. Usa-se essa construção quando da transferência condicional de um sinal. Contém: uma lista de opções e expressões, sendo que todas as condições da expressão de escolha devem ser consideradas. No item 4 foi apresentado o código implementado e a sua simulação corresponde a mesma do circuito implementado em 1, já que corresponde ao mesmo circuito.
Compartilhar