Вы находитесь на странице: 1из 6

1

Anlisis de Circuitos Digitales Mediante el Uso de


Microwind y Lenguaje Verilog
S. Bez, D. Aguinaga, D. Guzmn, L. Topn
Departamento de Elctrica y Electrnica, Universidad de las Fuerzas Armadas ESPE
Sangolqu, Ecuador

Resumen En este artculo se procede a explicar la solucin a


diferentes problemas digitales, la implementacin de los mismos
se realiza mediante el uso de lenguaje Verilog y el programa
Microwind, los tres ejercicios sern implementados en conjunto
con el uso de un multiplexor, como aporte al mismo se resuelven
problemas adicionales haciendo uso del programa DSCH.
Palabras clave DSCH, Microwind, Multiplexor, Verilog.

I. INTRODUCCIN
La bsqueda de facilitar la resolucin de problemas ha
permitido el desarrollo de varias tecnologas y softwares
principalmente en el campo de la electrnica, mediante la
aplicacin de circuitos digitales es decir, haciendo uso de
transistores NMOS y PMOS se resuelven problemas
eficientemente y de manera simplificada; para la
implementacin de los diseos electrnicos que se explican se
recurre a herramientas de software para simulacin como
MICROWIND, VERILOG entre otros.

disear circuitos lgicos manualmente en este programa, sin


embargo existen varias maneras de hacer que el diseo sea
ms sencillo y se eviten errores, una manera de realizar esto
eficientemente es el uso del lenguaje Verilog, el cual se trata
de tener la posibilidad de programar hardware, para aplicar
este mtodo se debe crear en un archivo .txt el diseo circuital
con transistores mediante el uso del lenguaje de programacin
Verilog un ejemplo de programacin en Verilog el cual
diseara un inversor como en la Fig. 2 se muestra a
continuacin:
(, )
;
;
(, , );
(, , );

II. DESARROLLO DEL ARTCULO


Para la solucin de los problemas planteados se har uso
de dos softwares conocidos Microwind y Verilog y un
software extra conocido como DSCH.

Fig. 2. Inversor

Se explica brevemente el cdigo el cual consiste en la


creacin de un inversor:
La programacin empieza con el comando:
module nombredelprograma (variables entrada y salida)

Fig. 1. Capas de un dispositivo MOS

El software Microwind es una herramienta muy til al


momento de hablar de diseo de hardware, aunque siendo la
implementacin de circuitos un tanto complicada debido a las
capas de las cuales se componen los transistores como se
indica en la Fig. 1, las cuales se deben tomar muy en cuenta al

Se procede a declarar las variables


input X -> declara variables de entrada
output Y -> declara variables de salida
Se crea el pull down network el cual debe ser de la siguiente
manera nmos(fuente,drenaje,compuerta):
(, , );

Se crea la pull up network la cual debe ser de la siguiente


manera nmos(drenaje,fuente,compuerta):
(, , );
EL programa finaliza con:
Al compilar este cdigo en Microwind los diseos lgicos
quedan directamente simulados una vez compilado el archivo
.txt en el software Microwind.
Una manera de comprobar que el diseo lgico que se
realiza con transistores funcione es mediante el uso del
programa DSCH el cual es un editor y simulador lgico, usado
para validar la arquitectura del circuito lgico antes del diseo
microelectrnicos. [1]
Como se realizan 3 ejercicios y una de las especificaciones
es que los 3 enunciados sean integrados en una sola
aplicacin, es necesario el empleo de multiplexores o
codificadores. Por lo cual se define las caractersticas del
multiplexor en la Fig. 3

Ejemplo 1: Construya mediante un circuito combinatorio


una maquina sper-elemental que reconozca, emitiendo la
seal [1] a la salida, si alguno de los siguientes hechos ocurren
en la historia de Alicia en el pas de las maravillas:

Alicia corre detrs de alguien.


La liebre de Marzo salta sobre el Sombrero Loco.
Alguien salta sobre la Reina de Corazones.
La liebre corre detrs de la Reina de Corazones.

