You are on page 1of 96

NDICE DE CONTENIDOS

1.

TEMA........................................................................................................................4

2.

PLANTEAMIENTO DEL PROBLEMA...................................................................4

3.

OBJETIVOS..............................................................................................................4

4.

5.

3.1.

Objetivo General.................................................................................................4

3.2.

Objetivos Especficos.........................................................................................4

MARCO TERICO...................................................................................................4
4.1

Familia MOS.......................................................................................................4

4.2

El transistor nMOS.............................................................................................5

4.3

El Transistor pMOS............................................................................................6

4.4

Puertas de paso: NMOS, PMOS.........................................................................6

4.5

Lgica combinacional cMOS.............................................................................7

4.6

Inversor CMOS...................................................................................................8

4.7

Compuerta NAND CMOS..................................................................................8

4.8

Compuerta NOR CMOS.....................................................................................9

4.9

Multiplexor CMOS.............................................................................................9

4.10

lgebra de boole. Lgica combinacional......................................................10

4.11

Estados lgicos y funcin lgica...................................................................10

4.12

Teoremas booleanos......................................................................................10

4.13

Simplificacin de funciones utilizando mapas de Karnaugh........................11

4.14

Microwind.....................................................................................................12

4.15

Dsch...............................................................................................................12

DESARROLLO DEL PROYECTO.........................................................................12


5.1

DISPLAY DE 7 SEGMENTOS........................................................................12

5.1.1.

Tabla de verdad.........................................................................13

5.1.2.

Mapas de K................................................................................ 13

5.1.3.

Funciones Simplificadas............................................................15

5.2

DECODIFICADORES.....................................................................................15

5.2.1

Tabla de verdad.........................................................................15

5.2.2

Funciones Simplificadas............................................................16

5.3

DETECTOR DE NMEROS PRIMOS EN BCD-XS-3.................................16

5.3.1.

Tabla de verdad.........................................................................16

5.3.2.

Mapa K...................................................................................... 17

5.3.3.

Funcin Simplificada..................................................................17

5.4

COMPARADOR...............................................................................................17
1

6.

5.4.1.

Tabla de verdad.........................................................................17

5.4.2.

Mapa K...................................................................................... 19

5.4.3.

Funcin Simplificada..................................................................19

DIAGRAMAS..........................................................................................................20
6.1

Diagramas de bloques.......................................................................................20

6.1.1

Bcd 7 segmentos.......................................................................20

6.1.2

Decodificadores.........................................................................20

6.1.3

Detector de nmeros primos en bcd-xs-3.................................20

6.1.4

Comparador.............................................................................. 21

6.2

Diagramas UML de casos de uso......................................................................21

6.2.1

Bcd 7 segmentos.......................................................................21

6.2.2

Decodificadores.........................................................................21

6.2.3

Detector de nmeros primos en bcd-xs-3.................................22

6.2.4

Comparador.............................................................................. 22

6.3

Diagramas elctricos.........................................................................................22

6.3.1

Bcd 7 segmentos.......................................................................22

6.3.2

Decodificadores.........................................................................28

6.3.3

Detector de nmeros primos en bcd-xs-3.................................33

6.3.4

Comparador.............................................................................. 38

6.4

Diagramas UML de secuencias........................................................................43

6.4.1

Bcd 7 segmentos.......................................................................43

6.4.2

Decodificadores.........................................................................43

6.4.3

Detector de nmeros primos en bcd-xs-3.................................44

6.4.4

Comparador.............................................................................. 44

6.5

Diagramas esquemticos...................................................................................45

6.5.1

Bcd 7 segmentos.......................................................................45

6.5.2

Decodificadores.........................................................................47

6.5.3

Detector de nmeros en bcd-xs-3.............................................48

6.5.4

Comparador.............................................................................. 48

7.

CDIGO VERILOG................................................................................................48

8.

EXPLICACIN DEL CDIGO..............................................................................55

9.

LISTA DE COMPONENTES..................................................................................55

10.

MAPA DE VARIABLES......................................................................................56

10.1

Bcd 7 segmentos...........................................................................................56

10.2

Decodificadores.............................................................................................56

10.3

Detector de nmeros primos en bcd-xs-3......................................................57

10.4

Comparador...................................................................................................58
2

11.

DESCRIPCIN DE PRERREQUISITOS Y CONFIGURACIN......................58

12.

APORTACIONES................................................................................................59

12.1

Tabla de verdad.............................................................................................59

12.2

Funcin simplificada.....................................................................................59

12.3

Diagrama de bloques.....................................................................................60

12.4

Diagrama UML (casos de uso)......................................................................60

12.5

Diagrama UML de secuencias......................................................................60

12.6

Diagramas elctricos.....................................................................................60

12.7

Diagrama esquemtico..................................................................................66

12.8

Mapa de variables.........................................................................................66

12.9

Cdigo Verilog..............................................................................................66

13.

CONCLUSIONES................................................................................................67

14.

RECOMENDACIONES......................................................................................68

15.

CRONOGRAMA.................................................................................................68

16.

BIBLIOGRAFA..................................................................................................69

17.

ANEXOS..............................................................................................................70

17.1

Manual de Usuario........................................................................................70

Tabla de verdad............................................................................................................72

NDICE DE FIGURAS
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.

1. Representacin y smbolos de los transistores MOSFET...............................7


2. Transistor nMOS.............................................................................................7
3. Transistor pMOS..............................................................................................8
4. Puerta de paso nMOS.......................................................................................9
5. Puerta de paso pMOS.......................................................................................9
6. Lgica combinacional cMOS...........................................................................9
7. Inversor CMOS..............................................................................................10
8. Compuerta NAND CMOS.............................................................................10
9. Compuerta NOR CMOS................................................................................11
10. Multiplexor CMOS......................................................................................11
11. Circuito Binario............................................................................................12
12. Mapa K de dos entradas
Figura. 13. Mapa K de tres entradas.............13
14. Mapa K de 4 entradas...................................................................................14
15. Enunciado problema 1.................................................................................15
16. Enunciado problema 2.................................................................................17
17. Enunciado problema 4.................................................................................19
18. Diagrama de bloques problema 1.................................................................22
19. Diagrama de bloques problema 2.................................................................22
20. Diagrama de bloques problema 3.................................................................22
21. Diagrama de bloques problema 4.................................................................23
3

Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.
Figura.

22. Diagrama UML de casos de uso problema 1...............................................23


23. Diagrama UML de casos de uso problema 2...............................................23
24. Diagrama UML de casos de uso problema 3...............................................24
25. Diagrama UML de casos de uso problema 4...............................................24
26 Simulacin Microwind problema 1...............................................................25
27. Resultado de Microwind problema 1...........................................................26
28. Simulacin Microwind con verilog problema 1..........................................27
29. Resultado de Microwind con verilog problema 1........................................28
30. Simulacin DSCH problema 2.....................................................................29
31. Simulacin Microwind problema 2..............................................................30
32. Resultado de Microwind problema 2...........................................................31
33. Simulacin Microwind con verilog..............................................................32
34. Resultado de Microwind con verilog...........................................................33
35. Simulacin DSCH problema 2....................................................................34
36. Simulacin Microwind problema 3..............................................................35
37. Resultado de Microwind problema 3...........................................................36
38. Simulacin Microwind con verilog..............................................................37
39. Resultado de Microwind con verilog problema 3........................................38
40. Simulacin DSCH problema 3....................................................................39
41. Simulacin Microwind problema 4..............................................................40
42. Resultado de Microwind problema 4...........................................................41
43. Simulacin Microwind con verilog..............................................................42
44. Resultado de Microwind con verilog...........................................................43
45. Simulacin DSCH problema 4.....................................................................44
46. Diagrama UML de secuencias problema 1..................................................45
47. Diagrama UML de casos de uso problema 2...............................................45
48. Diagrama UML de secuencias problema 4..................................................46
49. Diagrama esquemtico de segmento a problema 1......................................47
50. Diagrama esquemtico de segmento b problema 1......................................47
51. Diagrama esquemtico de segmento c problema 1......................................47
52. Diagrama esquemtico de segmento d problema 1......................................48
53. Diagrama esquemtico de segmento e problema 1......................................48
54. Diagrama esquemtico de segmento f problema 1.....................................48
55. Diagrama esquemtico de segmento g problema 1......................................49
56. Diagrama esquemtico problema 2..............................................................49
57. Diagrama esquemtico problema 3..............................................................50
58. Diagrama esquemtico problema 4..............................................................50
59. Diagrama de bloques problema extra...........................................................62
60. Diagrama UML de casos de uso problema extra.........................................62
61. Diagramas UML de secuencias problema extra...........................................62
62. Simulacin de Microwind problema extra..................................................63
63. Resultado de Microwind problema extra.....................................................64
64.Simulacin de Microwind con verilog..........................................................65
65. Resultado de Microwind con verilog...........................................................66
66. Simulacin en DSCH problema extra........................................................67
67. Diagrama esquemtico problema extra........................................................68
68 Cronograma...................................................................................................70
4

Figura. 69. Cronograma Diagrama de Gantt..................................................................71

NDICE DE TABLAS
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.
Tabla.

1. Tabla de verdad de una compuerta NAND......................................................10


2. Tabla de verdad de una compuerta NOR.........................................................11
3. Tabla de verdad de un Multiplexor de 2 a 1.....................................................11
4. Tabla de Verdad...............................................................................................12
5. Teoremas booleanos.........................................................................................13
6. Tabla de Verdad...............................................................................................13
7. Tabla de verdad problema 1.............................................................................15
8. Mapa K de led a problema 1............................................................................15
9. Mapa K de led b problema 1...........................................................................16
10. Mapa K de led c problema 1..........................................................................16
11. Mapa K de led d problema 1..........................................................................16
12. Mapa K de led e problema 1..........................................................................16
13. Mapa K de led f problema 1..........................................................................17
14. Mapa K led g problema 1..............................................................................17
15. Tabla de verdad problema 2...........................................................................18
16. Tabla de verdad problema 3...........................................................................19
17. Mapa K problema 3.......................................................................................19
18. Tabla de verdad 1 problema 4........................................................................20
19. Tabla de verdad 2 problema 4........................................................................21
20. Mapa K 1 problema 4....................................................................................21
21. Mapa K 2 problema 4....................................................................................21
22. Lista de componentes....................................................................................58
23. Variable de entrada problema 1.....................................................................58
24-. Variables de salida problema 1.....................................................................58
25. Variables de entrada problema 2....................................................................59
26. Variables de salida problema 2......................................................................59
27. Variables de entrada problema 3....................................................................60
28. Variables de salida problema 3......................................................................60
29. Variables de entrada problema 4....................................................................60
30. Variables de salida problema 4......................................................................60
31. Tabla de verdad problema extra.....................................................................61
32. Variables de entrada problema extra..............................................................68
33. Variables de salida problema extra................................................................68

