Escolar Documentos
Profissional Documentos
Cultura Documentos
Essa atividade de desenvolvimento explorará a estrutura básica de projeto e simulação de um circuito digital
em VHDL, adaptando um código base com diversas melhorias em sequência.
Objetivos
Estudo Dirigido
Espera-se que ao final do Estudo Dirigido o aluno saiba responder às questões 1 a 9 utilizando o
Capítulo 3 livro gratuito: “Free Range VHDL 10” (versão revisada 2022, disponível no Moodle):
1. Quais são as Design Units do VHDL apresentadas no livro?
2. O que é uma library em VHDL e quais são as libraries fundamentais usadas em um projeto?
3. O que é um package em VHDL e quais os principais packages padronizados pela library ieee?
4. Para que serve uma design unit: entity em VHDL?
5. Para que serve uma design unit: architecture em VHDL?
6. Qual o modelo padrão de codificação de um sistema digital em VHDL?
7. Como se define signals em VHDL?
8. Como se define variables em VHDL?
9. O que significa síntese de um sistema digital?
10. O que é uma simulação funcional?
11. Quais as condições mínimas necessárias para realização de uma simulação funcional?
12. O que é um testbench?
13. Quais palavras reservadas de VHDL são usadas somente para descrever testbenchs em VHDL?
Não se preocupe com as questões 10 a 13, que serão respondidas no início da aula.
laboratório de sistemas digitais (guia 02: estrutura básica do projeto vhdl) 2
4 library ieee;
5 use ieee.std_logic_1164.all;
6 use ieee.std_logic_unsigned.all; -- Não padronizado. Evite!!!
7 -- use ieee.numeric_std.all; -- Padrão. Use esse!
8
9 library ieee;
10 use ieee.std_logic_1164.all;
11
12 entity somador is
13 port ( x, y : in std_logic_vector(3 downto 0);
14 s : out std_logic_vector(3 downto 0));
15 end somador;
16
Esse é o testbench para projeto base, que vai ser modificado de acordo com as mudanças no projeto:
1 library IEEE;
2 use IEEE.STD_LOGIC_1164.all;
3
4 entity tb_somador is
5 end tb_somador;
6
9 component somador is
10 port ( x, y : in std_logic_vector(3 downto 0);
11 s : out std_logic_vector(3 downto 0));
12 end component;
13
19 A <= x"0", x"3" after 20 ns, x"2" after 40 ns, x"4" after 60 ns, x"F" after 70 ns, x"0" after 80 ns;
20 B <= x"0", x"4" after 10 ns, x"3" after 30 ns, x"1" after 50 ns, x"F" after 70 ns, x"0" after 80 ns;
21 end teste;