Está en la página 1de 8

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

DISEÑO VLSI

ARMAS JORDAN

Introducción lenguaje VHDL

NRC: 8417

SANGOLQUÍ, JUNIO 2020


1. TEMA: Descripción en lenguaje VHDL de un circuito combinacional implementado
con compuertas lógicas.

2. OBJETIVOS
2.1. OBJETIVO GENERAL
Conocer la estructura y funcionamiento de las compuertas “AND” y “EXOR”
diseñar los mismos en Microwind.

2.2. OBJETIVOS ESPECÍFICOS


 Diseñe, describa en VHDL y simule en ModelSim el problema propuesto.
 Conocer el funcionamiento del software ModelSim y sus aplicativos,
para diseñar un circuito combinacional implementado con compuertas
lógicas.

3. SOFTWARE: ModelSim SE 64 10.5

4. DESARROLLO

4.1 Marco Teórico

ModelSim

Es un entorno de simulación HDL en varios idiomas de Mentor Graphics , que se utiliza


generalmente para la simulación de todos los lenguajes compatibles de
descripción de hardware como VHDL , Verilog y SystemC , e incluye un depurador C
incorporado.

ModelSim se puede usar de forma independiente o en combinación con Intel Quartus


Prime , Xilinx ISE o Xilinx Vivado .

La simulación se realiza usando la interfaz gráfica de usuario (GUI), o automáticamente


usando scripts.

4.2 Procedimiento
Planteamiento

Se tiene una asamblea con 5 personas (A, B, C, D y E). Si en una votación, tres o más de
ellas votan SI, el resultado de la función es “1”, caso contrario “0”.

1. Realice una tabla de verdad que exprese la relación entre entradas y salida
2. A partir de la tabla de verdad obtener la función lógica utilizando SOP

𝑦 = 𝑚7 + 𝑚11 + 𝑚13 + 𝑚14 + 𝑚15 + 𝑚19 + 𝑚21 + 𝑚22 + 𝑚23 + 𝑚25 + 𝑚26 + 𝑚27
+ 𝑚28 + 𝑚29 + 𝑚30 + 𝑚31

𝑦 = 𝐴̅𝐵̅𝐶𝐷𝐸 + 𝐴̅𝐵𝐶̅ 𝐷𝐸 + 𝐴̅𝐵𝐶𝐷


̅ 𝐸 + 𝐴̅𝐵𝐶𝐷𝐸̅

+𝐴̅𝐵𝐶𝐷𝐸 + 𝐴𝐵̅𝐶̅ 𝐷𝐸 + 𝐴𝐵̅𝐶𝐷


̅ 𝐸 + 𝐴𝐵̅𝐶𝐷𝐸̅

+𝐴𝐵̅𝐶𝐷𝐸 + 𝐴𝐵𝐶̅ 𝐷
̅ 𝐸 + 𝐴𝐵𝐶̅ 𝐷𝐸̅ + 𝐴𝐵𝐶̅ 𝐷𝐸

̅ 𝐸̅ + 𝐴𝐵𝐶𝐷
+𝐴𝐵𝐶𝐷 ̅ 𝐸 + 𝐴𝐵𝐶𝐷𝐸̅ + 𝐴𝐵𝐶𝐷𝐸

3. Simplificar la función resultante usando teoremas booleanos o mapas K de 5 variables.

ABC 000 001 011 010 110 111 101 100


DE

00 1

01 1 1 1 1

11 1 1 1 1 1 1 1

10 1 1 1 1

𝑦 = 𝐶𝐷𝐸 + 𝐵𝐷𝐸 + 𝐵𝐶𝐸 + 𝐵𝐶𝐷 + 𝐴𝐷𝐸 + 𝐴𝐶𝐸 + 𝐴𝐶𝐷 + 𝐴𝐵𝐸 + 𝐴𝐵𝐷 + 𝐴𝐵𝐶

4. Implementar la función con circuitos combinacionales y describirla en lenguaje

VHDL con descripción comportamental.


Implementación con circuitos combinacionales

Descripción de la función en lenguaje VHDL con descripción comportamental


5. Escriba un test bench que contenga la entidad diseñada y simule utilizando Modelsim.

Para nuestro test bench debemos inicializar nuestras variables y definir que valores van a
tomar nuestras entradas, construyendo la tabla de verdad de manera que el valor de las
entradas cambie conforme pase un tiempo estimado .

entity testbench is
end entity;
architecture tabla of testbench is
component compuertas is port
(a,b,c,d,e: in std_logic; y: out std_logic);
end component;
signal a,b,c,d,e: std_logic:='0';
signal y: std_logic:='0';
begin
comp: compuertas port map(a,b,c,d,e,y);
e <= '1' after 10 ns, '0' after 20 ns, '1' after 30 ns, '0' after 40 ns, '1' after 50 ns, '0' after 60 ns, '1'
after 70 ns, '0' after 80 ns, '1' after 90 ns, '0' after 100 ns, '1' after 110 ns, '0' after 120 ns, '1' after
130 ns,'0' after 140 ns, '1' after 150 ns, '0' after 160 ns, '1' after 170 ns, '0' after 180 ns, '1' after 190
ns,'0' after 200 ns, '1' after 210 ns, '0' after 220 ns, '1' after 230 ns, '0' after 240 ns, '1' after 250
ns,'0' after 260 ns, '1' after 270 ns, '0' after 280 ns, '1' after 290 ns, '0' after 300 ns, '1' after 310 ns;
d <= '1' after 20 ns, '0' after 40 ns, '1' after 60 ns, '0' after 80 ns, '1' after 100 ns, '0' after 120 ns,
'1' after 140 ns, '0' after 160 ns, '1' after 180 ns, '0' after 200 ns, '1' after 220 ns, '0' after 240 ns, '1'
after 260 ns,'0' after 280 ns, '1' after 300 ns;
c <= '1' after 40 ns, '0' after 80 ns, '1' after 120 ns, '0' after 160 ns, '1' after 200 ns, '0' after 240
ns,'1' after 280 ns;
b <= '1' after 80 ns, '0' after 160 ns,'1' after 240 ns;
a <= '1' after 160 ns;
end architecture;

Simulación.
Para poder simular usaremos el comando “run 320 ns” considerando el tiempo necesario
para poder cubrir todas las combinaciones necesarias de manera que en la siguiente
figura podemos observar entonces el comportamiento de la función.
5. ANÁLISIS DE RESULTADOS
Para comprobar el funcionamiento y los resultados obtenidos procedemos a comparar con
la tabla de verdad así que solamente cuando en tres de las cinco señales de entrada exista
un “high” obtnemos en la salida y un “high” para cualquier otra combinación la salida
estará dada por un “low”, cumpliendo asi con un funcionamiento correcto

6. CONCLUSIONES:
 Para construir la tabla de verdad se necesita generar estímulos asignando un
valor estimado de tiempo para que cada entrada pueda variar.
 Un test bench permite construir una tabla de verdad de un circuito
combinacional funcionando como un banco de pruebas en VHDL.

Las simulaciones ModelSim muestran los resultados experimentales y la
exactitud de la funcionalidad de varios módulos orientados al diseño de
circuitos
.
7. RECOMENDACIONES:
 Al compilar el proyecto si se produce algun error sintáctico debe ser debido a
incongruencias con los nombres de la entidad o arquitectura, es recomendable
realizar una revisión pertinente para evitar esto.
 Podemos ajustar las unidades del eje cronológico para una mejor visualización
de la señal.

8. BIBLIOGRAFÍA:
Synthesizable VHDL Design for FPGAs, Springer Science & Business Media, 21-Oct-
2013

También podría gustarte