Librería de estudio (Instrucciones en ISE Design Suite)
a : in STD_LOGIC; >>> Entrada de tipo lógico a la cual se le asigna el nombre de "a"
z : out STD_LOGIC; >>> Salida de tipo lógico a la cual se le asigna el nombre de "z"
Rising_edge >>> detectar el flanco creciente de la señal de reloj.
pulsos : in STD_LOGIC_VECTOR (2 downto 0)); >>> Entrada de tipo vector de 3 valores la cual se le asigna el nombre de "pulsos"
luces : out STD_LOGIC_VECTOR (5 downto 0)); >>> Salida de tipo vector de 6 valores la cual se le asigna el nombre de "luces"
SIGNAL ip0,ip1,ip2,ETC,...: STD_LOGIC; >>> Señales tipo lógicas para realizar interconexiónes
SIGNAL s1,s3,s6: STD_LOGIC_VECTOR(3 downto 0); >>> Señales tipo vector de 4 valores para realizar interconexiónes
clk : in STD_LOGIC; >>>Entrada de reloj
rst : in STD_LOGIC; >>>Entrada de Reset
type estado is(E1,E2,E3); >>>Declaración de estados (Máquina de estados)
Compuertas Lógicas
B <= NOT A; >>> NOT Salida "B" entradas "A"
FI <= Z XNOR Y; >>> XNOR salidas Z&Y
L <= J OR K; >>> OR
P <= O OR N OR M; >>> OR 3 ENTRADAS
I <= F and G and H; >>> COMPUERTA AND 3 ENTRADAS
U <= Q OR R OR S OR T; >>> COMPUERTA OR 4 ENTRADAS
X <= W XOR V; >>> COMPUERTA XOR
E <= C and D; >>> COMPUERTA AND
P <= O OR N OR M; >>> COMPUERTA OR 3 ENTRADAS
FI <= Z XNOR Y; >>> COMPUERTA XNOR
constant conteo: integer :=49_999_999; >>> Constante "conteo" integrado por 49999999
signal counter: integer range 0 to conteo+1:=0; >>> Señal "contador" con un rango de 0 a un numero mayor al designado al conteo
signal flag:std_logic:='0'; >>> Señal "Bandera" tipo lógico con un valor inicial de 0
Ejemplo de Concatenación
...
segn : out STD_LOGIC_VECTOR (0 to 7); >>> Salida de tipo vector de 8 valores la cual se le asigna el nombre de "segn" ...
signal sigs: STD_LOGIC_VECTOR (0 to 7); >>> Se asignan los valores a una sola salida como vector de 8
with binc select
sigs <= "00000011" when "0000", >>>Señal "sigs" creada con vectores de 8 valores que se asignan posteriormente a "segn"
"10011111" when "0001",
"00100101" when "0010",
"00001101" when "0011",
"10011001" when "0100",
"01001001" when "0101",
"00011101" when "0111",
"00000001" when "1000",
"00001001" when "1001",
"01000001" when others;
segn<=sigs;
Comentarios
Publicar un comentario