Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
SISTEMAS DIGITALES
OBJETIVO
El alumno aprenderá el funcionamiento de los operadores en lenguaje VHDL para construir
diferentes tipos de expresiones mediante los cuales se pueden calcular datos.
INTRODUCCIÓN
Los comentarios empiezan con dos guiones "--" seguidos, hasta el final de línea. Los caracteres son
cualquier letra o número y se escriben entre comillas simples: '2', 't'. Las cadenas son un conjunto de
caracteres y se escriben entre comillas dobles: "hola", los bits son en realidad caracteres, y es
posible formar con ellos cadenas y representar números por ejemplo: "1110100", O"126", X"FE"; el
primer número es binario, el segundo octal, esto se indica con una O antecediendo la cadena, el
último número es hexadecimal; indicado por la X delante de la cadena. Palabras reservadas. Son
aquellas que tienen un significado especial en VHDL. La entidad puede tomar cualquier nombre,
excepto las palabras reservadas En la arquitectura se describe el comportamiento funcional del
módulo entidad. La arquitectura incluye una parte declaratoria y una parte operatoria. La parte
declaratoria puede incluir diferentes tipos de declaraciones (señales internas, componentes,
constantes, etc.). La parte operatoria incluye el código funcional del módulo; La figura I muestra la
estructura básica de cualquier código en VHDL.
En lenguaje VHDL existen operadores de asignación con los cuales se transfieren valores de un
objeto de datos a otro y operadores de asociación que relacionan un objeto de datos con otro. La
figura 1.1 muestra los operadores más utilizados.
DESARROLLO DE LA PRÁCTICA
ACTIVIDADES:
1. Crear una carpeta de trabajo, tal como se muestra en la figura 1.2
2. Ejecutar la plataforma de desarrollo para lógica programable de Altera (INTEL Quartus Prime
Lite Edition.) el cual se puede descargar de la siguiente liga
https://www.intel.la/content/www/xl/es/software/programmable/quartus-prime/overview.html.
3. Utilizar la herramienta de diseño en el editor de texto para introducir el código funcional de
las diferentes compuertas lógicas en lenguaje VHDL. El archivo en VHDL generado debe
tener la extensión *.vhd. La figura 1.3 muestra el código requerido para las compuertas: OR,
XOR, AND
Una vez estemos dentro del simulador seleccionamos la opción de VHDL en Testbench + Design.
Ahora lo que resta es aplicar la siguiente configuración en el simulador para que este pueda realizar
las operaciones de acuerdo a cada compuerta lógica (OR, XOR, AND), en base a 0 y 1 según la
Entrada A y la Entrada B los cuales se asignan de acuerdo a las Tablas de Verdad de cada
Compuerta Lógica antes mencionada.
Una vez realizado lo anterior el software está configurado para que el código sea compilado
satisfactroriamente, de igual manera los resultados de la ejecución sean simulados de manera
correcta.
Resultados del Simulador para cada una de las compuertas a través de VHDL.
De acuerdo a lo dicho en el video el comprender como funcionan las tablas de verdad, así como las
operaciones que realiza cada compuerta resulta de gran ayuda al momento de simular circuitos de
manera real o simulada, ya que al combinar diversas compuertas se pueden desarrollar cientos de
circuitos distintos, de los cuales una vez comprendido su funcionamiento es fácil determinar en qué
casos de acuerdo a los valores de entrada el sistema se enciende o se paga, transmite o no señal,
realiza una determinada operación binaria, etc.
testbench.vhd
entity Test_Pruebas is
-- Vacío
end Test_Pruebas;
architecture TP of Test_Pruebas is
-- DUT componente
component COMPUERTAS is
port(
A: in std_logic;
B: in std_logic;
COR: out std_logic;
CXOR: out std_logic;
CAND: out std_logic);
end component;
signal Entrada_A, Entrada_B: std_logic;
begin
-- Connectar DUT
DUT: COMPUERTAS port map(Entrada_A, Entrada_B);
process
begin
Entrada_A <= '0';
Entrada_B <= '0';
wait for 1 ns;
-- Limpiar Entrada
Entrada_A <= '0';
Entrada_B <= '0';
wait;
end process;
end TP;
design.vhd
entity COMPUERTAS is
port(
A: in std_logic;
B: in std_logic;
COR: out std_logic;
CXOR: out std_logic;
CAND: out std_logic);
end COMPUERTAS;
BIBLIOGRAFÍA
https://rua.ua.es/dspace/bitstream/10045/19252/1/practica3.pdf