Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ISSN 0122-1701
1
conservarán los procedimientos en donde se usa Luego de encontrar una expresión booleana, se es
Verilog. necesario conocer si esta puede de alguna forma ser
reducida. Es aquí cuando se introducen los mapas de
A. Desarrollo de circuitos Karnaugh. El proceso de simplificación de (1) es el
que se muestra continuación:
Circuito #1
Mapa de Karnaguh circuito #1
AB \ CD 00 01 11 10
Información 00 1 0 1 1
01 0 1 0 1
El circuito para analizar es el siguiente: 11 0 1 0 0
10 1 1 0 0
S= A BC+ B C D+ A BC + A C D+ A B D
(1.2)
Implementación en código
S= ABCD+ AB C D+ A B C D+ A B C D+ A BCD+ A BC D+ AB C D
(1)
____________________________
4 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
Representación circuito #3
Desarrollo
Circuito #3
Información
Procedimiento de expresión en compuertas básicas
El circuito para analizar es el siguiente:
circuito #3
Implementación en código A B C S
0 0 0 1
La implementación se realizó por dos metodologías 0 0 1 1
diferentes, la primera consiste en usar la expresión 0 1 0 1
booleana general como la que se definió con la 0 1 1 0
formula (2) y la segunda consiste en usar el llamado 1 0 0 1
a módulos. La representación en cada una es la 1 0 1 0
siguiente: 1 1 0 1
1 1 1 1
En la figura anterior se muestra la definición de la Para el desarrollo de esta expresión lógica se decidió
expresión definida en la ecuación (1.2), que usa el método de producto de sumas debido a que el
representa una expresión reducida equivalente del número de salidas que eran cero es mucho menor
circuito, usando la sintaxis definida por el lenguaje comparado con aquellas que con 1. Usar esta
Verilog. condición de parada a la hora de escoger una
metodología de desarrollo permite ser mucho más
ágil durante el desarrollo.
Implementación en código
____________________________
6 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
ROBOT
Circuito #6
La definición del diseño consta de usar las entradas Una representación es la siguiente:
indicadas anteriormente, en este caso el identificador
binario estaría dado por order la cual es una entrada
de 3 bits (puede verse en la definición del tamaño
[2:0], similar a la definición de arreglos) y para la
cadena de bits en posiciones representativas se tiene
la salida response con un tamaño de 7 bits (puede
verse en la definición [7:0]). Cabe resaltar que estos
tamaños se escogieron según el número de posibles
distintas entradas que se podrían obtener; este
número este dado por las 8 posibilidades que se
describen en la tabla codificación y asignación de
Modulo ALU (Arithmetic Logic Unit)
salidas según entradas.
Desarrollo
Nótese que también se podría utilizar como salida la
El Desarrollo está dado por la figura anterior. Su
misma entrada, esto debido a que ya se conoce la
funcionamiento consta de recibir cuatro entradas, dos
forma de la entrada, sin embargo, allí no se tendría la
de ellas serán los números a operar, siendo cada
aplicación del concepto de codificación solicitado,
número representado por un registro de 32 bits, una
como ya sucede en la actual asignación de valores.
tercera entrada llamada ALUOp que hace referencia
Recordemos que al hablar de decodificación se hace
al selector de operaciones y una cuarta que será clk
referencia al proceso de codificar una nueva salida a
(igual funcionamiento que en el circuito #5).
partir de una entrada dada, como por ejemplo el
funcionamiento de un display 7 segmentos.
Implementación en código
Aparece también una nueva entrada, clk, esta será
El código resultante fue el siguiente:
conocida como la señal de control, aquella que
permite dar la orden en un momento determinado al
resto del diseño de que se puede evaluar la entrada
ingresada.
____________________________
8 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
B. Resultados y análisis
A=0,B=1,C=0,D=1, sBooleanEcuation=1,
sModulesCallstb=1
A=0,B=1,C=1,D=0, sBooleanEcuation=1,
sModulesCallstb=1
Circuito #1 A=0,B=1,C=1,D=1, sBooleanEcuation=0,
sModulesCallstb=0
Testbench A=1,B=0,C=0,D=0, sBooleanEcuation=1,
sModulesCallstb=1
El banco de pruebas definido para el circuito #1 fue A=1,B=0,C=0,D=1, sBooleanEcuation=1,
el siguiente: sModulesCallstb=1
A=1,B=0,C=1,D=0, sBooleanEcuation=0,
sModulesCallstb=0
A=1,B=0,C=1,D=1, sBooleanEcuation=0,
sModulesCallstb=0
A=1,B=1,C=0,D=0, sBooleanEcuation=0,
sModulesCallstb=0
A=1,B=1,C=0,D=1, sBooleanEcuation=1,
sModulesCallstb=1
A=1,B=1,C=1,D=0, sBooleanEcuation=0,
sModulesCallstb=0
A=1,B=1,C=1,D=1, sBooleanEcuation=0,
sModulesCallstb=0
A=0,B=0,C=0,D=0, sBooleanEcuation=1,
sModulesCallstb=1
Testbench circuito #1
A primera vista se puede observar dos tipos de
salidas (sBooleanEcuation y sModulesCasllstb), esto
Como se observa en la figura se definieron las
es por los dos formas distintas en que se expresó el
mismas variables que se usan en el módulo diseñado
circuito, una por medio de expresiones booleanas y
para el circuito analizado, que en este caso dicho
otra por medio de compuertas.
modulo se hace llamar excerciseONE.
Se puede ver que los valores para ambas salidas son
En el código restante se le asigna el tiempo total de
los mismos, lo que indica que ambas formas de
ejecución el cúal será 160 microsegundos
expresión son equivalentes. Por otra parte, dichos
correspondientes a 16 posibilidades de ingreso
valores son iguales a los que indica la tabla de verdad
distintas y se procede a la asignación automática de
propuesta, por ende podemos concluir que el diseño
valores por medio de un ciclo for. Es de recalcar que
del circuito es válido.
el tiempo de ejecución tanto en este como en el resto
de circuitos será en estas escalas debido a que casi
Circuito #2
siempre se usará un delay de #10 microsegundos.
Testbench
Resultados y análisis
El banco de pruebas definido para el circuito #2 fue
Los resultados obtenidos de la ejecución son:
el siguiente:
A=0, B=0,C=0,D=0,sBooleanEcuation=1,
sModulesCallstb=1
A=0,B=0,C=0,D=1, sBooleanEcuation=0,
sModulesCallstb=0
A=0,B=0,C=1,D=0, sBooleanEcuation=1,
sModulesCallstb=1
A=0,B=0,C=1,D=1, sBooleanEcuation=1,
sModulesCallstb=1
A=0,B=1,C=0,D=0, sBooleanEcuation=0,
sModulesCallstb=0
____________________________
10 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
Resultados y análisis
Tamo #4
Tramo #2
____________________________
12 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
Hasta el momento el diseño de los circuitos se ha A=0, B=0, C=0, sModulesCalls=1, sModulesCalls=1
validado comparando sus dos tipos de salida entre sí A=0, B=0, C=1, sModulesCalls=1, sModulesCalls=1
y con respecto a una tabla de verdad. En esta testeo A=0, B=1, C=0, sModulesCalls=1, sModulesCalls=1
se podrá validar el diseño del circuito únicamente si A=0, B=1, C=1, sModulesCalls=0, sModulesCalls=0
las ondas de cada salida son exactamente iguales. A=1, B=0, C=0, sModulesCalls=1, sModulesCalls=1
A=1, B=0, C=1, sModulesCalls=0, sModulesCalls=0
Ahora bien, observe que a partir que el circuito al A=1, B=1, C=0, sModulesCalls=1, sModulesCalls=1
inicio se comporta de manera tal que muchas A=1, B=1, C=1, sModulesCalls=1, sModulesCalls=1
entradas producen excitación en el mismo, mientras A=0, B=0, C=0, sModulesCalls=1, sModulesCalls=1
que en dos ocasiones después de esto sucede que el
circuito no produce ningún tipo de salida excitatoria Del resultado de la ejecución, al observar las dos
(salida uno), más sin embargo, en medio de estas dos salidas se puede decir que ambas formas de
ocasiones pasan pequeños fragmentos en donde se expresión son equivalentes. Por otra parte, se puede
tiene cierta actividad. ver que los resultados corroboran con la tabla de
verdad generada del análisis realizado al circuito, por
Al revisar toda la onda formada se puede observar ende se puede indicar que el diseño del circuito es
que ambas salidas corresponden en sus valores, es válido.
decir, son equivalentes. Es entonces que podemos
afirmar que el diseño del circuito por ambos métodos Circuito #5
es válido.
Testbench
Se dará por sentado que las expresiones por sí
mismas están correctas. El banco de pruebas definido para el circuito #5 fue
el siguiente:
Circuito #4
Testbench
Testbench circuito #5
Scientia
13 et Technica Año 2022, No 01, Mes 08 de 2022. Universidad Tecnológica de Pereira.
Resultados y análisis
Suma
Resta
____________________________
14 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad
Tecnológica de Pereira.
OR lógico
AND lógico
Default
Scientia
15 et Technica Año 2022, No 01, Mes 08 de 2022. Universidad Tecnológica de Pereira.
EPWave Circuito #1
EPWave Circuito #2
EPWave Circuito #3
____________________________
16 Scientia et Technica Año 2022, No 01, Mes 08 de 2022. Universidad Tecnológica de Pereira.
EPWave Circuito #4
EPWave Circuito #5
EPWave Circuito #6
Scientia
17 et Technica Año 2022, No 01, Mes 08 de 2022. Universidad Tecnológica de Pereira.
III. CONCLUSIONES
REFERENCIAS
____________________________