Está en la página 1de 10

UNMSM

Facultad de Ingeniería Electrónica y Eléctrica

Apellidos y Nombres Matricula

López Lazo Bruno Eduardo 17190158

Curso Tema

Circuitos Digitales 1 Tarea del VHDL

Horario: Profesor:

Martes 2-6pm Ing. Rubén Alarcón Matutti


CIRCUITOS DIGITALES

TAREA N° 1 VHDL
Usando el programa de simulador funcional VHDL (no considera retardos), se pide escribir el
código VHDL, explicar mediante comentarios, simular y verificar el diagrama de tiempos. Escoger
como mínimo 04 ejercicios.

2.47 a) Escriba código de VHDL para describir las funciones siguientes:

̅̅̅̅ + 𝑋2𝑋3
𝑓1 = 𝑋1𝑋3 ̅̅̅̅ + 𝑋3
̅̅̅̅𝑋4
̅̅̅̅ + 𝑋1𝑋2 + 𝑋1𝑋4
̅̅̅̅

̅̅̅̅)(𝑋1 + 𝑋2 + 𝑋4
𝑓2 = (𝑋1 + 𝑋3 ̅̅̅̅ + 𝑋4
̅̅̅̅)(𝑋2 + 𝑋3 ̅̅̅̅

 Codificamos f1 en VHDL:

. Diagramas de tiempo de f1 en VHDL:


. Codificamos f2 en VHDL:

. Diagramas de tiempo de f2 en VHDL:

2.47 b) Use simulación funcional para comprobar que f1=f2.

 Diagrama de tiempos de f1:


 Diagrama de tiempos de f2:

 Se concluye de ambos diagramas de tiempos que ambos circuitos son iguales ya que su
salidas son iguales.

2.48 Considere las instrucciones siguientes de asignación en VHDL:

𝑓1 <= ((𝑋1 𝑎𝑛𝑑 𝑋3) 𝑜𝑟 (𝑛𝑜𝑡 𝑋1 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋3) 𝑜𝑟 ((𝑋2 𝑎𝑛𝑑 𝑋4) 𝑜𝑟 (𝑛𝑜𝑡 𝑋2 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋4));

𝑓2 ≤ (𝑋1 𝑎𝑛𝑑 𝑋2 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋3 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋4) 𝑜𝑟 (𝑛𝑜𝑡 𝑋1 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋2 𝑎𝑛𝑑 𝑋3 𝑎𝑛𝑑 𝑋4)

𝑜𝑟 (𝑋1 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋2 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋3 𝑎𝑛𝑑 𝑋4) 𝑜𝑟 (𝑛𝑜𝑡 𝑋1 𝑎𝑛𝑑 𝑋2 𝑎𝑛𝑑 𝑋3 𝑎𝑛𝑑 𝑛𝑜𝑡 𝑋4)

a) Escriba código de VHDL completo para implementar f1 y f2


 Codificamos f1 en VHDL:

. Diagrama de tiempos de f1 en VHDL:


 Codificamos f2 en VHDL:

. Diagrama de tiempos de f2 en VHDL:

- Use simulación funcional para comprobar que f1=f2’

. Codificamos f2’:
. Diagrama de tiempos de f2’ en VHDL:

Se observa que f1 y f2’ tienen la misma salida concluyéndose que f1=f2’

4.38 Escriba el código de VHDL para implementar la función 𝑓(𝑋1, … , 𝑋4) =


∑ 𝑚(0,1,2,4,5,7,8,9,11,12,14,15)

 Usamos mapas K para minimizar la función:

00 01 11 10

00 1 1 1

01 1 1 1

11 1 1 1

10 1 1 1

. Función booleana:

̅̅̅̅. 𝑋2
𝑓(𝑋1, … , 𝑋4) = 𝑋1 ̅̅̅̅. 𝑋4 ̅̅̅̅. 𝑋3
̅̅̅̅ + 𝑋2 ̅̅̅̅ + 𝑋3
̅̅̅̅. 𝑋4 ̅̅̅̅𝑋2𝑋4 + 𝑋1𝑋2𝑋3 + 𝑋1𝑋3𝑋4
̅̅̅̅ + 𝑋1

. Codificamos f en VHDL:
. Diagrama de tiempos de f en VHDL:

4.39 Escriba el código de VHDL para implementar la función 𝑓(𝑋1, … , 𝑋4) = ∑ 𝑚(1,4,7,14,15) +
𝐷(0,5,9)

 Usamos mapas K para minimizar la función:

00 01 11 10

00 X 1

01 1 X 1

11 1 1

10 X

 Función booleana:
𝑓(𝑋1, … , 𝑋4) = ̅̅̅̅
𝑋1. ̅̅̅̅
𝑋3 + ̅̅̅̅
𝑋1𝑋2𝑋4 + 𝑋1𝑋2𝑋3
 Codificamos f en VHDL:
. Diagrama de tiempos de f en VHDL:

4.40 Escriba el código de VHDL para implementar la función 𝑓(𝑋1, … , 𝑋4) = ∏ 𝑀(6,8,9,12,13)

 Usamos mapas K para minimizar la función:

00 01 11 10

00

01 0

11 0 0

10 0 0

 Función booleana:
̅̅̅̅ + 𝑋3)(𝑋1 + 𝑋2
𝑓(𝑋1, … , 𝑋4) = (𝑋1 ̅̅̅̅ + 𝑋3
̅̅̅̅ + 𝑋4)
 Codificamos f en VHDL:
. Diagrama de tiempos de f en VHDL:

4.41 Escriba el código de VHDL para implementar la función 𝑓(𝑋1, … , 𝑋4) = ∏ 𝑀(3,11,14) +
𝐷(0,2,10,12)

 Usamos mapas K para minimizar la función:

00 01 11 10

00 X 0 X

01

11 X 0

10 0 X

 Función booleana:
𝑓(𝑋1, … , 𝑋4) = (𝑋2 + ̅̅̅̅ ̅̅̅̅ + ̅̅̅̅
𝑋3)(𝑋1 𝑋3 + 𝑋4)
 Codificamos f en VHDL:
. Diagrama de tiempos de f en VHDL:

También podría gustarte