Codifique del siguiente modo los fragmentos


(proposiciones) que debe reconocer la maquina:
a) Asigne a los cuatro personajes etiquetas binarias en
orden alfabtico:
Alicia 00.
La liebre de Marzo 01.
La Reina de Corazones 10.
El Sombrero Loco 11.
b) Relaciones:

X corre detrs de Y con la etiqueta 0.


X salta sobre Y con la etiqueta 1.

Ejemplo: La proposicin La Reina de Corazones salta


sobre el Sombrero Loco se transforma en 10111. Condicin
adicional: en esta historia nadie puede correr detrs de Alicia
ni saltar sobre ella. Observe que nadie puede correr detrs de
s mismo, ni saltar sobre s mismo. Minimizar el circuito
usando mapas de Karnaugh. Haga uso de condiciones
irrelevantes.
Desde el punto de vista del usuario de las acciones del
sistema se muestran en la Fig. 4.

Fig. 3. Caractersticas del Multiplexor

En cada ejercicio se procede a realizar los diagramas UML


los cuales son un lenguaje unificado de modelado, La
finalidad de los diagramas es presentar diversas perspectivas
de un sistema, a las cuales se les conoce como modelo. Siendo
este una representacin simplificada de la realidad; el modelo
UML describe lo que supuestamente har un sistema, pero no
dice cmo implementar dicho sistema. De las diferentes clases
de diagramas UML se usara el Diagrama de caso de usos el
cual es una descripcin de las acciones de un sistema desde el
punto de vista del usuario. [2]
Una vez definidos los parmetros de trabajo se procede a
realizar los ejemplos.

Fig. 4. Diagrama de caso de uso del Ejemplo 1

Mediante la lectura comprensiva del enunciado del ejemplo


se definen 3 bloques los mismos que se encuentran mostrados
en la Fig. 5.

Fig. 5. Diagrama de Bloques Ejemplo 1


Fig. 7. Mapa de Karnaugh Ejemplo 1

La Fig. 6 muestra el diagrama que relaciona las cuatro


entradas y la nica salida del ejemplo 1.

= +

(1)

En la Fig. 8. se aprecia el diagrama electrnico con el uso


de compuertas lgicas.

Fig. 6. Diagrama Variables Ejemplo 1

Segn lo solicitado en el enunciado del ejemplo 1 se realiza


la tabla de verdad mostrada en la tabla I.
TABLA I
TABLA DE VERDAD EJEMPLO 1

Fig. 8. Diagrama Electrnico

Al realizar el diseo del circuito con el uso de transistores


en Microwind, como se muestra en la Fig. 9, se procede a
compilar el programa y en base a los requerimientos que se
solicitaban se comprueba que el diseo cumple con lo
especificado.

Fig. 9. Esquema de diseo en Microwind del Ejemplo1

Para realizar el diseo en Microwind con el uso del lenguaje


Verilog se procede a realizar la programacin como se indica
en la Fig. 10.

A partir de la tabla de verdad, se determina la expresin


lgica que representa la solucin al problema planteado, la
cual una vez simplificada con el uso de mapas de Karnaugh
(Fig. 7.) La expresin lgica simplificada se representa en (1).

A partir del enunciado se obtiene el nmero de entradas y


salidas que se presentan en el ejemplo como se muestra en la
Fig. 14. esto permite obtener el nmero de transistores
necesarios, que en este caso sern 6, sin contar los inversores
que se necesiten, las variables que definen el comportamiento
del circuito se presentan en la tabla II.

Fig. 10. Cdigo de diseo de hardware en Verilog

Una vez compilado l archivo .txt que contiene la


programacin Verilog se obtiene el diseo mostrado en la Fig.
11.

Fig. 14. Diagrama de Bloques Ejemplo 2

TABLA II
DECLARACIN DE VARIABLES

Para obtener la funcin con la que se trabajara se realiza la


