UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
Universidad del Perú. Decana de América
Unidad de Pregrado
Facultad de Ingeniería Electrónica y Eléctrica
LABORATORIO N° 6
DISEÑO E IMPLEMENTACIÓN EN FPGA DE CIRCUITOS
COMBINACIONALES
Trabajo presentado para el curso de Laboratorio de Circuitos Digitales
Docente
Alfredo Granados Ly
Alumna
Josselyn Jazmin Huarcaya Calle
Código
19190239
Lima, Perú
2022
LABORATORIO N° 6
DISEÑO E IMPLEMENTACIÓN EN FPGA DE CIRCUITOS
COMBINACIONALES
EXPERIENCIA No1:
Se desea implementar un circuito digital que activa la lámpara bajo las siguientes
condiciones:
- Persona camina por un callejón en la oscuridad de la noche.
Asuma que el sensor PIR se activa en bajo y el sensor de luz se activa en alto.
Se le pide:
- Implementar la TV del circuito
a b F
0 0 1
0 1 0
1 0 0
1 1 0
- Implementar la función en base a la suma de mini términos
F = m0 = a’b’
- Reducir la función si fuera posible:
F = a’b’
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
EXPERIENCIA No2:
Se desea instalar un sistema de alarma en una vivienda compuesto por dos sensores (a y
b) colocadas en ventanas, y un interruptor de la alarma (c). Cuando el sistema está
activado un timbre deberá sonar al abrir alguna o las dos ventanas. Si el sistema no está
activado el timbre no sonará, aunque se abra alguna de las ventanas.
Se le pide:
- Implementar la TV del circuito
a b c F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
- Implementar la función en base a la suma de mini términos
F = m3+m5+m7 = a’bc+ab’c+abc
- Reducir la función si fuera posible:
F = a’bc+ab’c+abc
= c(a’b+ab’+ab)
= c(a´b+a(b’+b))
= c(a´b+a)
=c(a+b)
=ac+bc
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
EXPERIENCIA No3:
Implementar el circuito que permita decidir si se ve o no la televisión en una casa
sabiendo, que en el caso de que los dos padres estén de acuerdo esa será la decisión
adoptada. Sólo en el caso de que los padres no estén de acuerdo, la decisión la tomará el
hijo (A: madre; B: padre; C: hijo). Cuando la salida S sea 1 se verá la tele.
Se le pide:
- Implementar la TV del circuito
a b c F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
- Implementar la función en base a la suma de mini términos
F = m3+m5+m6+m7 = a’bc+ab’c+abc’+abc
- Reducir la función si fuera posible:
F = a’bc+ab’c+abc’+abc
= c(a’b+ab’+ab) + abc’
= c(a´b+a(b’+b)) + abc’
= c(a´b+a) + abc’
= c(a+b) + abc’
= ac+bc + abc’
= a(c+bc’)+bc
= a(c+b)+bc
= ac+ab+bc
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
EXPERIENCIA No4:
Una habitación dispone de un sistema de alumbrado con 4 interruptores. El sistema se
encenderá cuando el número de interruptores accionados sea impar.
Se le pide:
- Implementar la TV del circuito
a b c d F
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
- Implementar la función en base a la suma de mini términos
F = m1+m2+m4+m7+m8+m11+m13+m14
- Reducir la función si fuera posible:
F= a’b’c’d+a’b’cd’+a’bc’d’+a’bcd+ab’c’d’+ab’cd+abc’d+abcd’
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
EXPERIENCIA No5:
Implemente un circuito digital que detecte si un número binario de 4 bits es primo.
Se le pide:
- Implementar la TV del circuito
a b c d F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 0
- Implementar la función en base a la suma de mini términos
F = m3+m5+m7+m11+m13
- Reducir la función si fuera posible:
F = a’b’cd+a’bc’d+a’bcd+ab’cd+abc’d
= a’(b’cd+bc’d+bcd)+ ab’cd+abc’d
= a’(cd(b’+b)+bc’d)+ ab’cd+abc’d
= a’(cd+bc’d)+ ab’cd+abc’d
= a’cd+a’bc’d+ ab’cd+abc’d
= bc’d(a’+a)+ a’cd+ ab’cd
= bc’d+ a’cd+ ab’cd
= cd(a’+ ab’)+ bc’d
= cd(a+b’)+ bc’d
= cda+b’cd+bc’d
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
EXPERIENCIA No6:
Un sistema indicador de la temperatura de un proceso químico posee tres sensores de
temperatura digitales. Cada indicador dará una salida de 1 si la temperatura está por
encima del valor previamente definido. Diseña el circuito para que el sistema detecte
cuando la temperatura del proceso esté comprendida entre T1 y T2, o que sea superior a
T3 (T1<T2<T3).
Se le pide:
T1 T2 T3 F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
- Expanda la función encontrada para expresarlo en su forma canónica.
F = m1+m2+m3+m4+m5+m6+m7+m8
= a’b’c+a’bc’+a’bc+ab’c’+ab’c+abc’+abc
= a’b’c+a’b(c’+c)+ab’(c’+c)+ab(c’+c)
= a’b’c+a’b+ab’+ab
= a’(b’c+b)+a(b’+b)
= a’(b+c)+a
= a+b+c
EXPERIENCIA No7:
Se desea diseñar un circuito de control de una máquina trituradora provista de dos
trituradores (S1 y S2) y de dos sensores (a,b) que determinan el nivel de los elementos a
triturar. Cuando la máquina está llena deben entrar en funcionamiento ambos trituradores.
A niveles intermedios sólo debe funcionar uno de los trituradores. Si no se detecta ningún
elemento a triturar, ambos trituradores han de estar parados. Además, el sistema dispone
de un interruptor de emergencia (p) de modo que cuando esté conectado, la máquina opera
según su contenido. Si el interruptor p está desconectado, la máquina ha de pararse
independientemente de su contenido.
Se le pide:
a b p F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
- Implementar el código VHDL en el MAX+PLUS II utilizando un FPGA como
dispositivo final (EPF10K10LC84). Utilice el estilo flujo de datos.
- Indique la función encontrada por los algoritmos de síntesis
- Expanda la función encontrada para expresarlo en su forma canónica.
F = m3+m5+m7
F = a’bp+ab’p+abp
= p(a’b+ab’+ab)
= p(a’b+a(b’+b))
= p(a’b+a)
= p(a+b)