Documentos de Académico
Documentos de Profesional
Documentos de Cultura
III. CUESTIONARIO
6.1. Realizar un programa que permita convertir de BCD (1
digito) a 7 segmentos (ánodo común) utilizando sentencias Fig. 1 Simulación del código – Quartus Prime Lite
concurrentes. Presentar el código implementado y la
simulación del correcto funcionamiento utilizando el 6.2. Realizar un programa en VHDL que permita convertir
University Program VWF. un numero binario de 4 bits en su correspondiente número
BCD. Emplee una variable de 4 bits para las unidades y una
Para realizar el ejercicio propuesto se empleó el siguiente: variable de 4 bits para las decenas. Los números obtenidos
en BCD transformarlos a 7 segmentos, utilizando el código
Convertidor de BCD a 7 segmentos creado en el numeral anterior. Unir los dos programas
----------------------------------------------------------------- utilizando la arquitectura estructural. Presentar los códigos
library ieee; de cada componente, el código principal, la simulación del
use ieee.std_logic_1164.all; correcto funcionamiento utilizando el University Program
----------------------------------------------------------------- VWF.
entity BCDTO7SEG is Para realizar este ejercicio se emplea los siguientes códigos:
port(
BCD : in std_logic_vector(3 downto 0); Convertidor de BCD a 7 segmentos
SEG1 : out std_logic_vector(6 downto 0)
1
-------------------------------------------------------------- begin
library ieee;
use ieee.std_logic_1164.all; with Bin select
--------------------------------------------------------------
entity BCDTO7SEG is Uni <= "0000" when "0000",
port( "0001" when "0001",
BCD : in std_logic_vector(3 downto 0); "0010" when "0010",
SEG1 : out std_logic_vector(6 downto 0) "0011" when "0011",
); "0100" when "0100",
end BCDTO7SEG; "0101" when "0101",
-------------------------------------------------------------- "0110" when "0110",
architecture beha of BCDTO7SEG is "0111" when "0111",
"1000" when "1000",
begin "1001" when "1001",
"0000" when "1010",
with BCD select "0001" when "1011",
SEG1 <= "1111110" when "0000", "0010" when "1100",
"0110000" when "0001", "0011" when "1111",
"1101101" when "0010", "0100" when "1110",
"1111001" when "0011", "0101" when others;
"0110011" when "0100",
"1011011" when "0101", M1 : BCDTO7SEG port map (Uni,auuni);
"1011111" when "0110", SEG1 <= auuni;
"1110000" when "0111",
"1111111" when "1000", with Bin select
"1110011" when "1001",
"0000000" when others; Ded <= "0000" when "0000",
"0000" when "0001",
end architecture; "0000" when "0010",
-------------------------------------------------------------- "0000" when "0011",
Código principal "0000" when "0100",
-------------------------------------------------------------- "0000" when "0101",
library ieee; "0000" when "0110",
use ieee.std_logic_1164.all; "0000" when "0111",
-------------------------------------------------------------- "0000" when "1000",
entity EJERCICIO2 is "0000" when "1001",
port( "0001" when "1010",
Bin : in std_logic_vector(3 downto 0); "0001" when "1011",
Uni : buffer std_logic_vector(3 downto 0); "0001" when "1100",
Ded : buffer std_logic_vector(3 downto 0); "0001" when "1111",
SEG1 : out std_logic_vector(6 downto 0); "0001" when "1110",
SEG2 : out std_logic_vector(6 downto 0) "0001" when others;
);
end EJERCICIO2; M2 : BCDTO7SEG port map (Ded,audec);
-------------------------------------------------------------- SEG2 <= audec;
architecture beha of EJERCICIO2 is end architecture;
component BCDTO7SEG is --------------------------------------------------------------
port(
BCD : in std_logic_vector(3 downto 0);
SEG1 : out std_logic_vector(6 downto 0)
);
end component;
2
6.3. Comparar el uso de la arquitectura flujo de datos con
el uso de la arquitectura estructural. ¿En qué casos se
recomendaría el uso de cada una?
REFERENCIAS