tabla de verdad tabla III. De acuerdo a los requerimientos del
ejemplo.
TABLA III
TABLA DE VERDAD EJEMPLO 2

Fig. 11. Esquema de diseo compilando lenguaje Verilog en Microwind

A
0
0
0
0
1
1
1
1

Ejemplo extra: Un tren elctrico subterrneo de control


automtico puede salir de la estacin solamente si todas las
puertas estn cerradas y la pista est libre. Sin embargo, si
hubiera problemas para cerrar las puertas, el tren podra partir
bajo control manual con las puertas abiertas, pero se requiere
que la pista est libre. Disee e implemente el circuito lgico
ms simple que determine el movimiento del tren.
Desde el punto de vista del usuario el ejemplo se definira
segn lo mostrado en la Fig.13.

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

F
0
1
0
0
0
0
0
1

A partir de la tabla de verdad, se determina la expresin


lgica que representa la salida del problema planteado, la cual
se representa en (2).

= . . + . .
En la Fig. 15.
presente ejemplo.

Fig. 13. Diagrama de caso de uso del Ejemplo 1

(2)

se aprecia el diagrama electrnico del

III. ANLISIS DE RESULTADOS

Fig. 25. Diagrama Electrnico Ejemplo 2

El circuito en base a los transistores requeridos del circuito


del problema se lo realiza en el programa como tambin en
Microwind, verificando la complejidad de realizar en este
ltimo, el diagrama en Microwind se indica en la Fig. 16.
Al momento de correr la simulacin, si se colocan las
variables de entrada en respuesta a lo solicitado en el
enunciado, se verifica que la respuesta cumple la tabla de
verdad, en este caso el comportamiento del tren se aprecia en
la Fig. 17 con esto se verifica el correcto funcionamiento del
diseo.

Los ejemplos realizados permitieron conocer y comparar el


uso de lenguaje Verilog para crear circuitos en Microwind y el
crearlos sin ayuda de este lenguaje, dejando como resultado
que los dos mtodos tienen sus ventajas y desventajas, por
ejemplo con el uso del lenguaje Verilog es mucho ms simple
crear el circuito en Microwind ya que se programa el hardware
guindose en el diseo original con transistores hecho en
papel, con el uso solo de Microwind es mucho ms extenso y
propenso a errores ya que para hacer las conexiones de un
circuito muy grande como el de esta prctica se debe tener en
cuenta el espacio, los conectores entre metales, que los
metales no se junten, y muchas cosas ms haciendo que este
mtodo no sea muy agradable, una ventaja que se tiene des
que conforman en s un circuito con transistores como los
compuestos de los cuales estn hechos los transistores. Al usar
el software DSCH se comprueba que es an ms fcil que
programar en Verilog solo si lo que se pretende es comprobar
el diseo lgico del circuito.. El haber realizado con xito las
simulaciones de los ejemplos comprueba la utilidad del cdigo
Verilog, el software Microwind y DSCH, en el diseo
circuitos digitales aplicados a la solucin de problemas.
IV. CONCLUSIONES

Fig. 16. Diagrama en Microwind del Ejemplo 2

Fig. 37. Diagrama del funcionamiento en DSCH del Ejemplo 2

Como se puede observar en la figura el diseo del circuito


mediante transistores en DSCH es mucho ms sencillo que en
Microwind, permitiendo realizar la simulacin del circuito, sin
la confusin del choque de metales que se presenta en
Microwind, el diseo del circuito cumple con el Pull Down
Network y Pull Up Network tal como se disea en papel
permitiendo tener una clara visin del trabajo que se va
realizando.

Por medio de la implementacin en el programa


