Professional Documents
Culture Documents
VHDL Prei Nforme 4
VHDL Prei Nforme 4
PRE INFORME
CIRCUITOS ARITMETICOS
VHDL DIAGRAMA ESQUEMATICO
PAQUETE 2
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SUMCUA IS
PORT(A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CI: IN STD_LOGIC;
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC);
END SUMCUA;
ARCHITECTURE FUNCION OF SUMCUA IS
SIGNAL CARRYS: STD_LOGIC_VECTOR(2 DOWNTO 0);
COMPONENT SUMCOM IS
PORT(A,B,CI: IN STD_LOGIC;
S,CO: OUT STD_LOGIC);
END COMPONENT;
BEGIN
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
PAQUETE 4
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY COMPLE IS
PORT(BS,NOU: IN STD_LOGIC;
A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
C: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPLE;
ARCHITECTURE FUNCION OF COMPLE IS
BEGIN
C <= A WHEN (BS = '0') ELSE
"1001" WHEN (A="0000" AND NOU='1') ELSE
"1000" WHEN (A="0001" AND NOU='1') ELSE
"0111" WHEN (A="0010" AND NOU='1') ELSE
"0110" WHEN (A="0011" AND NOU='1') ELSE
"0101" WHEN (A="0100" AND NOU='1') ELSE
"0100" WHEN (A="0101" AND NOU='1') ELSE
"0011" WHEN (A="0110" AND NOU='1') ELSE
"0010" WHEN (A="0111" AND NOU='1') ELSE
"0001" WHEN (A="1000" AND NOU='1') ELSE
"0000" WHEN (A="1001" AND NOU='1') ELSE
"0000" WHEN (A= "0000") ELSE
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
PAQUETE 5
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SUMCOM IS
PORT(A,B,CI: IN STD_LOGIC;
S,CO: OUT STD_LOGIC);
END SUMCOM;
ARCHITECTURE FUNCION OF SUMCOM IS
BEGIN
S <= A XOR B XOR CI;
CO <= (A AND B) OR (A AND CI) OR (B AND CI);
END FUNCION;
PAQUETE 6
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY MULTI IS
PORT(X,Y: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END MULTI;
ARCHITECTURE FUNCION OF MULTI IS
SIGNAL P1,P2,P3,P4: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL S1,S2,S3: STD_LOGIC_VECTOR(4 DOWNTO 0);
SIGNAL AUX: STD_LOGIC_VECTOR(3 DOWNTO 0);
COMPONENT ANDS IS
PORT(X: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
M: IN STD_LOGIC;
P: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
COMPONENT SUMCUA IS
PORT(A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CI: IN STD_LOGIC;
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC);
END COMPONENT;
BEGIN
BLOQUE1: ANDS PORT MAP(X,Y(0),P1);
BLOQUE2: ANDS PORT MAP(X,Y(1),P2);
BLOQUE3: ANDS PORT MAP(X,Y(2),P3);
BLOQUE4: ANDS PORT MAP(X,Y(3),P4);
AUX <= '0'&P1(3 DOWNTO 1);
SUMADOR1: SUMCUA PORT MAP(AUX,P2,'0',S1(3 DOWNTO 0),S1(4));
SUMADOR2: SUMCUA PORT MAP(S1(4 DOWNTO 1),P3,'0',S2(3 DOWNTO 0),S2(4));
SUMADOR3: SUMCUA PORT MAP(S2(4 DOWNTO 1),P4,'0',S3(3 DOWNTO 0),S3(4));
S <= S3&S2(0)&S1(0)&P1(0);
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
END FUNCION;
PAQUETE 7
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SIGNOBCD IS
PORT(BSA,BSB,CARRY: IN STD_LOGIC;
BS: OUT STD_LOGIC;
DIGITO: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END SIGNOBCD;
ARCHITECTURE FUNCION OF SIGNOBCD IS
SIGNAL SEL: STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL SALIDA: STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
SEL <= BSA&BSB&CARRY;
WITH SEL SELECT
SALIDA <= "00000" WHEN "000",
"00001" WHEN "001",
"11001" WHEN "010",
"00000" WHEN "011",
"11001" WHEN "100",
"00000" WHEN "101",
"11000" WHEN "110",
"11001" WHEN "111",
"00000" WHEN OTHERS;
DIGITO <= SALIDA(3 DOWNTO 0);
BS <= SALIDA(4);
END FUNCION;
PAQUETE 8
LIBRARY IEEE,WORK;
USE IEEE.STD_LOGIC_1164.ALL;
USE WORK.COMPONENTE.ALL;
ENTITY SUMADORA IS
PORT(BSA,BSB,CARRY,NOU: IN STD_LOGIC;
A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
CARRYBCD: OUT STD_LOGIC);
END SUMADORA;
ARCHITECTURE FUNCION OF SUMADORA IS
SIGNAL A1,B1,A2,B2,DIGA,DIGB: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL RESULTADO,CORREGIDO: STD_LOGIC_VECTOR(4 DOWNTO 0);
--SUMADOR DE 4 BITS
COMPONENT SUMCUA IS
PORT(A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CI: IN STD_LOGIC;
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC);
END COMPONENT;
--TRANSCODIFICADOR A BCDN
COMPONENT TRASCOD IS
PORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
BCD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
--COMPLEMENTO A 10
COMPONENT COMPLE IS
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
PORT(BS,NOU: IN STD_LOGIC;
A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
C: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
--FUNCIONAMIENTO
BEGIN
--TRANSCODIFICACION DE LOS DIGITOS
TRANSCOD1: TRASCOD PORT MAP(A,A1);
TRANSCOD2: TRASCOD PORT MAP(B,B1);
--COMPLEMENTO DE LOS DIGITOS
COMPLEMENTO1: COMPLE PORT MAP(BSA,NOU,A1,A2);
COMPLEMENTO2: COMPLE PORT MAP(BSB,NOU,B1,B2);
--SUMA
SUMADOR: SUMCUA PORT MAP(A2,B2,CARRY,RESULTADO(3 DOWNTO 0),RESULTADO(4));
--CORRECCION
CORRECCION: CORRECTORBCD PORT MAP(RESULTADO,CORREGIDO);
--ASIGNACION DE SALIDAS
S(3 DOWNTO 0) <= CORREGIDO(3 DOWNTO 0);
CARRYBCD <= CORREGIDO(4);
END FUNCION;
PAQUETE 9
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ANDS IS
PORT(X: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
M: IN STD_LOGIC;
P: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END ANDS;
ARCHITECTURE FUNCION OF ANDS IS
BEGIN
P <= X WHEN M='1' ELSE "0000";
END FUNCION;
LIBRARY IEEE,WORK;
USE IEEE.STD_LOGIC_1164.ALL;
USE WORK.COMPONENTE.ALL;
ENTITY SUMADOR_BCD IS
PORT(BSA,BSB: IN STD_LOGIC;
A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
BS: OUT STD_LOGIC);
END SUMADOR_BCD;
COMPONENT TRASCOD IS
PORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
BCD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
COMPONENT COMPLE IS
PORT(BS: IN STD_LOGIC;
A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
C: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
COMPONENT SIGNOBCD IS
PORT(BSA,BSB,CARRY: IN STD_LOGIC;
BS: OUT STD_LOGIC;
DIGITO: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
BEGIN
TRANSCOD1: TRASCOD PORT MAP(A,A1);
TRANSCOD2: TRASCOD PORT MAP(B,B1);
COMPLEMENTO1: COMPLE PORT MAP(BSA,A1,A2);
COMPLEMENTO2: COMPLE PORT MAP(BSB,B1,B2);
SUMADOR: SUMCUA PORT MAP(A2,B2,'0',RESULTADO(3 DOWNTO 0),RESULTADO(4));
CORRECCION: CORRECTORBCD PORT MAP(RESULTADO,CORREGIDO);
SIGNO: SIGNOBCD PORT MAP(BSA,BSB,CORREGIDO(4),BS,S(7 DOWNTO 4));
S(3 DOWNTO 0) <= CORREGIDO(3 DOWNTO 0);
END FUNCION;
b.1) Diseñe un transcodificador de código Binario Natural de 7 bits a BCD AIKEN con 2 dígitos,
utilizando circuitos sumadores (7483 y 74283). Implemente un diseño parecido, pero solo de binario
natural 6 bits a BCD dos dígitos desplegados en display’s de 7 segmentos.
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY BN_a_BCD IS
PORT (A: IN STD_LOGIC_VECTOR (6 DOWNTO 0);
F:OUT STD_LOGIC_VECTOR (6 DOWNTO 0));
END BN_a_BCD;
ARCHITECTURE FUNCION OF BN_a_BCD IS
BEGIN
WITH A SELECT
F<= "0000000" WHEN "0000000",--0
"0000001" WHEN "0000001",--1
"0000010" WHEN "0000010",--2
"0000011" WHEN "0000011",--3
"0000100" WHEN "0000100",--4
"0001011" WHEN "0000101",--5
"0001100" WHEN "0000110",--6
"0001101" WHEN "0000111",--7
"0001110" WHEN "0001000",--8
"0001111" WHEN "0001001",--9
"0010000" WHEN "0001010",--10
"0010001" WHEN "0001011",--11
"0010010" WHEN "0001100",--12
"0010011" WHEN "0001101",--13
"0010100" WHEN "0001110",--14
"0011011" WHEN "0001111",--15
"0011100" WHEN "0010000",--16
"0011101" WHEN "0010001",--17
"0011110" WHEN "0010010",--18
"0011111" WHEN "0010011",--19
"0100000" WHEN "0010100",--20
"0100001" WHEN "0010101",--21
"0100010" WHEN "0010110",--22
"0100011" WHEN "0010111",--23
"0100100" WHEN "0011000",--24
"0101011" WHEN "0011001",--25
"0101100" WHEN "0011010",--26
"0101101" WHEN "0011011",--27
"0101110" WHEN "0011100",--28
"0101111" WHEN "0011101",--29
"0110000" WHEN "0011110",--30
"0110001" WHEN "0011111",--31
"0110010" WHEN "0100000",--32
"0110011" WHEN "0100001",--33
"0110100" WHEN "0100010",--34
"0111011" WHEN "0100011",--35
"0111100" WHEN "0100100",--36
"0111101" WHEN "0100101",--37
"0111110" WHEN "0100110",--38
"0111111" WHEN "0100111",--39
"1000000" WHEN "0101000",--40
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
VHDL COMBINACIONAL
RTL
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
ENTITY ALU IS
PORT ( A,B :IN STD_LOGIC_VECTOR (3 DOWNTO 0);
S: IN STD_LOGIC_VECTOR (1 DOWNTO 0);
F: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
COUT : OUT STD_LOGIC);
END ALU;
COMPONENT A_nor_B
PORT ( A,B :IN STD_LOGIC;
F : OUT STD_LOGIC);
END COMPONENT;
COMPONENT A_and_B
PORT ( A,B :IN STD_LOGIC;
F : OUT STD_LOGIC);
END COMPONENT;
COMPONENT fulladd_4b
PORT( A, B : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
CIN : IN STD_LOGIC;
S : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT : OUT STD_LOGIC);
END COMPONENT;
COMPONENT mux4a1
PORT(D0,D1,D2,D3: IN STD_LOGIC;
S:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
F:OUT STD_LOGIC);
END COMPONENT;
BEGIN
GEN_BA : FOR i IN 3 DOWNTO 0 GENERATE
CNXBA : B_A PORT MAP (A(i),B(i),M(i));
END GENERATE;
PAQUETE 1
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY B_A IS
PORT (A,B :IN STD_LOGIC;
F: OUT STD_LOGIC);
END B_A ;
ARCHITECTURE ESTRUCTURAL OF B_A IS
BEGIN
F<= ( B OR( NOT A) );
END ESTRUCTURAL;
PAQUETE 2
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY A_nor_B IS
PORT (A,B :IN STD_LOGIC;
F: OUT STD_LOGIC);
END A_nor_B;
ARCHITECTURE ESTRUCTURAL OF A_nor_B IS
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
BEGIN
F <=(A NOR B);
END ESTRUCTURAL;
PAQUETE 3
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY A_and_B IS
PORT (A,B :IN STD_LOGIC;
F: OUT STD_LOGIC);
END A_and_B;
ARCHITECTURE ESTRUCTURAL OF A_and_B IS
BEGIN
F<= A AND B;
END ESTRUCTURAL;
PAQUETE 4
LIBRARY IEEE; --LIBRERIA IEEE
USE IEEE.STD_LOGIC_1164.ALL;--PAQUETE STD_LOGIC
COMPONENT FULLADD_1B
--DECLARACION DE LOS COMPONENTES A
PORT( A,B : IN STD_LOGIC;
--UTILIZAR EN LA AQUITECTURA
CI : IN STD_LOGIC;
S : OUT STD_LOGIC;
COUT : OUT STD_LOGIC);
END COMPONENT;
-- "PORT MAP"
CNXFA2_FA3: FULLADD_1B PORT MAP (A(3),B(3),M(2),S(3),COUT);
END SUMADOR4B;
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
PAQUETE 5
LIBRARY IEEE; --LIBRERIA IEEE
USE IEEE.STD_LOGIC_1164.ALL; --PAQUETE STD_LOGIC
PAQUETE 6
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux4a1 IS
PORT(D0,D1,D2,D3: IN STD_LOGIC;
S:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
F:OUT STD_LOGIC);
END mux4a1;
ARCHITECTURE comportamiento OF mux4a1 IS
BEGIN
WITH S SELECT
F<= D0 WHEN "00",
D1 WHEN "01",
D2 WHEN "10",
D3 WHEN OTHERS;
END comportamiento;
d) CIRCUITO MULTIPLICADOR*
Diseñe en base a circuitos sumadores, un circuito multiplicador combinacional para los siguientes dos
números (83 𝑝𝑜𝑟 68) de código BCD 8421 (de dos dígitos cada uno), además del bit de signo. El
resultado debe ser desplegado en display’s de 7 segmentos. Implemente un diseño para un dígito, por
ejemplo (7 𝑝𝑜𝑟 9).
PAQUETE 1
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ANDS IS
PORT(X: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
M: IN STD_LOGIC;
P: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END ANDS;
ARCHITECTURE FUNCION OF ANDS IS
BEGIN
P <= X WHEN M='1' ELSE "0000";
END FUNCION;
PAQUETE 2
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SUMCUA IS
PORT(A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CI: IN STD_LOGIC;
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC);
END SUMCUA;
ARCHITECTURE FUNCION OF SUMCUA IS
SIGNAL CARRYS: STD_LOGIC_VECTOR(2 DOWNTO 0);
COMPONENT SUMCOM IS
PORT(A,B,CI: IN STD_LOGIC;
S,CO: OUT STD_LOGIC);
END COMPONENT;
BEGIN
SUM1: SUMCOM PORT MAP(A(0),B(0),CI,S(0),CARRYS(0));
SUM2: SUMCOM PORT MAP(A(1),B(1),CARRYS(0),S(1),CARRYS(1));
SUM3: SUMCOM PORT MAP(A(2),B(2),CARRYS(1),S(2),CARRYS(2));
SUM4: SUMCOM PORT MAP(A(3),B(3),CARRYS(2),S(3),COUT);
END FUNCION;
PAQUETE 3
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SUMCOM IS
PORT(A,B,CI: IN STD_LOGIC;
S,CO: OUT STD_LOGIC);
END SUMCOM;
ARCHITECTURE FUNCION OF SUMCOM IS
BEGIN
S <= A XOR B XOR CI;
CO <= (A AND B) OR (A AND CI) OR (B AND CI);
END FUNCION;
PAQUETE COMPLETO
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CIRCUITO_MULTIPLICADOR IS
PORT(X,Y: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
S: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END CIRCUITO_MULTIPLICADOR;
ARCHITECTURE FUNCION OF CIRCUITO_MULTIPLICADOR IS
SIGNAL P1,P2,P3,P4: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL S1,S2,S3: STD_LOGIC_VECTOR(4 DOWNTO 0);
SIGNAL AUX: STD_LOGIC_VECTOR(3 DOWNTO 0);
--BLOQUES ANDS
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
COMPONENT ANDS IS
PORT(X: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
M: IN STD_LOGIC;
P: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END COMPONENT;
--SUMADOR DE 4 BITS
COMPONENT SUMCUA IS
PORT(A,B: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CI: IN STD_LOGIC;
S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT: OUT STD_LOGIC);
END COMPONENT;
--FUNCIONAMIENTO
BEGIN
--CREACION DE LOS BLOQUES AND
BLOQUE1: ANDS PORT MAP(X,Y(0),P1);
BLOQUE2: ANDS PORT MAP(X,Y(1),P2);
BLOQUE3: ANDS PORT MAP(X,Y(2),P3);
BLOQUE4: ANDS PORT MAP(X,Y(3),P4);
--LA PRIMERA ENTRADA
AUX <= '0'&P1(3 DOWNTO 1);
--CREACION DE LOS BLOQUES DE SUMA
SUMADOR1: SUMCUA PORT MAP(AUX,P2,'0',S1(3 DOWNTO 0),S1(4));
SUMADOR2: SUMCUA PORT MAP(S1(4 DOWNTO 1),P3,'0',S2(3 DOWNTO 0),S2(4));
SUMADOR3: SUMCUA PORT MAP(S2(4 DOWNTO 1),P4,'0',S3(3 DOWNTO 0),S3(4));
--CONCATENACION PARA LA SALIDA
S <= S3&S2(0)&S1(0)&P1(0);
END FUNCION;
VHDL multiplicación
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
e) CIRCUITO DIVISOR*
Diseñe en base a circuitos sumadores, un circuito divisor combinacional para un dividendo de 4 bits
con un divisor de 3 bits. de código BCD Exceso de 3 Desplegar el cociente y el residuo en display’s
de 7 segmentos.
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
ENTITY CIRCUITO_DIVISOR IS
GENERIC (SIZE: NATURAL := 4);
PORT (
A: IN STD_LOGIC_VECTOR(SIZE-1 DOWNTO 0);
B: IN STD_LOGIC_VECTOR(SIZE-1 DOWNTO 0);
Q: INOUT STD_LOGIC_VECTOR(SIZE-1 DOWNTO 0);
R: INOUT STD_LOGIC_VECTOR(SIZE-1 DOWNTO 0);
Q7SEG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
R7SEG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END CIRCUITO_DIVISOR;
Q <= STD_LOGIC_VECTOR(QUNS);
R <= STD_LOGIC_VECTOR(RUNS);
WITH Q SELECT
Q7SEG<=
"0000001" WHEN "0011",
"1001111" WHEN "0100",
"0010010" WHEN "0101",
"0000110" WHEN "0110",
"1001100" WHEN "0111",
"0100100" WHEN "1000",
"0100000" WHEN "1001",
"0001111" WHEN "1010",
"0000000" WHEN "1011",
"0000100" WHEN "1100",
"1111111" WHEN OTHERS;
WITH R SELECT
R7SEG<=
"0000001" WHEN "0011",
"1001111" WHEN "0100",
"0010010" WHEN "0101",
"0000110" WHEN "0110",
"1001100" WHEN "0111",
"0100100" WHEN "1000",
AUX. UNIV. Joel Bautista España Ulloa laboratorio 4 ETN – 601
END FUNCION;