Escolar Documentos
Profissional Documentos
Cultura Documentos
harware
Entity
Signal
dicho de otra manera, a cada objeto de nuestro código VHDL que sea declarado
como signal le corresponde un cable o un elemento de memoria (biestable,
registro …) en nuestro circuito
Tienen que ser declaradas antes del begin de la architecture. Los puertos de una
entidad son implícitamente declarados como señales en el momento de la
declaración, ya que estos representan conexiones.
Bit: sólo admite los valores 0 y 1. Para hacer una asignación a un objeto tipo bit
el valor binario tiene que aparecer entre comas simples (‘0’ o ‘1’)
std_logic: tipo predefinido en el estándar IEEE 1164. Este tipo representa una
lógica multivaluada de 9 valores. Además del ‘0’ lógico y el ‘1’ lógico, posee alta
impedancia ‘Z’, desconocido ‘X’ ó sin inicializar ‘U’ entre otros. Para hacer una
asignación el valor tiene que aparecer entre comas simples (‘0’, ‘1’, ‘X’, …)
Para poder utilizar el tipo std_logic hay que añadir la librería que lo soporta.
use ieee.std_logic_1164.all
Para poder utilizar las funciones aritmeticológicas definidas (suma, resta
multiplicación)
use ieee.std_logic_arith.all
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
Entity tb_compand is
end tb_compand;
Architecture bh of tb_compand is
component compand is
port
x1: in std_logic;
x2: in std_logic;
o1: out std_logic;
end component;
signal x1 : std_logic;
signal x2 : std_logic;
signal o1 : std_logic;
begin
uut: compand port map(
x1 => x1,
x2 => x2,
o1 => o1);
init : process
begin
x1<= '0';
x2<= '0';
wait for 10 ns;
x1<= '0';
x2<= '1';
wait for 10 ns;
x1<= '1';
x2<= '0';
wait for 10 ns;
x1<= '1';
x2<= '1';
wait for 10 ns;
end process;
end bh;