Microwind se observa como es la creacin de un circuito
fsicamente utilizando transistores PMOS Y NMOS para
su diseo y correspondiente simulacin.
Al realizar los circuitos con Verilog se evita los fallos de
malas conexiones cuando se realiza la creacin manual
con los transistores NMOS y PMOS, adems mediante la
compilacin del programa, se puede detectar si existen
errores en las lneas de cdigo del lenguaje de
programacin donde son ms fciles de corregir,
produciendo una salida ms estable en la simulacin.
DSCH permite visualizar de una mejor manera la creacin
y conexin de cada lnea del circuito con los transistores
implementados, haciendo que este tipo de software sea
ms amigable y de fcil uso para el desarrollador.
El correcto planteamiento de los algoritmos en la
programacin para cada circuito combinacional ayuda a
que se pueda cumplir con los requerimientos establecidos
en el problema, cumpliendo as con la tabla de verdad de
cada circuito.
Utilizar softwares para el diseo y simulacin de circuitos
lgicos CMOS, simplifican la implementacin prctica de
dichos circuitos, ya que el utilizar compuertas lgicas
estndar genera el consumo de mayores recursos.
Es recomendable para evitar errores en el diseo,
comprender los enunciados de cada problema y generar
una tabla de verdad adecuada, as como los diagramas de
bloques y UML tanto de caso de uso y de secuencia, con
el fin de tener una mejor idea del circuito que se va a
implementar.

Se debe simplificar la funcin lgica para todo circuito


digital, con el fin de usar el menor nmero de compuertas
para optimizar el circuito y as mejorar su tiempo de
respuesta.
Para evitar errores se debe programar las compuertas una
por una, antes de pasar al diseo, dado que as ser ms
fcil reconocer errores al momento de la simulacin del
circuito multiplexado.
El uso del multiplexor fue primordial para poder unir las 3
aplicaciones en un solo diseo, aunque su implementacin
en Microwind fue muy extensa.
V. REFERENCIAS

[1] Microwind, DSCH, [En lnea]. Available:


] http://www.microwind.net/dsch.php.
[2] T. Abadia, Diagramas UML, [En lnea]. Available:
http://www.teatroabadia.com/.
[3] U. d. l. p. d. G. Canaria, Verilog Tutorial.
[4] P. Turmero, Diseo Digital usando Verilog.
[5] Microwind, Available: http://www.microwind.org.
[6] F. W, Digital Design Pearson Education, US, 1979.
[7] T. R, Sistemas Digitales Principios y aplicaciones 5ta Ed.,
Hispanoamericana SA, 1993.
[8] A. Mauricio, SlideShare, [En lnea]. Available:
http://es.slideshare.net/ANDRESMAURICIOSANJUAN/e
xposicion-circuitos-sumadores.

VI. AUTORES
Diana Aguinaga Naci en Quito Ecuador, el 21 de Marzo de 1992.
Realizo los estudios primarios y
secundarios en el colegio Julio Mara
Matovelle,
gradundose
en
la
especialidad de Fsico Matemtico.
Actualmente cursa el sptimo nivel de la
carrera de Ingeniera Electrnica y
Telecomunicaciones en la Universidad
de las Fuerzas Armadas "ESPE".
Silvana Bez Naci en Quito - Ecuador,
el 21 de Febrero de 1994. Estudio en el
colegio Lev Vygotsky, gradundose en la
especialidad Ciencias. Actualmente cursa
el sexto nivel de la carrera de Ingeniera
Electrnica en Automatizacin y Control
en la Universidad de las Fuerzas
Armadas "ESPE".
Diego Guzmn
Naci en Quito Ecuador, el 19 de Julio de 1993. Estudio
en el colegio Militar Eloy Alfaro,
gradundose en la especialidad de
Ciencias. Actualmente cursa el sptimo
nivel de la carrera de Ingeniera
Electrnica y Telecomunicaciones en la

Universidad de las Fuerzas Armadas "ESPE".


Luis Topn Naci en Quito, el 5 de
Febrero de 1990. Estudio en el colegio
Juna de Salinas, gradundose en la
especialidad de Qumico Biologicas.
Actualmente cursa el sptimo nivel de
la
carrera
de Electrnica
y
Telecomunicaciones en la Universidad
de las Fuerzas Armadas "ESPE".