1. TEMA.
Producto de Unidad No 1.

2. PLANTEAMIENTO DEL PROBLEMA.


La tecnologa CMOS (Complementary Metal Oxide Semiconductor, "Metal xido
Semiconductor Complementario") es utilizada para la fabricacin de circuitos
integrados, se caracteriza por manipular conjuntamente transistores de tipo PMOS
(polaridad positiva) y tipo NMOS (polaridad negativa), configurados de tal forma
que, en estado de reposo, el consumo de energa es debido a las corrientes parsitas.
(Noriega, 2006)
En la actualidad, la mayora de los circuitos integrados que se fabrican utilizan la
tecnologa CMOS, esto incluye microprocesadores, memorias, DSPs y muchos otros
tipos de chips digitales.
En el presente trabajo se vio la necesidad de implementar y dar solucin a
problemas de electrnica digital, empleando transistores de efecto de campo tipo
PMOS y NMOS, para de este modo comprender de mejor manera el diseo de
compuertas lgicas, adems de la utilizacin de herramientas de software como
MICROWIND y DSCH para facilitar el diseo y simulacin de los circuitos.

3. OBJETIVOS.
3.1.

Objetivo General.
Disear e implementar el circuito solucin a los problemas propuestos de
electrnica digital, con la ayuda de software para realizar las simulaciones
como Microwind y DSCH.

3.2.

Objetivos Especficos.
Aplicar los conocimientos adquiridos en Sistemas Digitales para realizar
el diseo del circuito solucin de los problemas propuestos.
Realizar la tabla de verdad correspondiente para cada problema y utilizar
mtodos de reduccin de funciones lgicas.
Simular el diseo de cada uno de los ejercicios y verificar el
funcionamiento lgico de los mismos.
Generar el cdigo Verilog para cada uno de los problemas propuestos.

4. MARCO TERICO
4.1 Familia MOS.
Las familias MOS son aquellas que basan su funcionamiento en los transistores
de efecto campo o MOSFET. Estos transistores se pueden clasificar en dos tipos,
segn el canal utilizado: NMOS y PMOS. (Cuadros, 2010)

Figura. 1. Representacin y smbolos de los transistores MOSFET.

4.2 El transistor nMOS


Un transistor MOS (Metal-Oxide-Silicon) de canal n (nMOS), es una estructura
fsica creada mediante la superposicin de diferentes materiales:
o Un sustrato tipo p ligeramente.
o Dos regiones tipo n fuertemente dopadas, fuente y drenador, separadas
por una regin de sustrato llamada canal.
o Una fina capa de aislante sobre el canal.
o Una capa de polisilicio sobre el aislante.

Figura. 2. Transistor nMOS

Elctricamente, un transistor nMOS es un dispositivo de 4 terminales que


permite controlar por voltaje la intensidad que circula por el canal.
o Sustrato: tpicamente no se tiene en cuenta porque suele estar conectado
a GND.
o Puerta: es un terminal de control que regula la intensidad que circula por
el canal.
o Fuente y drenador: son los terminales origen y destino de los
portadores de carga (electrones), fsicamente son equivalentes, nombre
depende del sentido de la intensidad
Fuente: origen del flujo de electrones, destino de intensidad.
Drenador: destino del flujo de electrones, origen de intensidad.
(Cuadros, 2010)
7

4.3 El Transistor pMOS


Un transistor PMOS es un dispositivo con una construccin y comportamiento
duales a las del transistor nMOS. Este transistor est formada por:
o Un sustrato tipo n ligeramente dopado.
o Dos regiones tipo p fuertemente dopadas, fuente y drenador, separadas
por una regin de sustrato llamada canal.
o Una fina capa de aislante sobre el canal.
o Una capa de polisilicio sobre el aislante. (Mecha Lpez & Mendias
Cuadros)

Figura. 3. Transistor pMOS

De manera elctrica, un transistor pMOS es un dispositivo de 4 terminales que


por medio de voltaje controla la intensidad que circula por el canal.
o Sustrato: tpicamente no se tiene en cuenta porque suele estar conectado
a PWR.
o Puerta: es un terminal de control que regula la intensidad que circula por
el canal.
o Fuente y drenador: son los terminales origen y destino de los portadores
de carga (huecos), fsicamente son equivalentes, su nombre depende del
sentido de la intensidad. (Cuadros, 2010)
4.4 Puertas de paso: NMOS, PMOS
Comportamiento de un transistor nMOS:
Si G='0' fuente y drenador se aslan, en transistor no conduce.
Si G='l ' fuente y drenador se unen mediante el canal, el transistor
conduce
o transmitiendo sin distorsionar los '0' s.
o transmitiendo distorsionados los ' 1 's.

Figura. 4. Puerta de paso nMOS

Comportamiento de un transistor pMOS:


Si G='1' fuente y drenador se aslan, en transistor no conduce.
Si G='0' fuente y drenador se unen mediante el canal, el transistor
conduce
o transmitiendo sin distorsionar los '1 's.
o transmitiendo distorsionados los '0' s. (Cuadros, 2010)

Figura. 5. Puerta de paso pMOS

4.5 Lgica combinacional cMOS


Todo circuito combinacional CMOS esttico se basa en la conexin de dos
rboles duales con entradas comunes y salida comn, que en estado estacionario
no conducen simultneamente
o rbol de pull-up, formado nicamente por transistores pMOS, que
conectan condicionalmente (en funcin de las entradas) la salida a Vdd.
o rbol de pull-down, formado nicamente por transistores nMOS, que
conectan condicionalmente (en funcin de las entradas) la salida a Vss.
(Cuadros, 2010)

Figura. 6. Lgica combinacional cMOS

Reglas de diseo:
o Los transistores se usan como interruptores (controlados por puerta).
o Los rboles se construyen conectando en serie o en paralelo grupos de
transistores del mismo tipo.
9

o Es condicin suficiente aunque no necesaria que las estructuras de


transistores de los rboles sean duales (ej. Si en el rbol de pull-up los
transistores estn en serie, en el de pull-down estarn en paralelo).
o Implementa lgica inversora, es decir, funciones inversas se implementan
directamente, funciones directas requieren de un inversor adicional.
(Cuadros, 2010)
4.6 Inversor CMOS
Un inversor CMOS (Complementary MOS) esttico est formado por un
transistor pMOS en serie con un transistor nMOS con sus puertas unidas:
o La entrada del inversor es la puerta comn y la salida, el punto de unin
de los transistores.
o El transistor pMOS se llama transistor de pull-up, tiene un terminal
conectado a Vdd y es el encargado de poner la salida a 1 cuando
conduce (cuando la entrada vale 0).
El transistor nMOS se llama transistor de pull-down, tiene un terminal conectado
a Vss y es el encargado de poner la salida a 0 cuando conduce (cuando la
entrada vale 1). (Cuadros, 2010)

Figura. 7. Inversor CMOS

4.7 Compuerta NAND CMOS


rbol de pull up:
o Proporciona el uno.
o Transistores P en paralelo conectados a Vdd y a la salida.
rbol de pull down:
o Proporciona el cero.
o Transistores N en serie conectados a GND y a la salida.
Y = A. B
A
0
0
1
1

B
0
1
0
1

VOUT
1
1
1
0

Tabla. 1. Tabla de verdad de una compuerta NAND

Figura. 8. Compuerta NAND CMOS

10

4.8 Compuerta NOR CMOS


rbol de pull up:
o Transistores P en serie conectados a Vdd y a la salida.
rbol de pull down:
o Transistores N en serie conectados a Gnd y a la salida.
B
Y = A+
A
0
0
1
1

B
0
1
0
1

VOUT
1
0
0
0

Tabla. 2. Tabla de verdad de una compuerta NOR

Figura. 9. Compuerta NOR CMOS

4.9 Multiplexor CMOS


El multiplexor est conformado por dos compuertas de paso y un inversor, es
decir que en total se trata de seis transistores (tres PMOS y tres NMOS). El caso
del multiplexor de dos entradas, posee tres entradas y una salida. Dos de las
entradas se conectan respectivamente a la entrada de cada compuerta de paso,
mientras que las salidas de las mismas son conectadas entre s conformando el
nodo de salida de la compuerta. La entrada restante denominada select (S) se
utiliza para habilitar una compuerta de paso a la vez. De esta manera, y de
acuerdo al esquema mostrado a continuacin, cuando la seal S corresponda a
un nivel lgico bajo la compuerta de paso de la entrada A estar habilitada
mientras que la de la entrada B estar deshabilitada. La salida entonces
corresponder al nivel lgico de la entrada A, en caso de que S sea un nivel alto
suceder lo opuesto y la salida corresponder al nivel de la entrada B (Oroz De
Gaetano Ariel)
A

0
0
1
1

0
1
0
1

0
0
1
1

B
B
A
A

Tabla. 3. Tabla de verdad de un Multiplexor de 2 a 1

11

Figura. 10. Multiplexor CMOS

4.10 lgebra de boole. Lgica combinacional.


El control digital, y en particular el binario, est presente en todos los campos de
la vida, desde los sistemas de refrigeracin hasta los complejos sistemas de
control de vuelo. Aunque los circuitos electrnicos de estos sistemas pueden
tener niveles de complejidad muy diferentes, todos se basan en combinaciones
de elementos ms pequeos llamados puertas lgicas, las cuales se construyen a
partir de transistores y elementos pasivos.
El lgebra de conmutacin que se utiliza para manipular las magnitudes binarias
y algunas aplicaciones se la llama algebra de boole.
4.11 Estados lgicos y funcin lgica.
Los elementos que constituyen los circuitos digitales se caracterizan por admitir
slo dos estados. Es el caso por ejemplo de un conmutador que slo puede estar
ENCENDIDO o APAGADO.
Para representar estos dos estados se usan los smbolos 0 y 1. Generalmente,
el 1 se asociar al estado de conmutador ENCENDIDO, VERDADERO, y el
0 se asocia al estado de conmutador APAGADO o FALSO.
En el circuito de la siguiente figura se representa el estado del conmutador con la
variable S y el de la lmpara con la variable binaria L. En la tabla se observa la
relacin entre ambas.

Tabla. 4. Tabla de Verdad

Figura. 11. Circuito Binario

4.12 Teoremas booleanos.


El lgebra de Boole define varios teoremas para simplificar algunas expresiones.
12

AB=BA

Ley conmutativa

A + B=B+ A

Ley distributiva

A ( B+C )= AB+ BC
A +BC=( A+ B)( A +C)

Ley asociativa

A ( BC )=( AB ) C
A +(B+C )=( A +B)+C

Ley de la absorcin

A + AB= A

Ley de DeMorgan

B= A
B
A+

A(A+B)=A

+ B
A B= A
B= A+ B
A+A
B)= AB
A ( A+
Operacin suma lgica (OR)

El resultado es 1 si alguno de los sumandos es 1

1+ A=1 0+ A=A
A + A=A
A + A=1

Operacin producto lgico (AND)

El resultado es 0 si alguno de los elementos es 0


1 A=A
0 A=0

Operacin negacin (NOT)

0=1

AA= A

1=0

A A=0

A
A=

Tabla. 5. Teoremas booleanos

4.13 Simplificacin de funciones utilizando mapas de Karnaugh.


Es un mtodo grfico de representacin de la informacin que se encuentra en la
tabla de verdad. Permite simplificar una funcin booleana de manera sencilla. En
un mapa de Karnaugh cada combinacin posible de entradas est representada
por una caja dentro de una rejilla, y el valor correspondiente de la salida se
escribe dentro de la caja. Las cajas estn escritas de forma que al cambiar de una
a otra slo vara una de las entradas. La secuencia corresponde al cdigo Gray.
A
0
0
1
1

B
0
1
0
1

C
0
0
1
0

Tabla. 6. Tabla de Verdad

13

Figura. 12. Mapa K de dos entradas

Figura. 13. Mapa K de tres entradas

Figura. 14. Mapa K de 4 entradas

Se pueden agrupar dos trminos adyacentes porque por caractersticas del mapa
de Karnaugh sabemos que slo difieren en el estado de una entrada. Por tanto,
cualquier par de elementos adyacentes que contenga un 1 se pueden representar
mediante una expresin simplificada.
Se puede simplificar tambin agrupando cuatro trminos adyacentes. Se pueden
combinar cuatro 1 siempre que representen todas las combinaciones de dos
variables. (Snchez, 2010)
4.14 Microwind
Microwind es un programa de diseo y simulacin de circuitos integrados a nivel
fsico. Permite disear el circuito desde el punto de vista de la fabricacin en
Silicio (Si), sin ningn tipo de abstraccin. En todo momento estaremos
trabajando las mscaras que se pueden utilizar en el Layout.
Este programa nos permite utilizar la tecnologa CMOS, donde podemos disear
transistores MOS, NMOS, PMOS, condensadores, resistencias, bobinas y
contactos. A todos estos componentes les podemos especificar tanto sus
dimensiones como su longitud de canal, adems con la herramienta de
simulacin nos permite comparar el comportamiento esttico y dinmico del
componente diseado.
Tambin decir que es un editor de mscaras, que permite el chequeo de las reglas
de diseo y tambin la extraccin de la netlist del circuito en formato SPICE.
(License, 2015)
4.15 Dsch
El Programa DSCH es un editor lgico y simulador, es usado para validar la
arquitectura del circuito lgico antes de empezar con el diseo microelectrnico.
DSCH provee al usuario de un entorno cmodo, lo diseos lgicos (Puertas
lgicas) estn ordenadas de forma jerrquica. Tambin tiene una rpida
herramienta de simulacin con anlisis de retardos. Cuenta con modelos
ensamblados para soportar al 8051 y al Pic16f84. Tambin incorpora un
interface para WinSpice. (License, 2015)

14

5. DESARROLLO DEL PROYECTO


5.1 DISPLAY DE 7 SEGMENTOS
Disee un decodificador de BCD a 7 SEGMENTOS. Para mostrar informacin
en el display es necesario disear un sistema combinacional que convierta un
cdigo BCD a 7 salidas que enciendan o apaguen cada segmento a fin de
desplegar el carcter apropiado.

Figura. 15. Enunciado problema 1

5.1.1. Tabla de verdad


A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

a
1
0
1
1
0
1
1
1
1
1
x
x
x
x
x
x

b
1
1
1
1
1
0
0
1
1
1
x
x
x
x
x
x

c
1
1
0
1
1
1
1
1
1
1
x
x
x
x
x
x

d
1
0
1
1
0
1
1
0
1
1
x
x
x
x
x
x

e
1
0
1
0
0
0
1
0
1
0
x
x
x
x
x
x

f
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x

g
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x

Tabla. 7. Tabla de verdad problema 1

5.1.2. Mapas de K
Led a

15

Tabla. 8. Mapa K de led a problema 1

Led b

Tabla. 9. Mapa K de led b problema 1

Led c

Tabla. 10. Mapa K de led c problema 1

Led d

Tabla. 11. Mapa K de led d problema 1

Led e

16

Tabla. 12. Mapa K de led e problema 1

Led f

Tabla. 13. Mapa K de led f problema 1

Led g

Tabla. 14. Mapa K led g problema 1

5.1.3. Funciones Simplificadas

a=A +C+ B D
C
D+CD

b=B+
c=B+ D+ C

B D

d= A+ B C D+C D+C
B+
D+
DC

e= B

B C+
A+ B D

f =C D+
B C+ C D

g= A+ B C+
5.2 DECODIFICADORES
Disee un decodificador de 4 a 10 lneas. Un decodificador de BCD a Decimal
tiene un cdigo de entrada de 4 bits y 10 salidas. Las cuales tienen valores solo
para las combinaciones de entrada del 0 al 9

17

Figura. 16. Enunciado problema 2

5.2.1 Tabla de verdad


A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
1
0
0
0
0
0
0
0
0
0
X
X
X
X
X
X

1
0
1
0
0
0
0
0
0
0
0
X
X
X
X
X
X

2
0
0
1
0
0
0
0
0
0
0
X
X
X
X
X
X

3
0
0
0
1
0
0
0
0
0
0
X
X
X
X
X
X

4
0
0
0
0
1
0
0
0
0
0
X
X
X
X
X
X

5
0
0
0
0
0
1
0
0
0
0
X
X
X
X
X
X

6
0
0
0
0
0
0
1
0
0
0
X
X
X
X
X
X

7
0
0
0
0
0
0
0
1
0
0
X
X
X
X
X
X

8
0
0
0
0
0
0
0
0
1
0
X
X
X
X
X
X

9
0
0
0
0
0
0
0
0
0
1
X
X
X
X
X
X

Tabla. 15. Tabla de verdad problema 2

5.2.2 Funciones Simplificadas


0= A +B+ C+ D

+D

5= A+ B+C

+D

1= A+ B+C

D
6= A + B + C+

2= A+ B+ C + D

D
C+

7= A + B+

3= A+ B+ C + D

8= A +B+ C+ D

+D
4= A+ B+C

18

5.3

DETECTOR DE NMEROS PRIMOS EN BCD-XS-3


9= A +B +C+
D
Se quiere realizar un circuito que reciba un nmero BCD-XS3 (4 bits) y
devuelva '1' si el nmero recibido es primo, y devuelva '0' si no lo es. Se
considerar el nmero 1 como nmero primo. El cero no es un nmero primo.
En ningn caso el circuito recibir nmeros que no estn codificados en BCDXS3. NOTA: Se debe investigar el cdigo BCD-XS-3
5.3.1. Tabla de verdad
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

P
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0

Tabla. 16. Tabla de verdad problema 3

5.3.2. Mapa K
p

A B A B AB A B

C
0

D
C
0

CD 0

CD
0

Tabla. 17. Mapa K problema 3

5.3.3. Funcin Simplificada

AB
D+
BC D

P= A B C+

B C+
AB
D+
BC D

P= A
D)( B
B+
D)
+C)( A+
+ C+
P=(A + B

19

5.4 COMPARADOR
Realizar un circuito que recibe dos nmeros binarios puros (sin signo): A[3,0],
B[3,0] e indica por la salida S si A es mayor que B, dado bajo las siguientes
condiciones:
La salida S='1' cuando A>B, en otro caso S='0'.
El bit ms significativo es el bit 3.
Debe obtenerse la funcin mnima mediante mapas de Karnaugh, pero
debido a que el circuito tiene 8 entradas y resulta difcil de hacer el mapa de
Karnaugh con tantas variables, el circuito se implementar en dos mdulos.
Primero se deber realizar un circuito que compare los dos bits menos
significativos de A y B, y devuelva '1' si el nmero (A1A0) es mayor que el
nmero (B1B0). Esta salida (N) ser la entrada del segundo comparador.
Despus de haber hecho el primer comparador (de 4 entradas) se realizar el
segundo comparador (de 5 entradas). Este comparador recibe los dos bits
ms significativos de A y B, y la seal N que indica si (A1A0)>(B1B0).
El segundo comparador es muy similar al primero, nicamente cuando
(A3A2)= (B3B2) ser necesario utilizar la seal N.
Para el mapa de Karnaugh del segundo comparador se recomienda tomar la
seal N como la 5 variable.

Figura. 17. Enunciado problema 4

5.4.1. Tabla de verdad


Primer mdulo
A A B B
N
1 0 1 0
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
20

Tabla. 18. Tabla de verdad 1 problema 4

Segundo mdulo
N

A3

A2

B3

B2

Tabla. 19. Tabla de verdad 2 problema 4

21

5.4.2. Mapa K
Mdulo 1 salida N

Tabla. 20. Mapa K 1 problema 4

Mdulo 1 salida S

Tabla. 21. Mapa K 2 problema 4

5.4.3. Funcin Simplificada


N= A 0 B 1 B 0 + A 1 A 0 B 1 + A1 A 0 B 0
S= A 3 B 3 + B 3 N A2 + B 3 B 2 N + N A 3 A 2+ N A3 B 2+ B 3 B 2 A 2+ A 3 A2 B 2

6. DIAGRAMAS
6.1 Diagramas de bloques
6.1.1 Bcd 7 segmentos

Figura. 18. Diagrama de bloques problema 1

22

6.1.2 Decodificadores

Figura. 19. Diagrama de bloques problema 2

6.1.3 Detector de nmeros primos en bcd-xs-3

Figura. 20. Diagrama de bloques problema 3

6.1.4 Comparador

Figura. 21. Diagrama de bloques problema 4

6.2 Diagramas UML de casos de uso


6.2.1 Bcd 7 segmentos

Figura. 22. Diagrama UML de casos de uso problema 1

23

6.2.2 Decodificadores

Figura. 23. Diagrama UML de casos de uso problema 2

6.2.3 Detector de nmeros primos en bcd-xs-3

Figura. 24. Diagrama UML de casos de uso problema 3

6.2.4 Comparador

Figura. 25. Diagrama UML de casos de uso problema 4

6.3 Diagramas elctricos


6.3.1 Bcd 7 segmentos
Microwind
24

Figura. 26 Simulacin Microwind problema 1

25

Resultado

Figura. 27. Resultado de Microwind problema 1

Microwind con verilog

26

Figura. 28. Simulacin Microwind con verilog problema 1

Resultado

27

Figura. 29. Resultado de Microwind con verilog problema 1

28

DSCH

6.3.2 Decodificadores
Microwind

Figura. 30. Simulacin DSCH problema 2

29

Figura. 31. Simulacin Microwind problema 2

Resultado

30

Figura. 32. Resultado de Microwind problema 2

31

Microwind con verilog

Figura. 33. Simulacin Microwind con verilog

Resultado

32

Figura. 34. Resultado de Microwind con verilog

33

DSCH

Figura. 35. Simulacin DSCH problema 2

6.3.3 Detector de nmeros primos en bcd-xs-3


Microwind

34

Figura. 36. Simulacin Microwind problema 3

Resultado

35

Figura. 37. Resultado de Microwind problema 3

36

Microwind con verilog

Figura. 38. Simulacin Microwind con verilog

Resultado

37

Figura. 39. Resultado de Microwind con verilog problema 3

DSCH
6.3.4 Comparador
Microwind

38

Figura.
Figura.41.
40.Simulacin
Simulacin
Microwind
DSCH problema
problema3 4

Resultado

Figura. 42. Resultado de Microwind problema 4

Microwind con verilog

39

Figura. 43. Simulacin Microwind con verilog

Resultado

40

Figura. 44. Resultado de Microwind con verilog

DSCH

41

Figura. 45. Simulacin DSCH problema 4

42

6.4 Diagramas UML de secuencias


6.4.1 Bcd 7 segmentos

Figura. 46. Diagrama UML de secuencias problema 1

6.4.2 Decodificadores

Figura. 47. Diagrama UML de casos de uso problema 2

6.4.3 Detector de nmeros primos en bcd-xs-3

6.4.4 Comparador

Figura. 48. Diagrama UML de secuencias problema 4

6.5 Diagramas esquemticos


6.5.1 Bcd 7 segmentos
Segmento a

Figura. 49. Diagrama esquemtico de segmento a problema 1

Segmento b

Figura. 50. Diagrama esquemtico de segmento b problema 1

Segmento c

Figura. 51. Diagrama esquemtico de segmento c problema 1

Segmento d

Figura. 52. Diagrama esquemtico de segmento d problema 1

Segmento e

Figura. 53. Diagrama esquemtico de segmento e problema 1

Segmento f

Figura. 54. Diagrama esquemtico de segmento f problema 1

Segmento g

Figura. 55. Diagrama esquemtico de segmento g problema 1

6.5.2 Decodificadores

Figura. 56. Diagrama esquemtico problema 2

6.5.3 Detector de nmeros en bcd-xs-3

Figura. 57. Diagrama esquemtico problema 3

6.5.4 Comparador

Figura. 58. Diagrama esquemtico problema 4

7. CDIGO VERILOG
7.1 Problema 1
// DSCH 2.7a
// 24-May-15 02:01:35
// C:\Users\Cris\Documents\ESPE\Nivel VII\VLSI\Primer
Parcial\ProyectoUnidad\Display\display2.sch
module display2( D,A,B,C,e,a,g,d,
b,c,f);
input D,A,B,C;
output e,a,g,d,b,c,f;
pmos #(108) pmos(w2,vdd,D); // 00u 0u
nmos #(108) nmos(w2,vss,D); // 1.0u 0.12u
nmos #(66) nmos(w4,vss,A); // 0u 0u
pmos #(66) pmos(w4,vdd,A); // 2.0u 0.12u
pmos #(66) pmos(w6,vdd,B); // 2.0u 0.12u
nmos #(66) nmos(w6,vss,B); // 1.0u 0.12u
pmos #(80) pmos(w8,vdd,C); // 0u 0u
pmos #(38) pmos(f,vdd,w4); // 2.0u 0.12u
nmos #(10) nmos(w12,w10,w11); // 1.0u 0.12u
nmos #(10) nmos(w14,vss,w13); // 1.0u 0.12u
nmos #(10) nmos(w10,w14,w15); // 1.0u 0.12u

nmos #(38) nmos(g,w12,w4); // 1.0u 0.12u


nmos #(45) nmos(w18,w17,w6); // 1.0u 0.12u
pmos #(31) pmos(b,vdd,B); // 2.0u 0.12u
nmos #(10) nmos(w22,w21,B); // 1.0u 0.12u
pmos #(31) pmos(b,vdd,w23); // 2.0u 0.12u
nmos #(45) nmos(w11,w24,w8); // 1.0u 0.12u
pmos #(45) pmos(w11,vdd,B); // 2.0u 0.12u
nmos #(10) nmos(w24,vss,B); // 1.0u 0.12u
pmos #(45) pmos(w11,vdd,w8); // 2.0u 0.12u
pmos #(45) pmos(w15,vdd,w6); // 2.0u 0.12u
nmos #(10) nmos(w25,vss,C); // 1.0u 0.12u
pmos #(45) pmos(w15,vdd,C); // 2.0u 0.12u
nmos #(45) nmos(w15,w25,w6); // 1.0u 0.12u
pmos #(38) pmos(a,vdd,w26); // 2.0u 0.12u
pmos #(38) pmos(a,vdd,w4); // 2.0u 0.12u
pmos #(38) pmos(a,vdd,w28); // 2.0u 0.12u
pmos #(31) pmos(w28,vdd,D); // 2.0u 0.12u
nmos #(10) nmos(w29,vss,D); // 1.0u 0.12u
pmos #(31) pmos(w28,vdd,B); // 2.0u 0.12u
nmos #(80) nmos(w8,vss,C); // 1.0u 0.12u
nmos #(59) nmos(w13,w30,w2); // 1.0u 0.12u
pmos #(59) pmos(w13,vdd,C); // 2.0u 0.12u
nmos #(10) nmos(w30,vss,C); // 1.0u 0.12u
pmos #(59) pmos(w13,vdd,w2); // 2.0u 0.12u
pmos #(31) pmos(w31,vdd,w2); // 2.0u 0.12u
nmos #(10) nmos(w32,vss,B); // 1.0u 0.12u
pmos #(31) pmos(w31,vdd,B); // 2.0u 0.12u
nmos #(31) nmos(w31,w32,w2); // 1.0u 0.12u
pmos #(38) pmos(g,vdd,w13); // 2.0u 0.12u
pmos #(38) pmos(g,vdd,w11); // 2.0u 0.12u
pmos #(38) pmos(g,vdd,w15); // 2.0u 0.12u
pmos #(38) pmos(g,vdd,w4); // 2.0u 0.12u
nmos #(31) nmos(w28,w29,B); // 1.0u 0.12u
pmos #(31) pmos(b,vdd,w33); // 2.0u 0.12u
nmos #(31) nmos(w35,w34,w2); // 1.0u 0.12u
pmos #(31) pmos(w35,vdd,w2); // 2.0u 0.12u
nmos #(10) nmos(w34,vss,w8); // 1.0u 0.12u
pmos #(31) pmos(w35,vdd,w8); // 2.0u 0.12u
pmos #(45) pmos(w18,vdd,w2); // 2.0u 0.12u
nmos #(10) nmos(w17,vss,w2); // 1.0u 0.12u
pmos #(45) pmos(w18,vdd,w6); // 2.0u 0.12u
nmos #(31) nmos(b,w22,w23); // 1.0u 0.12u
pmos #(31) pmos(c,vdd,w6); // 2.0u 0.12u
nmos #(10) nmos(w38,w37,w6); // 1.0u 0.12u
pmos #(31) pmos(c,vdd,w2); // 2.0u 0.12u
pmos #(31) pmos(c,vdd,C); // 2.0u 0.12u
nmos #(31) nmos(c,w38,w2); // 1.0u 0.12u
nmos #(10) nmos(w21,vss,w33); // 1.0u 0.12u
pmos #(24) pmos(e,vdd,w18); // 2.0u 0.12u
nmos #(10) nmos(w39,vss,w18); // 1.0u 0.12u
pmos #(24) pmos(e,vdd,w13); // 2.0u 0.12u
nmos #(24) nmos(e,w39,w13); // 1.0u 0.12u
nmos #(10) nmos(w42,w41,w4); // 1.0u 0.12u
nmos #(10) nmos(w41,w43,w15); // 1.0u 0.12u
pmos #(45) pmos(d,vdd,w4); // 2.0u 0.12u

pmos #(45) pmos(d,vdd,w15); // 2.0u 0.12u


pmos #(45) pmos(d,vdd,w13); // 2.0u 0.12u
pmos #(45) pmos(d,vdd,w18); // 2.0u 0.12u
pmos #(45) pmos(d,vdd,w44); // 2.0u 0.12u
nmos #(10) nmos(w43,w45,w13); // 1.0u 0.12u
nmos #(10) nmos(w45,vss,w18); // 1.0u 0.12u
nmos #(45) nmos(d,w42,w44); // 1.0u 0.12u
nmos #(10) nmos(w46,vss,B); // 1.0u 0.12u
nmos #(38) nmos(w44,w47,D); // 1.0u 0.12u
pmos #(38) pmos(w44,vdd,B); // 2.0u 0.12u
pmos #(38) pmos(w44,vdd,D); // 2.0u 0.12u
nmos #(10) nmos(w47,w46,w8); // 1.0u 0.12u
pmos #(38) pmos(w44,vdd,w8); // 2.0u 0.12u
pmos #(38) pmos(a,vdd,w8); // 2.0u 0.12u
nmos #(38) nmos(a,w48,w26); // 1.0u 0.12u
nmos #(10) nmos(w48,w49,w28); // 1.0u 0.12u
nmos #(10) nmos(w49,w50,w4); // 1.0u 0.12u
nmos #(10) nmos(w50,vss,w8); // 1.0u 0.12u
pmos #(31) pmos(w23,vdd,C); // 2.0u 0.12u
nmos #(10) nmos(w51,vss,C); // 1.0u 0.12u
pmos #(31) pmos(w23,vdd,D); // 2.0u 0.12u
nmos #(31) nmos(w23,w51,D); // 1.0u 0.12u
nmos #(10) nmos(w37,vss,C); // 1.0u 0.12u
pmos #(31) pmos(w33,vdd,w8); // 2.0u 0.12u
nmos #(10) nmos(w52,vss,w8); // 1.0u 0.12u
pmos #(31) pmos(w33,vdd,w2); // 2.0u 0.12u
nmos #(31) nmos(w33,w52,w2); // 1.0u 0.12u
nmos #(31) nmos(w26,w53,w6); // 1.0u 0.12u
pmos #(31) pmos(w26,vdd,w6); // 2.0u 0.12u
nmos #(10) nmos(w53,vss,w2); // 1.0u 0.12u
pmos #(31) pmos(w26,vdd,w2); // 2.0u 0.12u
nmos #(10) nmos(w54,vss,w35); // 1.0u 0.12u
nmos #(10) nmos(w55,w54,w11); // 1.0u 0.12u
nmos #(10) nmos(w56,w55,w31); // 1.0u 0.12u
nmos #(38) nmos(f,w56,w4); // 1.0u 0.12u
pmos #(38) pmos(f,vdd,w35); // 2.0u 0.12u
pmos #(38) pmos(f,vdd,w31); // 2.0u 0.12u
pmos #(38) pmos(f,vdd,w11); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 D=~D;
#2000 A=~A;
#4000 B=~B;
#8000 C=~C;
// Simulation parameters
// D CLK 10 10
// A CLK 20 20
// B CLK 40 40
// C CLK 80 80

7.2 Problema 2
// DSCH 2.7a

// 22-May-15 22:39:48
// C:\Users\Cris\Documents\ESPE\Nivel VII\VLSI\Primer
Parcial\ProyectoUnidad\DSCH\dsch2.1.sch
module dsch2.1( A,B,C,D,8,6,9,5,
3,7,2,0,4,1);
input A,B,C,D;
output 8,6,9,5,3,7,2,0;
output 4,1;
nmos #(38) nmos(8,vss,C); // 1.0u 0.12u
nmos #(38) nmos(8,vss,D); //
nmos #(38) nmos(8,vss,B); //
nmos #(38) nmos(8,vss,w5); //
pmos #(10) pmos(w7,vdd,C); // 2.0u 0.12u
pmos #(10) pmos(w8,w7,w5); // 2.0u 0.12u
pmos #(38) pmos(8,w9,B); // 2.0u 0.12u
pmos #(10) pmos(w9,w8,D); // 2.0u 0.12u
nmos #(38) nmos(6,vss,D); //
nmos #(38) nmos(6,vss,w11); //
nmos #(38) nmos(6,vss,A); //
pmos #(10) pmos(w13,vdd,w12); // 2.0u 0.12u
pmos #(10) pmos(w14,w13,A); // 2.0u 0.12u
pmos #(38) pmos(6,w15,w11); // 2.0u 0.12u
pmos #(10) pmos(w15,w14,D); // 2.0u 0.12u
nmos #(38) nmos(6,vss,w12); // 1.0u 0.12u
pmos #(10) pmos(w18,w17,C); // 2.0u 0.12u
pmos #(38) pmos(9,w18,B); // 2.0u 0.12u
pmos #(10) pmos(w17,w19,w5); // 2.0u 0.12u
pmos #(10) pmos(w19,vdd,w20); // 2.0u 0.12u
nmos #(38) nmos(9,vss,w5); //
nmos #(38) nmos(9,vss,B); //
nmos #(38) nmos(9,vss,C); //
pmos #(10) pmos(w23,w22,w20); // 2.0u 0.12u
pmos #(38) pmos(5,w23,w11); // 2.0u 0.12u
pmos #(10) pmos(w22,w24,A); // 2.0u 0.12u
pmos #(10) pmos(w24,vdd,C); // 2.0u 0.12u
nmos #(38) nmos(5,vss,A); //
nmos #(38) nmos(5,vss,w11); //
nmos #(38) nmos(5,vss,w20); //
nmos #(38) nmos(5,vss,C); // 1.0u 0.12u
nmos #(38) nmos(3,vss,w20); // 1.0u 0.12u
nmos #(38) nmos(3,vss,w12); //
nmos #(38) nmos(3,vss,B); //
nmos #(38) nmos(3,vss,A); //
pmos #(10) pmos(w26,vdd,w20); // 2.0u 0.12u
pmos #(10) pmos(w27,w26,A); // 2.0u 0.12u
pmos #(38) pmos(3,w28,B); // 2.0u 0.12u
pmos #(10) pmos(w28,w27,w12); // 2.0u 0.12u
pmos #(10) pmos(w29,vdd,w20); // 2.0u 0.12u
nmos #(38) nmos(1,vss,C); //
nmos #(38) nmos(1,vss,B); //
nmos #(38) nmos(1,vss,A); //
nmos #(38) nmos(9,vss,w20); // 1.0u 0.12u
pmos #(10) pmos(w33,w32,w20); // 2.0u 0.12u
pmos #(38) pmos(7,w33,w11); // 2.0u 0.12u

pmos #(10) pmos(w32,w34,A); // 2.0u 0.12u


pmos #(10) pmos(w34,vdd,w12); // 2.0u 0.12u
nmos #(38) nmos(7,vss,A); //
nmos #(38) nmos(7,vss,w11); //
nmos #(38) nmos(7,vss,w20); //
nmos #(38) nmos(7,vss,w12); // 1.0u 0.12u
nmos #(38) nmos(2,vss,w12); // 1.0u 0.12u
nmos #(38) nmos(2,vss,D); //
nmos #(38) nmos(2,vss,B); //
nmos #(38) nmos(2,vss,A); //
pmos #(10) pmos(w36,vdd,w12); // 2.0u 0.12u
pmos #(10) pmos(w37,w36,A); // 2.0u 0.12u
pmos #(38) pmos(2,w38,B); // 2.0u 0.12u
pmos #(10) pmos(w38,w37,D); // 2.0u 0.12u
nmos #(38) nmos(4,vss,D); // 1.0u 0.12u
nmos #(80) nmos(w20,vss,D); // 1.0u 0.12u
pmos #(80) pmos(w20,vdd,D); // 2.0u 0.12u
pmos #(66) pmos(w12,vdd,C); // 2.0u 0.12u
nmos #(66) nmos(w12,vss,C); // 1.0u 0.12u
nmos #(38) nmos(w5,vss,A); // 1.0u 0.12u
pmos #(38) pmos(w5,vdd,A); // 2.0u 0.12u
pmos #(66) pmos(w11,vdd,B); // 2.0u 0.12u
nmos #(66) nmos(w11,vss,B); // 1.0u 0.12u
nmos #(38) nmos(0,vss,C); // 1.0u 0.12u
nmos #(38) nmos(0,vss,D); //
nmos #(38) nmos(0,vss,B); //
nmos #(38) nmos(0,vss,A); //
pmos #(10) pmos(w41,vdd,C); // 2.0u 0.12u
pmos #(10) pmos(w42,w41,A); // 2.0u 0.12u
pmos #(38) pmos(0,w43,B); // 2.0u 0.12u
pmos #(10) pmos(w43,w42,D); // 2.0u 0.12u
nmos #(38) nmos(4,vss,w44); //
nmos #(38) nmos(4,vss,w11); //
nmos #(38) nmos(4,vss,A); //
pmos #(10) pmos(w45,vdd,C); // 2.0u 0.12u
pmos #(10) pmos(w46,w45,A); // 2.0u 0.12u
pmos #(38) pmos(4,w47,w11); // 2.0u 0.12u
pmos #(10) pmos(w47,w46,D); // 2.0u 0.12u
nmos #(38) nmos(1,vss,w20); // 1.0u 0.12u
pmos #(10) pmos(w49,w48,C); // 2.0u 0.12u
pmos #(38) pmos(1,w49,B); // 2.0u 0.12u
pmos #(10) pmos(w48,w29,A); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 A=~A;
#2000 B=~B;
#4000 C=~C;
#8000 D=~D;
// Simulation parameters
// A CLK 10 10
// B CLK 20 20
// C CLK 40 40

// D CLK 80 80

7.3 Problema 3
// DSCH 2.7a
// 23/05/2015 1:11:42
// C:\Users\Nadia\Desktop\SEXTO\VLSI\Unidad\primotrans.sch
module primotrans( D,A,B,C,out1);
input D,A,B,C;
output out1;
nmos #(38) nmos(w2,vss,D); // 1.0u 0.12u
pmos #(38) pmos(w2,vdd,D); // 2.0u 0.12u
pmos #(24) pmos(w4,vdd,A); // 2.0u 0.12u
nmos #(24) nmos(w4,vss,A); // 1.0u 0.12u
nmos #(24) nmos(w6,vss,B); // 1.0u 0.12u
pmos #(24) pmos(w6,vdd,B); // 2.0u 0.12u
pmos #(24) pmos(w8,vdd,C); // 2.0u 0.12u
nmos #(24) nmos(w8,vss,C); // 1.0u 0.12u
nmos #(52) nmos(w10,w9,A); // 1.0u 0.12u
nmos #(10) nmos(w11,vss,w2); // 1.0u 0.12u
nmos #(10) nmos(w12,vss,w8); // 1.0u 0.12u
nmos #(52) nmos(w10,w13,w4); // 1.0u 0.12u
nmos #(10) nmos(w13,w12,B); // 1.0u 0.12u
nmos #(10) nmos(w14,vss,w2); // 1.0u 0.12u
nmos #(52) nmos(w10,w15,B); // 1.0u 0.12u
nmos #(10) nmos(w15,w14,C); // 1.0u 0.12u
nmos #(10) nmos(w9,w11,w6); // 1.0u 0.12u
pmos #(52) pmos(w10,w16,B); // 2.0u 0.12u
pmos #(52) pmos(w10,w16,w2); // 2.0u 0.12u
pmos #(52) pmos(w10,w16,C); // 2.0u 0.12u
pmos #(38) pmos(w17,vdd,w4); // 2.0u 0.12u
pmos #(38) pmos(w17,vdd,w8); // 2.0u 0.12u
pmos #(38) pmos(w17,vdd,B); // 2.0u 0.12u
pmos #(38) pmos(w16,w17,w6); // 2.0u 0.12u
pmos #(38) pmos(w16,w17,w2); // 2.0u 0.12u
pmos #(38) pmos(w16,w17,A); // 2.0u 0.12u
nmos #(17) nmos(out1,vss,w10); // 1.0u 0.12u
pmos #(17) pmos(out1,vdd,w10); // 2.0u 0.12u
endmodule

7.4 Problema 4
// DSCH 2.7a
// 23/05/2015 11:44:32
// C:\Users\Jhonatan\Desktop\COMPARADOR\DSCH\transistores.sch
module transistores( B3,B2,A3,A2,N,A1,A0,B1,
B0,out3);
input B3,B2,A3,A2,N,A1,A0,B1;
input B0;
output out3;
pmos #(38) pmos(w3,vdd,A3); // 2.0u 0.12u
nmos #(10) nmos(w5,vss,w4); // 1.0u 0.12u
nmos #(66) nmos(w7,vss,B2); // 1.0u 0.12u

pmos #(66) pmos(w7,vdd,B2); // 2.0u 0.12u


pmos #(66) pmos(w4,vdd,w8); // 2.0u 0.12u
nmos #(66) nmos(w4,vss,w8); // 1.0u 0.12u
nmos #(73) nmos(w11,w10,A2); // 1.0u 0.12u
nmos #(10) nmos(w10,w12,w7); // 1.0u 0.12u
nmos #(10) nmos(w12,vss,A3); // 1.0u 0.12u
nmos #(10) nmos(w13,vss,A2); // 1.0u 0.12u
pmos #(38) pmos(w15,vdd,w14); // 2.0u 0.12u
pmos #(38) pmos(w15,vdd,A0); // 2.0u 0.12u
pmos #(31) pmos(w18,w17,w4); // 2.0u 0.12u
pmos #(52) pmos(w8,w20,w21); // 2.0u 0.12u
nmos #(52) nmos(w8,w22,A1); // 1.0u 0.12u
nmos #(10) nmos(w22,w24,w21); // 1.0u 0.12u
nmos #(10) nmos(w25,vss,A0); // 1.0u 0.12u
nmos #(10) nmos(w24,vss,w26); // 1.0u 0.12u
nmos #(10) nmos(w27,w25,w14); // 1.0u 0.12u
pmos #(52) pmos(w8,w20,A0); // 2.0u 0.12u
pmos #(38) pmos(w20,w15,A1); // 2.0u 0.12u
pmos #(38) pmos(w20,w15,w21); // 2.0u 0.12u
pmos #(38) pmos(w20,w15,w26); // 2.0u 0.12u
pmos #(38) pmos(w29,w28,A3); // 2.0u 0.12u
nmos #(10) nmos(w30,w5,w7); // 1.0u 0.12u
pmos #(38) pmos(w29,w28,w4); // 2.0u 0.12u
pmos #(38) pmos(w15,vdd,A1); // 2.0u 0.12u
pmos #(38) pmos(w28,w3,A2); // 2.0u 0.12u
nmos #(73) nmos(w11,w30,A3); // 1.0u 0.12u
nmos #(10) nmos(w31,w13,w7); // 1.0u 0.12u
nmos #(10) nmos(w32,vss,A1); // 1.0u 0.12u
pmos #(73) pmos(w11,w18,w33); // 2.0u 0.12u
pmos #(73) pmos(w11,w18,A3); // 2.0u 0.12u
nmos #(10) nmos(w34,w32,w14); // 1.0u 0.12u
pmos #(38) pmos(w28,w3,w7); // 2.0u 0.12u
pmos #(38) pmos(w29,w28,w7); // 2.0u 0.12u
pmos #(38) pmos(w28,w3,w33); // 2.0u 0.12u
pmos #(38) pmos(w3,vdd,w7); // 2.0u 0.12u
nmos #(52) nmos(w8,w27,w21); // 1.0u 0.12u
nmos #(10) nmos(w35,vss,A3); // 1.0u 0.12u
nmos #(73) nmos(w11,w35,w33); // 1.0u 0.12u
nmos #(73) nmos(w11,w31,w33); // 1.0u 0.12u
nmos #(52) nmos(w8,w34,A0); // 1.0u 0.12u
pmos #(38) pmos(w3,vdd,A2); // 2.0u 0.12u
pmos #(38) pmos(w39,w29,w4); // 2.0u 0.12u
pmos #(38) pmos(w39,w29,A3); // 2.0u 0.12u
pmos #(31) pmos(w18,w17,w33); // 2.0u 0.12u
nmos #(73) nmos(w11,w40,w33); // 1.0u 0.12u
nmos #(10) nmos(w40,w41,w7); // 1.0u 0.12u
nmos #(10) nmos(w42,vss,w4); // 1.0u 0.12u
nmos #(10) nmos(w41,vss,w4); // 1.0u 0.12u
nmos #(10) nmos(w43,w42,w33); // 1.0u 0.12u
pmos #(31) pmos(w18,w17,A2); // 2.0u 0.12u
pmos #(38) pmos(w17,w39,w33); // 2.0u 0.12u
pmos #(38) pmos(w17,w39,w7); // 2.0u 0.12u
pmos #(38) pmos(w17,w39,w4); // 2.0u 0.12u
pmos #(38) pmos(w39,w29,A2); // 2.0u 0.12u
nmos #(10) nmos(w44,vss,w4); // 1.0u 0.12u

nmos #(10) nmos(w45,w44,A2); // 1.0u 0.12u


nmos #(73) nmos(w11,w43,A2); // 1.0u 0.12u
nmos #(73) nmos(w11,w45,A3); // 1.0u 0.12u
nmos #(24) nmos(w26,vss,A0); // 1.0u 0.12u
pmos #(24) pmos(w26,vdd,A0); // 2.0u 0.12u
pmos #(66) pmos(w33,vdd,B3); // 2.0u 0.12u
nmos #(66) nmos(w33,vss,B3); // 1.0u 0.12u
pmos #(38) pmos(w14,vdd,B0); // 2.0u 0.12u
nmos #(38) nmos(w14,vss,B0); // 1.0u 0.12u
pmos #(38) pmos(w21,vdd,B1); // 2.0u 0.12u
nmos #(38) nmos(w21,vss,B1); // 1.0u 0.12u
pmos #(52) pmos(w8,w20,w14); // 2.0u 0.12u
nmos #(17) nmos(out3,vss,w11); // 1.0u 0.12u
pmos #(17) pmos(out3,vdd,w11); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 B3=~B3;
#2000 B2=~B2;
#4000 A3=~A3;
#8000 A2=~A2;
#16000 N=~N;
#32000 A1=~A1;
#64000 A0=~A0;
#128000 B1=~B1;
#256000 B0=~B0;
// Simulation parameters
// B3 CLK 10 10
// B2 CLK 20 20
// A3 CLK 40 40
// A2 CLK 80 80
// N CLK 160 160
// A1 CLK 320 320
// A0 CLK 640 640
// B1 CLK 1280 1280
// B0 CLK 2560 2560

8. EXPLICACIN DEL CDIGO


Para empezar la generacin del cdigo en Verilog se sigui los siguientes pasos:

Creacin de variables tanto de entrada como de salida.


Definicin de variables de entrada y variables de salida.
Se procedi a realizar el circuito solucin de cada problema propuesto, se tom
en cuenta si los transistores estn conectados en serie o en paralelo; dependiendo
si tenemos compuertas AND, OR e INVERSOR.
Para la polarizacin de los transistores se escribi VDD cuando se aliment
positivamente y VSS cuando se aliment negativamente.
Una vez terminado el circuito se procedi a guardar en formato .txt.
En el software Microwind se compil cada uno de los cdigos.

9. LISTA DE COMPONENTES
COMPONENTES
Camtasia Studio

UTILIDAD
Capturar videos directamente mientras se
trabaja en pantalla.
Herramienta para el diseo y simulacin de
circuitos microelectrnicos
Software complementario para el diseo de la
lgica
Herramienta para elaborar el cronograma.
Cree diagramas profesionales para simplificar la
informacin compleja con formas actualizadas,
herramientas de colaboracin y diagramas
vinculados a datos.

Microwind
DSCH
Microsoft Project
Visio 2013

Tabla. 22. Lista de componentes

10. MAPA DE VARIABLES


10.1 Bcd 7 segmentos
Nombre
A

Entradas
Descripcin
Bit 3 del nmero en BCD

Bit 2 del nmero en BCD

Bit 1 del nmero en BCD

Bit 0 del nmero en BCD


Tabla. 23. Variable de entrada problema 1

Nombre
a

Salidas
Descripcin
Segmento a del Display

Segmento b del Display

Segmento c del Display

Segmento d del Display

Segmento e del Display

Segmento f del Display

Segmento g del Display

Valores
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado
a=1: Led encendido
a=0: Led apagado

Tabla. 24-. Variables de salida problema 1

Valores
A=1
A=0
B=1
B=0
C=1
C=0
D=1
D=0

10.2 Decodificadores
Nombre

Entradas
Descripcin

Bit 3 del nmero en BCD

Bit 2 del nmero en BCD

Bit 1 del nmero en BCD

Bit 0 del nmero en BCD

Valores
A=1 : 2^3
B=1 : 2^2
C=1 : 2^1
D=1 : 2^0

Tabla. 25. Variables de entrada problema 2

Salidas
Nombre
0
1
2
3
4
5
6
7
8
9

Descripcin
Indicador del nmero
0
Indicador del nmero
1
Indicador del nmero
2
Indicador del nmero
3
Indicador del nmero
4
Indicador del nmero
5
Indicador del nmero
6
Indicador del nmero
7
Indicador del nmero
8
Indicador del nmero
9

Valores
0=1: Indicador 0 encendido / 0=0: Indicador 0
apagado
1=1: Indicador 1 encendido / 1=0: Indicador 1
apagado
2=1: Indicador 2 encendido / 2=0: Indicador 2
apagado
3=1: Indicador 3 encendido / 3=0: Indicador 3
apagado
4=1: Indicador 4 encendido / 4=0: Indicador 4
apagado
5=1: Indicador 5 encendido / 5=0: Indicador 5
apagado
6=1: Indicador 6 encendido / 6=0: Indicador 6
apagado
7=1: Indicador 7 encendido / 7=0: Indicador 7
apagado
8=1: Indicador 8 encendido / 8=0: Indicador 8
apagado
9=1: Indicador 9 encendido / 9=0: Indicador 9
apagado

Tabla. 26. Variables de salida problema 2

10.3 Detector de nmeros primos en bcd-xs-3


Variables
A
B
C
D

Entradas
Descripcin
Bit 3 del nmero en BCD
XS-3
Bit 2 del nmero en BCD
XS-3
Bit 1 del nmero en BCD
XS-3
Bit 0 del nmero en BCD
XS-3
Tabla. 27. Variables de entrada problema 3

Valores
A=1 : 2^3
B=1 : 2^2
C=1 : 2^1
D=1 : 2^0

Variables
P

Salida
Descripcin
Variable que indica si el
nmero es primo o no

Valores
P=1 : 2^0

Tabla. 28. Variables de salida problema 3

10.4 Comparador

Variables

Entradas
Descripcin

Valores

A0

Bit A0 del nmero A

A0=1 : 2^0

A1

Bit A1 del nmero A

A1=1 : 2^1

A2

Bit A2 del nmero A

A2=1 : 2^2

A3

Bit A3 del nmero A

A3=1 : 2^3

B0

Bit B0 del nmero B

B0=1 : 2^0

B1

Bit B1 del nmero B

B1=1 : 2^1

B2

Bit B2 del nmero B

B2=1 : 2^2

B3

Bit B3 del nmero B

B3=1 : 2^3

Tabla. 29. Variables de entrada problema 4

Variables

Salida
Descripcin

Valores

Salida del comparador A1A0 >


B1B0

N=1 : 2^0

Salida del comparador A>B

S=1 : 2^0

Tabla. 30. Variables de salida problema 4

11. DESCRIPCIN DE PRERREQUISITOS Y CONFIGURACIN

Tener un conocimiento de circuitos digitales.


Tener un conocimiento sobre transistores CMOS.
Computador con sistema operativo de 32 o 64 bits.
Windows 7 o Windows 8 instalado en el computador.
Tener instalado Microwind 3.1 y DSCH

12. APORTACIONES
EJERCICIO EXTRA
Se tiene una interseccin de dos calles como se muestra a continuacin:

D3 es un switch de una interseccin de bomberos; D1 y D2 representan sensores


de automviles; el paso de los automviles al igual que la operacin de D3
determina un cambio de luz en los semforos (F1 y F2). Si la luz es verde hay
paso libre y puede ser representado como un 1L en una funcin digital.
Elaborar una tabla de verdad para la funcin F1 (respecto de D1, en el
sentido AA) cuando slo en ste sentido puede haber circulacin de acuerdo
a las combinaciones de D1, D2 y D3. Si:
o D1 tiene prioridad sobre D2, y si D3 tiene prioridad sobre D2 y D1.
o Si no hay presencia de automviles ni D3 es activado, considere
como posibilidad de circulacin en sentido AA.
12.1 Tabla de verdad
D1
0
0
0
0
1
1
1
1

D2
0
0
1
1
0
0
1
1

D3
0
1
0
1
0
1
0
1

F1
1
0
0
0
1
0
1
0

F2
0
0
1
0
0
0
0
0

Tabla. 31. Tabla de verdad problema extra

12.2 Funcin simplificada


Funcin SOP

)+ ( D1D 2D 3 ) + ( D 1D 2D 3 )
F 1=( D 1D 2D3
) + ( D 1D 2D3
)
F 1= D 2D 3 ( D 1+ D1
F 1= D 3 ( D 2+ D1D2 )
F 1= D 3 ( D 2+ D1 )

F 2= D 1D 2 D3

12.3 Diagrama de bloques

Figura. 59. Diagrama de bloques problema extra

12.4 Diagrama UML (casos de uso)

Figura. 60. Diagrama UML de casos de uso problema extra

12.5 Diagrama UML de secuencias

Figura. 61. Diagramas UML de secuencias problema extra

12.6 Diagramas elctricos

Microwind

Figura. 62. Simulacin de Microwind problema extra

Respuesta en Microwind

Figura. 63. Resultado de Microwind problema extra

Microwind con Verilog

Figura. 64.Simulacin de Microwind con verilog

Respuesta de Microwind con Verilog

Figura. 65. Resultado de Microwind con verilog

DSCH

Figura. 66. Simulacin en DSCH problema extra

12.7 Diagrama esquemtico

Figura. 67. Diagrama esquemtico problema extra

12.8 Mapa de variables

Variables

Entradas
Descripcin

Valores

D1

Sensor de automvil

D1=1 : 2^3

D2

Sensor de automvil

D2=1 : 2^2

D3

Switch de una interseccin de


bomberos

D3=1 : 2^1

Tabla. 32. Variables de entrada problema extra

Variables
F1
F2

Salida
Descripcin
Funcin que representa al
semforo en F1 (sentido AA)
Funcin que representa al
semforo F2

Valores
F1=1 : 2^0
F2=1 : 2^0

Tabla. 33. Variables de salida problema extra

12.9 Cdigo Verilog


// DSCH 2.7a
// 23/05/2015 16:36:34
// C:\Users\Nadia\Desktop\SEXTO\VLSI\Unidad\Ejercicio
extra\DSCH\extratans.sch

module extratans( D1,D2,D3,F2,F1);


input D1,D2,D3;
output F2,F1;
pmos #(17) pmos(F2,vdd,w2); // 2.0u 0.12u
pmos #(24) pmos(w4,vdd,D1); // 2.0u 0.12u
nmos #(24) nmos(w4,vss,D1); // 1.0u 0.12u
nmos #(24) nmos(w6,vss,D2); // 1.0u 0.12u
pmos #(24) pmos(w6,vdd,D2); // 2.0u 0.12u
pmos #(38) pmos(w8,vdd,D3); // 2.0u 0.12u
nmos #(38) nmos(w8,vss,D3); // 1.0u 0.12u
pmos #(38) pmos(w9,vdd,w8); // 2.0u 0.12u
pmos #(10) pmos(w10,vdd,w6); // 2.0u 0.12u
pmos #(38) pmos(w9,w10,D1); // 2.0u 0.12u
nmos #(38) nmos(w9,w11,w6); // 1.0u 0.12u
nmos #(38) nmos(w9,w11,D1); // 1.0u 0.12u
nmos #(17) nmos(w11,vss,w8); // 1.0u 0.12u
pmos #(38) pmos(w2,vdd,D2); // 2.0u 0.12u
pmos #(38) pmos(w2,vdd,w4); // 2.0u 0.12u
pmos #(38) pmos(w2,vdd,w8); // 2.0u 0.12u
nmos #(38) nmos(w2,w12,w4); // 1.0u 0.12u
nmos #(10) nmos(w12,w13,D2); // 1.0u 0.12u
nmos #(17) nmos(F2,vss,w2); // 1.0u 0.12u
nmos #(10) nmos(w13,vss,w8); // 1.0u 0.12u
nmos #(17) nmos(F1,vss,w9); // 1.0u 0.12u
pmos #(17) pmos(F1,vdd,w9); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 D1=~D1;
#2000 D2=~D2;
#4000 D3=~D3;
// Simulation parameters
// D1 CLK 10 10
// D2 CLK 20 20
// D3 CLK 40 40

13. CONCLUSIONES
El manejo del algebra booleana junto con los diferentes tipos de simplificacin
de funciones lgicas, como mapas de Karnaugh fueron primordiales para el
desarrollo del circuito integrado en tecnologa CMOS.
Al realizar las simulaciones en el software Microwind se observ que el diseo
del circuito creado con cdigo verilog es ms eficiente, sin embargo el uso de
transistores es mucho mayor.
Al realizar la simplificacin de las tablas de verdad para cada uno de los
problemas propuestos se debe tomar en cuenta la lgica combinacional CMOS,
ya que tiene un mayor uso de transistores que la lgica AOI.

Para realizar la implementacin de los circuitos solucin en cada uno de los


problemas propuestos, se debe iniciar simulando el mismo en DSCH, el cual nos
permite generar el cdigo verilog y de esta manera facilitar el diseo en
Microwind.

14. RECOMENDACIONES
Se recomienda utilizar los mapas de Karnaugh para obtener la solucin ms
ptima y evitar el uso excesivo de transistores.
Para la implementacin del circuito solucin con transistores CMOS se
recomienda el uso de lgica AOI, ya que se reduce el nmero de transistores a
utilizar.
Se recomienda tener en cuenta que en el simulador Microwind se trabaja sobre
una nica oblea de silicio, donde las propiedades elctricas, trmicas, etc. No
varan de punto a punto.
Para implementar el circuito solucin en Microwind se recomienda utilizar un
esquema de diseo, para que la deteccin de errores en el mismo sea ms
sencilla de identificar.

15. CRONOGRAMA

Figura. 68 Cronograma.

Figura. 69. Cronograma Diagrama de Gantt

16.BIBLIOGRAFA
Cuadros, J. M. (23 de 11 de 2010). dacya. Obtenido de
http://www.dacya.ucm.es/horten/dci/tema1_2.pdf
License, C. C.-A. (16 de Mayo de 2015). microwindumh. Obtenido de
http://microwindumh.wikispaces.com/Introducci%C3%B3n
Mecha Lopez, H., & Mendias Cuadros, J. M. (s.f.). Diseo Digital CMOS. Madris:
Universidad Complutense de Madrid.
Noriega, S. (2006). Familia Lgica CMOS. Saavedra: UNDP.
Oroz De Gaetano Ariel, A. P. (s.f.). Diseno de una Librer a de Compuertas
Estandares . Buenos Aires: DIEC, Universidad Nacional del Sur.
Snchez, J. J. (10 de Febrero de 2010). Departamento de Informtica de la Universidad
de Valladolid. Obtenido de
http://www.infor.uva.es/~jjalvarez/asignaturas/fundamentos/lectures/digital/Tem
a2_combinacionales.pdf
Sicard, E. (2007). Basics of CMOS Cell Design. New York: McGraw-Hill.

17.ANEXOS
17.1 Manual de Usuario.

Es para nosotros un honor que tenga en su poder la presente solucin e implementacin


para los diferentes enunciados; los cuales se ha generado a travs de una investigacin
minuciosa, para tenerla ya en funcionamiento.
En este anexo se realiza el manual de usuario en referencia a 5 enunciados tanto en
Microwind, Dsch como tambin en en cdigo Verilog.
Enunciado 1 (DISPLAY DE 7 SEGEMENTOS)
Disee un decodificador de BCD a 7 segmentos. Para mostrar informacin en el display
es necesario disear un sistema combinacional que convierta BCD A 7 salidas que
enciendan o apaguen cada segmento a fin de desplegar el carcter apropiado.

Tabla de verdad
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

a
1
0
1
1
0
1
1
1
1
1
x
x
x
x
x
x

b
1
1
1
1
1
0
0
1
1
1
x
x
x
x
x
x

c
1
1
0
1
1
1
1
1
1
1
x
x
x
x
x
x

d
1
0
1
1
0
1
1
0
1
1
x
x
x
x
x
x

e
1
0
1
0
0
0
1
0
1
0
x
x
x
x
x
x

f
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x

g
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x

En Microwind, la implementacin funciona de la siguiente manera:

Para verificar el funcionamiento del enunciado se debe dirigir a la barra de herramientas


se presiona correr la simulacin

Se selecciona Polarize Nwell to VDD para la polarizacin del transistor PMOS.

Se presenta una ventana con un diagrama de tiempos con las entradas (A, B, C, D) y las
salidas (a, b, c, d, e, f, g,).

La implementacin en Dsch funciona de la siguiente manera:

Para verificar el funcionamiento se debe presionar Run Simulation para iniciar la


simulacin.

Dar clic en cada botn para activar las entradas del circuito, si las condiciones de la
tabla de verdad del enunciado se cumplen se activar la salida correspondiente.

Para generar el cdigo Verilog se debe dirigir a la barra de men y presionar en File en
el cual se debe dar clic en Make Verilog File.

Luego aparecer una ventana en la cual se debe presionar OK y se generara el cdigo


Verilog; el archivo se guardar en la carpeta en donde esta creado el archivo.

Para implementar el microwind con Verilog se debe abrir Microwind y dirigirse a la


pestaa Compile y presionar en Compile Verilog File y se debe seleccionar el archivo
Verilog generado anteriormente y en la ventana que aparece se deber presionar en
Compile.

Con ese se genera el diagrama de Microwind siguiente:

Con el cual se ver las siguientes respuestas que se verificara con la tabla de verdad.

Enunciado 2 (DECODIFICAR BDC A DECIMAL)

Disee un decodificador de 4 a 10 lneas. Un decodificador de BCD a Decimal tiene un


cdigo de entrada de 4 bits y 10 salidas. Las cuales tienen valores solo para las
combinaciones de entrada del 0 al 9.

Tabla de verdad
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
C
D
0
1
2
3
4
5
6
7
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
X
X
X
X
X
X
X
X
0
1
1
X
X
X
X
X
X
X
X
1
0
0
X
X
X
X
X
X
X
X
1
0
1
X
X
X
X
X
X
X
X
1
1
0
X
X
X
X
X
X
X
X
1
1
1
X
X
X
X
X
X
X
X
En Microwind, la implementacin funciona de la siguiente manera:

8
0
0
0
0
0
0
0
0
1
0
X
X
X
X
X
X

9
0
0
0
0
0
0
0
0
0
1
X
X
X
X
X
X

Para verificar el funcionamiento del enunciado se debe dirigir a la barra de herramientas


se presiona correr la simulacin

Se selecciona Polarize Nwell to VDD para la polarizacin del transistor PMOS.

Se presenta una ventana con un diagrama de tiempos con las entradas (A, B, C, D) y las
salidas (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0).

La implementacin en Dsch funciona de la siguiente manera:

Para verificar el funcionamiento se debe presionar Run Simulation para iniciar la


simulacin.

Dar clic en cada botn para activar las entradas del circuito, si las condiciones de la
tabla de verdad del enunciado se cumplen se activar la salida correspondiente.

Para generar el cdigo Verilog se debe dirigir a la barra de men y presionar en File en
el cual se debe dar clic en Make Verilog File.

Luego aparecer una ventana en la cual se debe presionar OK y se generara el cdigo


Verilog; el archivo se guardar en la carpeta en donde esta creado el archivo.

Para implementar el microwind con Verilog se debe abrir Microwind y dirigirse a la


pestaa Compile y presionar en Compile Verilog File y se debe seleccionar el archivo
Verilog generado anteriormente y en la ventana que aparece se deber presionar en
Compile.

Con ese se genera el diagrama de Microwind siguiente:


Con el cual se ver las siguientes respuestas que se verificara con la tabla de verdad.

Enunciado 3 (DETECTOR DE NMEROS PRIMOS EN BCD-XS-3)


Se quiere realizar un circuito que reciba un nmero BCD-XS3 (4 bits) y devuelva '1' si
el nmero recibido es primo, y devuelva '0' si no lo es. Se considerar el nmero 1 como
nmero primo. El cero no es un nmero primo. En ningn caso el circuito recibir
nmeros que no estn codificados en BCD-XS3. NOTA: Se debe investigar el cdigo
BCD-XS-3

Tabla de verdad
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

P
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
0

En Microwind, la implementacin funciona de la siguiente manera:

Para verificar el funcionamiento del enunciado se debe dirigir a la barra de herramientas


se presiona correr la simulacin

Se selecciona Polarize Nwell to VDD para la polarizacin del transistor PMOS.

Se presenta una ventana con un diagrama de tiempos con las entradas (A, B, C, D) y la
salida (P).

La implementacin en Dsch funciona de la siguiente manera:

Para verificar el funcionamiento se debe presionar Run Simulation para iniciar la


simulacin.

Dar clic en cada botn para activar las entradas del circuito, si las condiciones de la
tabla de verdad del enunciado se cumplen se activar la salida correspondiente.

Para generar el cdigo Verilog se debe dirigir a la barra de men y presionar en File en
el cual se debe dar clic en Make Verilog File.

Luego aparecer una ventana en la cual se debe presionar OK y se generara el cdigo


Verilog; el archivo se guardar en la carpeta en donde esta creado el archivo.

Para implementar el microwind con Verilog se debe abrir Microwind y dirigirse a la


pestaa Compile y presionar en Compile Verilog File y se debe seleccionar el archivo
Verilog generado anteriormente y en la ventana que aparece se deber presionar en
Compile.

Con ese se genera el diagrama de Microwind siguiente:

Con el cual se ver las siguientes respuestas que se verificara con la tabla de verdad.

Enunciado 3 (COMPARADOR)
Realizar un circuito que recibe dos nmeros binarios puros (sin signo): A [3,0],
B [3,0] e indica por la salida S si A es mayor que B, dado bajo las siguientes
condiciones:
La salida S='1' cuando A>B, en otro caso S='0'.
El bit ms significativo es el bit 3.

Debe obtenerse la funcin mnima mediante mapas de Karnaugh, pero debido a


que el circuito tiene 8 entradas y resulta difcil de hacer el mapa de Karnaugh
con tantas variables, el circuito se implementar en dos mdulos.
Primero se deber realizar un circuito que compare los dos bits menos
significativos de A y B, y devuelva '1' si el nmero (A1A0) es mayor que el
nmero (B1B0). Esta salida (N) ser la entrada del segundo comparador.
Despus de haber hecho el primer comparador (de 4 entradas) se realizar el
segundo comparador (de 5 entradas). Este comparador recibe los dos bits ms
significativos de A y B, y la seal N que indica si (A1A0)>(B1B0).
El segundo comparador es muy similar al primero, nicamente cuando (A3A2)=
(B3B2) ser necesario utilizar la seal N.
Para el mapa de Karnaugh del segundo comparador se recomienda tomar la
seal N como la 5 variable.

Tabla de verdad.
Primer Mdulo
A A B B N
1 0 1 0
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
Segundo Mdulo

N A A B
3 2 3
0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 1
0 0 1 0
0 0 1 0
0 0 1 1
0 0 1 1
0 1 0 0
0 1 0 0
0 1 0 1
0 1 0 1
0 1 1 0
0 1 1 0
0 1 1 1
0 1 1 1
1 0 0 0
1 0 0 0
1 0 0 1
1 0 0 1
1 0 1 0
1 0 1 0
1 0 1 1
1 0 1 1
1 1 0 0
1 1 0 0
1 1 0 1
1 1 0 1
1 1 1 0
1 1 1 0
1 1 1 1
1 1 1 1

B
2
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

S
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
1
1
1

En Microwind, la implementacin funciona de la siguiente manera:

Para verificar el funcionamiento del enunciado se debe dirigir a la barra de herramientas


se presiona correr la simulacin

Se selecciona Polarize Nwell to VDD para la polarizacin del transistor PMOS.

Se presenta una ventana con un diagrama de tiempos con las entradas (A3, A2, A1, A0,
B1, B2, B3, B4) y la salida (S).

La implementacin en Dsch funciona de la siguiente manera:

Para verificar el funcionamiento se debe presionar Run Simulation para iniciar la


simulacin.

Dar clic en cada botn para activar las entradas del circuito, si las condiciones de la
tabla de verdad del enunciado se cumplen se activar la salida correspondiente.

Para generar el cdigo Verilog se debe dirigir a la barra de men y presionar en


File en el cual se debe dar clic en Make Verilog File.

Luego aparecer una ventana en la cual se debe presionar OK y se generara el cdigo


Verilog; el archivo se guardar en la carpeta en donde esta creado el archivo.

Para implementar el microwind con Verilog se debe abrir Microwind y dirigirse a la


pestaa Compile y presionar en Compile Verilog File y se debe seleccionar el archivo
Verilog generado anteriormente y en la ventana que aparece se deber presionar en
Compile.

Con ese se genera el diagrama de Microwind siguiente:

Con el cual se ver las siguientes respuestas que se verificara con la tabla de verdad.

EJERCICIO EXTRA
Se tiene una interseccin de dos calles como se muestra a continuacin:

D3 es un switch de una interseccin de bomberos; D1 y D2 representan sensores de


automviles; el paso de los automviles al igual que la operacin de D3 determina un
cambio de luz en los semforos (F1 y F2). Si la luz es verde hay paso libre y puede ser
representado como un 1L en una funcin digital.
Elaborar una tabla de verdad para la funcin F1 (respecto de D1, en el sentido
AA) cuando slo en ste sentido puede haber circulacin de acuerdo a las
combinaciones de D1, D2 y D3. Si:
- D1 tiene prioridad sobre D2, y si D3 tiene prioridad sobre D2 y D1.
- Si no hay presencia de automviles ni D3 es activado, considere como
posibilidad de circulacin en sentido AA.
Tabla de verdad
D1
D2
D3
F1
F2
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
0
En Microwind, la implementacin funciona de la siguiente manera:

Para verificar el funcionamiento del enunciado se debe dirigir a la barra de herramientas


se presiona correr la simulacin

Se selecciona Polarize Nwell to VDD para la polarizacin del transistor PMOS.

Se presenta una ventana con un diagrama de tiempos con las entradas (D1, D2, D3) y
las salidas (F1, F2).

La implementacin en Dsch funciona de la siguiente manera:

Para verificar el funcionamiento se debe presionar Run Simulation para iniciar la


simulacin.

Dar clic en cada botn para activar las entradas del circuito, si las condiciones de la
tabla de verdad del enunciado se cumplen se activar la salida correspondiente.

Para generar el cdigo Verilog se debe dirigir a la barra de men y presionar en File en
el cual se debe dar clic en Make Verilog File.

Luego aparecer una ventana en la cual se debe presionar OK y se generara el cdigo


Verilog; el archivo se guardar en la carpeta en donde esta creado el archivo.

Para implementar el microwind con Verilog se debe abrir Microwind y dirigirse a la


pestaa Compile y presionar en Compile Verilog File y se debe seleccionar el archivo
Verilog generado anteriormente y en la ventana que aparece se deber presionar en
Compile.

Con ese se genera el diagrama de Microwind siguiente:

Con el cual se ver las siguientes respuestas que se verificara con la tabla de verdad.

Una vez implementados individualmente cada uno de los enunciados anteriores se


proceder a multiplexar en Microwind y DSCH.

Implementacin en Microwind:

Implementacin en DSCH:

You might also like