Práctica No.1 Tercer Parcial
Práctica No.1 Tercer Parcial
Práctica No.1 Tercer Parcial
DISEÑO VLSI
Práctica 3.1
Docente:
Ing. Amparo Meythaler
NRC: 2034
1) OBJETIVOS
• Identificar la forma de trabajo de los paquetes que trabajan con el lenguaje VHDL.
• Implementar Circuitos Combinacionales utilizando VHDL en estilo Flujo de Datos
(RTL).
2) MARCO TEORICO
VHDL
Entity
Architecture
Paquete GHDL
GHDL está basado en el compilador GCC de GNU y puede ejecutarse en Linux, winbugs
y Apple OS X. Se pueden obtener los binarios para un sistema operativo en específico o se
puede compilar a partir del código fuente para una arquitectura en específico. (Simbaña,
2016)
Notepad ++
Existen numerosos editores específicos para programas en C++. Uno que a mí me gusta
bastante es Notepad++, que no sólo se adapta a la sintaxis de C++, sino que contempla
otros muchos lenguajes de programación. Es de código abierto y gratuito (freeware).
3) EQUIPOS Y MATERIALES
4) ACTIVIDADES DESARROLLADAS
1) Trabajo Preparatorio:
2
A
2 Restador 3 S
B
A
−
B
00 01 10 11
− − − −
00 00 00 00
000 001 010 011
00 01 10 11
− − − −
01 01 01 01
111 000 001 010
00 01 10 11
− − − −
10 10 10 10
110 111 000 001
00 01 10 11
− − − −
11 11 11 11
101 110 111 000
A B S
A0 A1 B0 B1 S0 = P S1 S2
0 0 0 0 0 0 0
0 0 0 1 1 1 1
0 0 1 0 1 1 0
0 0 1 1 1 0 1
0 1 0 0 0 0 1
0 1 0 1 0 0 0
0 1 1 0 1 1 1
0 1 1 1 1 1 0
1 0 0 0 0 1 0
1 0 0 1 0 0 1
1 0 1 0 0 0 0
1 0 1 1 1 1 1
1 1 0 0 0 1 1
1 1 0 1 0 1 0
1 1 1 0 0 0 1
1 1 1 1 0 0 0
2) Verifique el funcionamiento del paquete seleccionado.
a) Edición.
• Compile el archivo según las directivas del paquete utilizado. Presente una
captura del resultado final (que indique cero errores o finalizado).
c) Simulación.
• Realice el archivo (fuente) con los vectores de prueba (test bench). Presente una
captura de este paso.
Figura 4: Creación del archivo fuente con los vectores de prueba (test bench).
• Corra el ejercicio y revise el funcionamiento. Presente una captura del resultado.
5) PROGRAMA
library ieee;
use ieee.std_logic_1164.all;
entity alex is
port
(
A,B : in std_logic_vector(0 to 1);
S : out std_logic_vector(0 to 2)
);
end alex;
• Archivo fuente, vector de pruebas (test bench) del restador de 2 números de 2 bits
cada uno.
library ieee;
use ieee.std_logic_1164.all;
entity alex_tb is
end alex_tb;
begin
VHDL: alex port map (A => A, B => B, S => S);
process begin
A <= "00";
B <= "00";
wait for 1 ns;
A <= "00";
B <= "01";
wait for 1 ns;
A <= "00";
B <= "10";
wait for 1 ns;
A <= "00";
B <= "11";
wait for 1 ns;
A <= "01";
B <= "00";
wait for 1 ns;
A <= "01";
B <= "01";
wait for 1 ns;
A <= "01";
B <= "10";
wait for 1 ns;
A <= "01";
B <= "11";
wait for 1 ns;
A <= "10";
B <= "00";
wait for 1 ns;
A <= "10";
B <= "01";
wait for 1 ns;
A <= "10";
B <= "10";
wait for 1 ns;
A <= "10";
B <= "11";
wait for 1 ns;
A <= "11";
B <= "00";
wait for 1 ns;
A <= "11";
B <= "01";
wait for 1 ns;
A <= "11";
B <= "10";
wait for 1 ns;
A <= "11";
B <= "11";
wait for 1 ns;
end process;
end test;
6) DISEÑO
Figura 6: Diseño.
7) ANÁLISIS DE RESULTADOS
Uno de los errores que cometí, fue al guardar el archivo, lo guardé como alex.vhd y al
ingresar en el CMD, y poner los siguientes comandos para la compilación no
encontraba el archivo. Se corrigió volviendo a guardar el archivo como alex.vhdl.
El proceso en el siguiente:
• Se logro identificar los paquetes que trabajan con el lenguaje VHDL, en el cual se
pudo verificar que son de mucha utilidad y facilidad al momento de implementar el
ejercicio del trabajo preparatorio.
• Se implemento el circuito combinacional mediante el estilo Flujo de Datos (RTL),
ya que permite en la arquitectura describir como fluyen las señales de entrada por
el circuito hacia los terminales de salida.
• El programa Notepad ++ a diferencia del programa Xlinx requiere de una
compilación más compleja, pero su instalación es más sencilla.
9) RECOMENDACIONES
10) BIBLIOGRAFIA/LINKOGRAFÍA
Bibliografía
Sánchez, M. (2014). Introducción a la programación en VHDL. Obtenido de
https://eprints.ucm.es/id/eprint/26200/1/intro_VHDL.pdf