VHDL (Very High Speed Integrated Circuit Hardware Description Language)
Quartus -> Interface para programação que será utilizada para programar em vhdl.
Alguns_tipo_de_dados
{
Bit;
Boolean;
Integer (inteiro);
Real (real);
Physical (físico);
std_logic;
}Esses tipos de dados são conhecidos como tipos escalares;
Entity -> Aqui definimos os sinais que serão utilizados na arquitetura (ARCHICTURE), ou seja, as portas. Os sinais podem ser do tipo de entrada, entrada e saida, saida e buffer. A entity é como um modelo que criamos, que poderá ser utilizada na criação de arquiteturas.
exemplo:
amarelo -> nome da entity
verde -> nome dos sinais
vermelho -> tipo do sinal (in: entrada, out: saida, inout: entrada e saida, buffer)
azul -> tipo de dados utilizado pelo sinal.
Entity metropole IS
port( in1, in2: in std_logic;
out1: out std_logic);
end metropole;
----------------------------------------------------------------------------------------------------------
Arquitetura(archicture): Aqui definimos como o circuito irá funcionar utilizando os sinais da entity.
ARCHICTURE nome_da_archicture OF nome_da_entidade IS
-- (esses dois trancinhos são utilizados para comentarios)
-- Aqui antes do BEGIN também podemos definir a entidade que será utlizada, caso ainda não exista (opcional).
BEGIN
-- O resultado dessa operação lógica "in1 and in2" será a saida em out1.
-- "<=" serve para atribuição do sinal
out1 <= in1 and in2;
END nome_da_arquitetura;
---------------------------------------------------------------------------------------------------------
Bibliotecas: Assim como na linguagem C, no VHDL também existe bibliotecas.
ieee -> nome de uma biblioteca
ieee.std_logic_1164.all -> nome de um pacote da biblioteca, o ".all" quer dizer que todo o pacote será utilizado.
exemplo:
library ieee;
use ieee.std_logic_1164.all;
---------------------------------------------------------------------------------------------------------
E por fim o codigo todo ficaria assim:
library ieee;
use ieee.std_logic_1164.all;
Entity metropole IS
port( in1, in2: in std_logic;
out1: out std_logic);
end metropole;
ARCHICTURE metropole_arquitetura OF metropole IS
BEGIN
out1 <= in1 and in2;
END metropole_arquitetura;
Pessoal, tipo assim, o post esta incompleto ;p, esta faltando processos e loops e outros detalhes que tem no material do curso.