Sunteți pe pagina 1din 64

DISEO VLSI

DEPARTAMENTO DE ELCTRICA Y ELECTRNICA


CARRERAS DE:

INGENIERA ELECTRNICA EN TELECOMUNICACIONES


INGENIERA ELECTRNICA, AUTOMATIZACIN Y CONTROL

DISEO VLSI

INFORME DEL PRODUCTO DE UNIDAD

INTEGRANTES:
SANTIAGO ANDRADE
BRYAN BRAVO
LUIS GUALAVISI
CINTYA MORALES

16-diciembre-2016
1

DISEO VLSI

1.

Tabla de Contenido
PLANTEAMIENTO DEL PROBLEMA............................................................................7

2.

OBJETIVOS........................................................................................................................7
2.1.

Objetivo general............................................................................................................7

2.2.

Objetivos especficos....................................................................................................7

3.

ESTADO DEL ARTE..........................................................................................................8

4.

MARCO TERICO..........................................................................................................10

5.

4.1.

Transistores MOS........................................................................................................10

4.2.

Circuitos CMOS..........................................................................................................11

4.3.

Diagramas UML.........................................................................................................12

4.4.

Diagramas de Secuencias............................................................................................12

4.5.

Funciones Booleanas y su simplificacin...................................................................13

4.6.

Funciones Lgicas.......................................................................................................14

4.7.

Tablas de Verdad.........................................................................................................14

4.8.

Mapas de Karnaugh....................................................................................................15

4.9.

Microwind...................................................................................................................15

4.10.

DSCH......................................................................................................................16

4.11.

Verilog.....................................................................................................................16

APLICACIONES..............................................................................................................17
5.1.

Ejercicio 1...................................................................................................................17

5.1.1.

Tabla de Verdad....................................................................................................17

5.1.2.

Simplificacin de funciones................................................................................18

5.2.

Ejercicio 2...................................................................................................................20

5.2.1.

Tabla de Verdad....................................................................................................21

5.2.2.

Simplificacin de funciones................................................................................22

5.2.3.

Funciones Simplificadas......................................................................................23

5.3.

Ejercicio 3...................................................................................................................23

5.3.1.

Tabla de verdad....................................................................................................23

5.3.2.

Simplificacin de funciones................................................................................24

5.4.

Ejercicio 4...................................................................................................................25

5.4.1.

Tabla de verdad....................................................................................................25

5.4.2.

Simplificacin de la funcin................................................................................26
2

DISEO VLSI

5.5.
6.

Tabla de seleccin de los ejercicios............................................................................26

DIAGRAMAS...................................................................................................................27
6.1.

Diagramas Esquemticos............................................................................................27

6.1.1.

Ejercicio 1............................................................................................................27

6.1.2.

Ejercicio 2............................................................................................................27

6.1.3.

Ejercicio 3............................................................................................................28

6.1.4.

Ejercicio 4............................................................................................................28

6.2.

Diagramas de Bloques................................................................................................28

6.2.1.

Ejercicio 1............................................................................................................28

6.2.2.

Ejercicio 2............................................................................................................29

6.2.3.

Ejercicio 3............................................................................................................29

6.2.4.

Ejercicio 4............................................................................................................29

6.2.5.

Ejercicio Total......................................................................................................30

6.3.

Diagramas UML de clases..........................................................................................30

6.3.1.

Ejercicio 1............................................................................................................30

6.3.2.

Ejercicio 2............................................................................................................31

6.3.3.

Ejercicio 3............................................................................................................31

6.3.4.

Ejercicio 4............................................................................................................32

6.3.5.

Ejercicio Total......................................................................................................32

6.4.

Diagramas Electrnicos..............................................................................................33

6.4.1.

Ejercicio 1............................................................................................................33

6.4.2.

Ejercicio 2............................................................................................................33

6.4.3.

Ejercicio 3............................................................................................................33

6.4.4.

Ejercicio 4............................................................................................................34

6.4.5.

Ejercicio Total......................................................................................................35

6.5.

Diagramas DSCH........................................................................................................35

6.5.1.

Ejercicio 1............................................................................................................35

6.5.2.

Ejercicio 2............................................................................................................36

6.5.3.

Ejercicio 3............................................................................................................37

6.5.4.

Ejercicio 4............................................................................................................38

6.6.

Diagramas en Microwind............................................................................................39

6.6.1.

Ejercicio 1............................................................................................................39

DISEO VLSI

6.6.2.

Ejercicio 2............................................................................................................40

6.6.3.

Ejercicio 3............................................................................................................41

6.6.4.

Ejercicio 4............................................................................................................42

6.7.

Demultiplexor.............................................................................................................43

6.7.1.

Diagrama en DSCH.............................................................................................43

6.7.2.

Diagrama en Microwind......................................................................................44

7.

LISTA DE COMPONENTES............................................................................................44

8.

EXPLICACIN CDIGO FUENTE................................................................................45

9.

8.1.1.

Ejercicio 1............................................................................................................45

8.1.2.

Ejercicio 2............................................................................................................46

8.1.3.

Ejercicio 3............................................................................................................47

8.1.4.

Ejercicio 4............................................................................................................49

DESCRIPCIN DE PRERREQUISITOS Y CONFIGURACIN...................................50

10.

APORTACIONES..........................................................................................................50

10.1.

Diagrama Esquemtico............................................................................................52

10.2.

Diagramas de Bloques.............................................................................................52

10.3.

Diagramas UML de clases.......................................................................................53

10.4.

Diagrama Electrnico..............................................................................................53

10.5.

Diagramas DSCH....................................................................................................54

10.6.

Diagramas en Microwind........................................................................................54

10.7.

Cdigo Fuente.........................................................................................................55

11.

CONCLUSIONES..........................................................................................................56

12.

RECOMENDACIONES.................................................................................................56

13.

CRONOGRAMA DE ACTIVIDADES..........................................................................58

14.

BIBLIOGRAFA............................................................................................................59

15.

ANEXOS........................................................................................................................59

15.1.

Manual de usuario...................................................................................................59

Tabla de Ilustraciones
Ilustracin 1. Tabla de Verdad...................................................................................................14
4

DISEO VLSI

Ilustracin 2. Mapa de Karnaugh...............................................................................................15


Ilustracin 3. Ejemplo Diagrama Microwind............................................................................16
Ilustracin 4. Mapa K de S0......................................................................................................18
Ilustracin 5. Mapa K de S1......................................................................................................18
Ilustracin 6. Mapa K de S2......................................................................................................19
Ilustracin 7. Mapa K de S3......................................................................................................19
Ilustracin 8. Mapa K de S4......................................................................................................19
Ilustracin 9. Mapa K de S5=S6=S7.........................................................................................20
Ilustracin 10. Mapa K de P1....................................................................................................22
Ilustracin 11. Mapa K de P2....................................................................................................22
Ilustracin 12. Mapa K de S2....................................................................................................22
Ilustracin 13. Mapa K de S1....................................................................................................23
Ilustracin 14. Esquema del Ejercicio 3....................................................................................23
Ilustracin 15. Mapa K de M0....................................................................................................24
Ilustracin 16. Mapa K de N0....................................................................................................24
Ilustracin 17. Mapa K de P0.....................................................................................................25
Ilustracin 18. Grfico de Ejercicio 4........................................................................................25
Ilustracin 19. Mapa K de N-S..................................................................................................26
Ilustracin 20. Mapa K de E-O..................................................................................................26
Ilustracin 21. Diagrama Esquemtico del Ejercicio 1.............................................................27
Ilustracin 22. Diagrama Esquemtico del Ejercicio 2.............................................................27
Ilustracin 23. Diagrama Esquemtico del Ejercicio 3.............................................................28
Ilustracin 24. Diagrama Esquemtico del Ejercicio 4.............................................................28
Ilustracin 25. Diagrama de Bloque del Ejercicio1...................................................................28
Ilustracin 26. Diagrama de Bloque del Ejercicio2...................................................................29
Ilustracin 27. Diagrama de Bloque del Ejercicio 3..................................................................29
Ilustracin 28. Diagrama de Bloque del Ejercicio 4..................................................................29
Ilustracin 29. Diagrama Esquemtico Total.............................................................................30
Ilustracin 30. Diagrama UML de Clases del Ejercicio 1.........................................................30
Ilustracin 31. Diagrama UML de Clases del Ejercicio 2.........................................................31
Ilustracin 32. Diagrama UML de Clases del Ejercicio 3.........................................................31
Ilustracin 33. Diagrama UML de Clases del Ejercicio 4.........................................................32
Ilustracin 34. Diagrama UML de Clases Total........................................................................32
Ilustracin 35. Diagrama Electrnico del Ejercicio 1................................................................33
Ilustracin 36. Diagrama Electrnico del Ejercicio 2................................................................33
Ilustracin 37. Diagrama Electrnico del Ejercicio 3................................................................34
Ilustracin 38. Diagrama Electrnico del Ejercicio 4................................................................34
Ilustracin 39. Diagrama Electrnico del Ejercicio Total..........................................................35
Ilustracin 40. Diagrama DSCH de Ejercicio 1.........................................................................35
Ilustracin 41. Diagrama DSCH de Ejercicio 2.........................................................................36
Ilustracin 42. Diagrama DSCH de Ejercicio 3.........................................................................37
Ilustracin 43. Diagrama DSCH de Ejercicio 4.........................................................................38
Ilustracin 44. Diagrama en Microwind del Ejercicio 1............................................................39
5

DISEO VLSI

Ilustracin 45. Diagrama en Microwind del Ejercicio 2............................................................40


Ilustracin 46. Diagrama en Microwind del Ejercicio 3............................................................41
Ilustracin 47. Diagrama en Microwind de Ejercicio 4.............................................................42
Ilustracin 48. Diagrama del Multiplexor en DSCH.................................................................43
Ilustracin 49. Diagrama del Demultiplexor en Microwind......................................................44
Ilustracin 50. Bosquejo del circuito.........................................................................................51
Ilustracin 51. Mapa K de S1....................................................................................................51
Ilustracin 52. Mapa K de S0....................................................................................................52
Ilustracin 53. Diagrama esquemtico......................................................................................52
Ilustracin 54. Diagrama de Bloques.........................................................................................52
Ilustracin 55. Diagrama UML de Clases..................................................................................53
Ilustracin 56. Diagrama Electrnico........................................................................................53
Ilustracin 57. Diagrama DSCH................................................................................................54
Ilustracin 58. Diagrama Microwind.........................................................................................55
Ilustracin 59. Cronograma de actividades...............................................................................58
Ilustracin 60. Eleccin del archivo MSK a simular.................................................................59
Ilustracin 61. Eleccin de la opcin Run para proceder a la simulacin en Microwind.........60
Ilustracin 62. Ventana de simulacin.......................................................................................60
Ilustracin 63. Eleccin del archivo ejecutable Dsch................................................................61
Ilustracin 64. Eleccin del archivo SCH a simular..................................................................61
Ilustracin 65. Eleccin de la opcin Run para proceder a simular el circuito en DSCH.........61
Ilustracin 66. Eleccin de Timmin Diagrams para observar las salidas del circuito...............62
ndice de tablas
Tabla 1. Tabla de verdad Ejercicio 1............................................................................................6
Tabla 2. Tabla de Verdad Ejercicio 2.........................................................................................10
Tabla 3. Tabla de Verdad del ejercicio 3....................................................................................12
Tabla 4. Tabla de verdad del Ejercicio 4....................................................................................14
Tabla 5. Tabla de Verdad del demux..........................................................................................31

DISEO VLSI

TEMA: Implementacin de circuitos mediante el uso de Microwind y DSCH

1. PLANTEAMIENTO DEL PROBLEMA


El avance cientfico del ser humano y en su bsqueda de facilitar la resolucin de
problemas a situaciones cotidianas de manera matemtica ha permitido el desarrollo de
varias tecnologas principalmente de la electrnica la cual ha evolucionado desde unas
pocas compuertas, desde una baja escala de integracin SSI hasta llegar a una gran escala
de integracin VLSI. En el diseo de circuitos integrados el uso de los diferentes tipos de
transistores es lo que determina el tipo de tecnologa de integracin. que mediante la
aplicacin de circuitos digitales especficamente con el uso de transistores NMOS y
PMOS; debido a la complejidad de implementacin de los diseos electrnicos se recurre
a herramientas de software para simulacin como MICROWIND, VERILOG y DSCH,
entre otros.
Para el desarrollo de este producto de unidad, se han propuesto 4 problemas lgicos para
realizar su respectivo modelamiento y diseo CMOS en el software de Microwind y
DSCH, por lo que se buscara la solucin ms eficiente y eficaz mediante uso de Tablas de
verdad, Mapas de Karnaugh y lgebra de Boole. Es as que se busca confirmar el correcto
comportamiento del circuito obtenido del problema en los programas previamente
mencionados a travs de la verificacin de sus combinaciones lgicas.
Sustentando la inquietud; Cmo es el manejo de estos softwares ara la implementacin de
un circuito digital?, el cual ser analizado en este documento mediante la resolucin de
distintos ejercicios de circuitos digitales.

2. OBJETIVOS
2.1.Objetivo general
Determinar la solucin ms eficiente y eficaz para los problemas planteados como
producto de unidad, a travs del conocimiento adquirido en uso del software
MICROWIND, para verificar el correcto modelamiento y funcionamiento de los
circuitos en cada uno de los problemas planteados.

2.2.Objetivos especficos

Establecer la resolucin de problemas mediante circuitos digitales con ayuda de


herramientas de software para el diseo y simulacin de los diseos electrnicos con
lgica MOS.

Emplear programas de diseo y simulacin de circuitos integrados a nivel fsico


como Microwind y DSCH.
7

DISEO VLSI

Determinar por medio de la teora de circuitos digitales las funciones lgicas que
representan las salidas de los circuitos mediante tcnicas de reduccin.

Comparar los resultados obtenidos con la teora descrita en la investigacin


desarrollada.

3. ESTADO DEL ARTE


Sin duda alguna en el devenir de los tiempos y el avance cientfico y tecnolgico del ser
humano se han realizado considerables avances en investigaciones acerca de la
modelacin, diseo y simulacin de sistemas electrnicos, utilizando distintos Software
para su posterior implementacin.
(De Gaetano, Pablo Gabriel, Martn, & Julian, 2015)Presentamos la publicacin de Oroz
de Gaetano, lvarez Pablo, Di Federico Martn y Julin Pedro en el ao 2015 presentan
un trabajo de investigacin acerca del Diseo de una Librera de Compuertas Estndares
en Tecnologa CMOS, donde se trata sus topologas, el funcionamiento y tambin se
incluyen los casos esquemticos de cada una de ellas, Adicionalmente se describen las
mscaras que permiten su implementacin en el elemento silicio. Entre las compuertas
elementales a tratar se encuentran:

Inversora.
Compuerta de paso
Nand
Nor
Xor

El trabajo presentado en este artculo se inicializa a travs de la implementacin de


compuertas bsicas, las mismas que posteriormente son combinadas entre ellas para
conseguir o disear compuertas o estructuras de complejidad mayor.
Para el diseo de las compuertas anteriormente mencionadas se ha utilizado la tecnologa
ON C5 de Mosis, un proceso n-well CMOS estndar de 0,5 m , con tres capas de metal
y dos de polysilicio.
Adicionalmente para el desarrollo de esta tecnologa se tomar el valor de 5(v) como un
valor lgico alto y uno de 0 (v) como un valor lgico bajo. El software utilizado para el
diseo de los esquemticos y mscaras es Tanner EDA. Se present as, la librera de
compuertas digitales para diseo de circuitos microelectrnicas. El incremento gradual en
la complejidad de las compuertas mostradas remarca la importancia de un diseo de
compuertas elementales que optimicen la utilizacin del rea de silicio y a su vez exploten
la utilizacin de conexiones en las primeras capas.

DISEO VLSI

(Ramesh, Saranya K., & M. Nirmala, 2015)En agosto 2015 Ramesh Bhakthavatchalu ,
Saranya K. Kannan , M. Nirmala Devi of the Department of Electronics and
Communication Engineering
Amrita School of Engineering, Amrita Vishwa
Vidyapeetham, Amritanagar, Coimbatore 641112, Tamil Nadu, India realizaron Diseo
VERILOG del controlador programable JTAG para Digital VLSI ICs, El objetivo de
este trabajo es disear e implementar un controlador JTAG encargo reconfigurable en
Verilog. Puede insertarse directamente en nuevos diseos de circuitos integrados digitales
con pequeas modificaciones. Es totalmente compatible con los estndares IEEE 1149.1.
instrucciones privadas programables adicionales tambin se pueden aadir en el diseo.
Un mecanismo de acceso seguro se proporciona en el controlador que ayuda en la
proteccin del sistema mediante la prevencin de los usuarios desautorizado de interferir
con las funciones del sistema. Un mecanismo de bloqueo y la apertura y un control de
acceso basado en clave de contrasea se incorporaron como parte del mdulo de
controlador JTAG. El controlador se configura para encajar en diferentes diseos de
referencia ISCAS'89 digitales VLSI y se analizan los resultados. Se observa que a medida
que el tamao del diseo aumenta las disminuciones de la zona y los gastos generales de
energa, pero el nmero de lmites vectores de exploracin aumenta. Todos los diseos
fueron escritos en Verilog RTL y simulaciones se realizaron con la cadencia NC-Sim
simulador. La cadencia de prueba Encuentro Arquitecto 13,1 se utiliz para verificar el
flujo de exploracin de lmites y el anlisis

(Padilla & Sale, 2012)Aadiendo otra publicacin presentamos la publicacin a cerca del
Diseo de un microprocesador RISC mediante el uso de Verilog HDL para la descripcin
y simulacin realizado por Nicols Majorel Padilla y Ernesto Jos Sale en la Universidad
pblica en San Miguel de Tucumn, Argentina en el ao 2014; presenta el diseo de un
microprocesador RISC de 32 bits; mediante el uso de Verilog HDL para la descripcin y
simulacin del diseo. La finalidad del trabajo sienta una base para otros proyectos sobre
microprocesadores; y adems sirve para tener una idea de la utilidad de Verilog HDL as
como del tiempo necesario para aprender a manejarlo. El trabajo se realiz en 3 etapas, a
saber: Diseo del Set de Instrucciones a utilizar; Diseo de un microprocesador uniciclo;
y Diseo de un microprocesador segmentado. El motivo para realizar 2 diseos de
microprocesadores consiste en tener una idea ms concreta sobre cmo influye la
complejidad del hardware sobre la descripcin y la evaluacin de resultados. Una vez
finalizado el trabajo, se comprob que Verilog HDL constituye una herramienta muy
poderosa que potencia enormemente la productividad de los diseadores de hardware.
Tambin se agreg que no es muy costoso familiarizarse con el lenguaje, ya que su
sintaxis es bastante similar a la del lenguaje C, siendo este ltimo muy popular tanto en
ambientes profesionales como acadmicos. Sin embargo, presenta conceptos que no son
simples de comprender y manejar mentalmente (como la concurrencia de procesos) que
pueden resultar en fuentes de error de difcil identificacin si no son manejados con el
cuidado que merecen. Adems, de por s, la depuracin del cdigo es dificultosa y

DISEO VLSI

encontrar la causa de los errores requiere conocer plenamente y tener presente el diseo
que se vaya a implementar, en este el microprocesador.
A travs de estos artculos que tomamos como base para la realizacin del presente
proyecto tendremos las bases prescindibles para representar los circuitos diseados con
UML utilizando Diagramas de Caso de usos, Diagramas de clase, entre otros. Luego
utilizando herramientas de software como son Microwind y DSCH, los diseos de la
funcin simplificada sern implementados, para finalmente realizar un anlisis de los
resultados obtenidos. Se comprueba as que el uso de condiciones de no importancia es
vital al momento de disear, ya que ayuda a reducir considerablemente las expresiones y
se verifica que al obtener un diseo completamente simplificado reduce tiempos de
propagacin, potencia de consumo adems disminuimos los peligros lgicos que
podramos presentarse.
Tambin es considerable seguir una serie de pasos para la correcta comprensin de los
problemas planteados, con la ayuda de los diagramas UML, diagramas de bloques,
electrnicos y esquemticos, para despus proceder al diseo, programacin en Verilog y
posterior simulacin de los circuitos.

4. MARCO TERICO
4.1. Transistores MOS

Un dispositivo MOS est fabricado de las siguientes capas y recursos:

Difusin cuya
misin es
transmitir la
seal

Capas
Polisilicio

Oxido Aislante

Recursos
NMOS

PMOS

10

Metal

DISEO VLSI

Simplifiacando un
transistor se puede ver
como un interruptor
sencillo.
Uno Lgico, suele ser un
valor comprendido en tre
1,5 y 15 voltios. Tambien
se le llama alimentacin
(Vdd).

Suposiciones para el
estudio del transistor MOS

Cero lgico, suele tener


valor 0 voltios. Tambien se
le llama tierra (Gnd).

Por convenio la corriente la


proporciona el Vdd y la
elimina el Gnd.
4.2. Circuitos CMOS
La estructura bsica de estos circuitos CMOS,
dispone un red de polarizacin de nivel bajo
(pull-down) formada por transistores NMOS,
y un equivalente para el nivel alto (pull-up)
constituida por transistores PMOS.

Las dos redes se activan por variables de


entrada, de forma que trabajen de forma
complementaria,
impidiendo
que
ambos
caminos (al nivel alto y bajo) estn activados
simultneamente.

11

DISEO VLSI

La red PDN se compone de transistores NMOS,


activados con niveles altos de las entradas,
mientras
que
la
red
PUN,
compuesta
por
transistores PMOS, se activa con niveles bajos de
las entradas.

Las funciones OR y AND pueden establecerse


mediante
conexiones
en
paralelo
y
serie
respectivamente. .

4.3. Diagramas UML

El UML est compuesto por diversos elementos grficos que se


combinan para conformar diagramas

Diagrama

Modelo

Presentar diversas
perspectivas de un sistema, a
las cuales se les conoce como
modelo.

Es una representacin
simplificada de la realidad.

4.4. Diagramas de Secuencias

El diagrama de secuencias UML muestra la mecnica de la interaccin con base en


tiempos.

12

DISEO VLSI

Rol de la Clase
El rol de la
clase describe
la manera en
que un objeto
se
va
a
comportar en
el contexto.
No se listan
los atributos
del objeto.

Activacin
Los cuadros
de activacin
representan el
tiempo que
un
objeto
necesita para
completar una
tarea.

Mensajes
Los mensajes
son flechas
que
representan
comunicacion
es
entre
objetos.

Lneas de Vida
Las lneas de
vida son
verticales y
en lnea de
puntos, ellas
indican la
presencia del
objeto
durante el
tiempo.

Destruccin de Objetos
Los objetos pueden ser elimiinados tempranamente usando una flecha etiquetada
''<<destruir>> que apunta a una x.

Loops
Una repeticin o loop en un diagrama de secuencias, es representado como un
rectngulo. La condicin para abandonar el loop se coloca en la parte inferior
entre corchetes [].

4.5. Funciones Booleanas y su simplificacin

El lgebra de Boole permite expresar, en forma de funciones matemticas, tanto la


realizacin de clculos en el sistema binario como la adopcin de decisiones a travs de la
combinacin de proposiciones.
13

DISEO VLSI

Cantidades y cualidades pueden ser representadas por conjuntos de ceros y unos.


Fue desarrollada en 1847 por George Boole.
El lgebra de conmutacin es el lgebra booleana que emplea dos valores o niveles lgicos.
Tiene leyes y postulados que se conocen como propiedades del algebra booleana.
Estos postulados se pueden usar para demostrar leyes ms generales sobre expresiones booleanas.
Las propiedades se usan para simplificar y optimizar expresiones booleanas y sistemas digitales
Tiene tres operaciones lgicas bsicas: OR, AND, NOT.

4.6. Funciones Lgicas

D escriptiva

U na funcin booleana o funcin lgica es una expresin de


operaciones booleanas enlazando variables que solam ente
pueden adquirir los valores 0 y 1

Conceptual

U na funcin booleana es una aplicacin que a cada conjunto


de valores booleanos de sus variables le asigna un y slo un
valor booleano

En una funcin f designaremos con el nombre de variables de entrada xi al conjunto de sus


variables propias y denominaremos variable de salida y a la variable dependiente o
resultado de la propia funcin y = f (xi).

4.7. Tablas de Verdad

Forma de representacin de funciones, dando el valor de la funcin para cada combinacin


de entrada. Cuanto mayor nmero de variables, mayor cantidad de filas tendr la tabla de
verdad.

Ilustracin 1. Tabla de Verdad

14

DISEO VLSI

Una vez obtenida la funcin lgica, se implementa el Mapa de Karnaugh.


4.8. 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.

Ilustracin 2. Mapa de Karnaugh

4.9. Microwind

Permite disear y simular un circuito integrado a un nivel


de descripcin fsico.

El paquete contiene una librera de lgica comn y circuitos


integrados y analgicos para ver y simular.
Microwind incluye todos los comandos para editar las
mascaras como herramientas para ver el proceso en 2D, 3D
y compilador verilog.
La extraccin de su circuito elctrico se realiza de forma
automtica y el simulador produce un voltaje analgico y
las curvas de corriente.

15

DISEO VLSI

Ilustracin 3. Ejemplo Diagrama Microwind

4.10.
E
v
z
,g
q
y

T
h
p
H
C
S
D
sim
e
d
n

lc
.u
o
rta

j(P
f) DSCH

4.11. Verilog

16

DISEO VLSI

Es un lenguaje tipo C, que permite describir diseos a distintos niveles de abstraccin

Nivel
transferencia de
registros

Nivel algoritmo

Usa
registros
conectados por
ecuaciones
booleanas.

Similar a un
cdigo C con
construcciones if,
case y loops.

Nivel de puertas

Nivel de
conmutadores

Interconexin de
puertas.

Los
conmutadores
son
los
transistores MOS
que implementan
las
puertas
lgicas.

5. APLICACIONES
5.1.Ejercicio 1
Realizar un circuito que a partir de un nmero binario puro de 4 bits obtenga el nmero
BCD equivalente. El resultado ser un nmero BCD que representa dos cifras decimales (8
bits en total).
5.1.1. Tabla de Verdad
Tabla 1. Tabla de verdad Ejercicio 1

A B C D S7
0
0
0
0
0
0
0
0
1
1
1

0
0
0
0
1
1
1
1
0
0
0

0
0
1
1
0
0
1
1
0
0
1

0
1
0
1
0
1
0
1
0
1
0

0
0
0
0
0
0
0
0
0
0
0

S
6
0
0
0
0
0
0
0
0
0
0
0

S5 S4
0
0
0
0
0
0
0
0
0
0
0
17

0
0
0
0
0
0
0
0
0
0
1

S
3
0
0
0
0
0
0
0
0
1
1
0

S2 S1 S0
0
0
0
0
1
1
1
1
0
0
0

0
0
1
1
0
0
1
1
0
0
0

0
1
0
1
0
1
0
1
0
1
0

DISEO VLSI

1
1
1
1
1

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

0
0
0
0
0

0
0
0
0
0

0
0
0
0
0

1
1
1
1
1

0
0
0
0
0

0
0
0
1
1

0
1
1
0
0

1
0
1
0
1

5.1.2. Simplificacin de funciones


Funcin para la salida S0

Funcin Lgica para la salida S0


S 0=D

Ilustracin 4. Mapa K de S0

Funcin para la salida S1

Funcin Lgica para la salida S1

Ilustracin 5. Mapa K de S1

18

DISEO VLSI

C+ AB C

S 1= A
Funcin para la salida S2

Ilustracin 6. Mapa K de S2

Funcin Lgica para la salida S2


B+ BC=B( A+C

S 2= A
)

19

DISEO VLSI

Funcin para la salida S3

Ilustracin 7. Mapa K de S3

Funcin Lgica para la salida S3


C

S 3= A B

20

DISEO VLSI

Funcin para la salida S4

Ilustracin 8. Mapa K de S4

Funcin Lgica para la salida S4


S 4 =AB+ AC

21

DISEO VLSI

Funcin para la salida S5, S6, S7

Funcin Lgica para la salida S5= S6 =S7


S 5 S 6=S7=0

Ilustracin 9. Mapa K de S5=S6=S7

5.2.Ejercicio 2
Diseo de un controlador para un robot seguidor de lnea. Las especificaciones son:
Objetivo: Disear un circuito digital, capaz gobernador un microbot, haciendo que ste
siga una lnea negra pintada sobre un fondo blanco.
Sensores: El microbot est dotado de dos sensores digitales capaces de diferenciar el
color negro del blanco. La salida de estos sensores es 0 cuando leen y 1 cuando leen
negro.
Denominaremos a este bit como C:
Sensor

Color Blanco

Color Negro

Motores: Dos motores de corriente continua que son controlados cada uno mediante
dos bits, denominados S y P, descritos mediante la siguiente tabla de verdad:
P

Motor

Parado

Parado

Giro derecha

Giro Izquierda

22

DISEO VLSI

El bit P es el bit de Power. Indica si el motor est conectado o no. El bit S es el del
sentido de giro. Segn su valor el motor girar a la derecha o a la izquierda (siempre
que el motor est activado, con P=1)

Algoritmo: El algoritmo para seguir la lnea negra es muy sencillo. Mientras dos
sensores detecten negro, el robot deber avanzar. Cuando el sensor de la derecha
detecte blanco y el de la izquierda negro, el robot girar a la izquierda y cuando ocurra
el caso contrario girar a la derecha. Si ambos sensores leen blanco permanecer
parado. Esto se esquematiza en la siguiente figura:

El robot: El esquema del robot es el siguiente (visto desde arriba)


5.2.1. Tabla de Verdad
Tabla 2. Tabla de Verdad Ejercicio 2
A(C1
)

B(C2
)

S
1

P1(S2
)

S2(S3
)

P2(S4
)

23

DISEO VLSI

5.2.2. Simplificacin de funciones


Salida P1(s2)

Ilustracin 10. Mapa K de P1

P1( S 2)=C 1( A)+C 2(B)

Salida P2(S3)

Ilustracin 11. Mapa K de P2

P2( S 4)=C 1( A)+C 2(B)


Salida S2(s3)

Ilustracin 12. Mapa K de S2

S 2= A
Salida S1

Ilustracin 13. Mapa K de S1

24

DISEO VLSI

S 1= B

5.2.3. Funciones Simplificadas


Salida de Motores
P1( S 2)=C 1( A)+C 2(B)
P2( S 4)=C 1( A)+C 2(B)

P1( S 2)=P 2(S 4)=C 1( A)+C 2(B)


Salida de giro

S 1=C 2( B)

S 2(S 3)=C 1( A)

5.3.Ejercicio 3
Disear un comparador de magnitud relativa que tiene como entrada dos dgitos de tres
variables, como se muestra en la figura. Detectando a la salida alguna de las tres
condiciones.

Ilustracin 14. Esquema del Ejercicio 3

5.3.1. Tabla de verdad


Tabla 3. Tabla de Verdad del ejercicio 3
Comparacin

Salidas

A2,B2

A1,B1

A0,B0

M=1,A=B

N=1,A>B

P=1,A<B

A2>B2

A2<B2

A2=B2

A1>B1

A2=B2

A1<B1

A2=B2

A1=B1

A0>B0

A2=B2

A1=B1

A0<B0

25

DISEO VLSI

A2=B2

A1=B1

A0=B0

Comparacin de bit a bit


A

0
0
1
1

0
1
0
1

1
0
0
1

0
0
1
0

0
1
0
0

0
0
1
1

0
1
0
1

1
0
0
1

0
0
1
0

0
1
0
0

0
0
1
1

0
1
0
1

1
0
0
1

0
0
1
0

0
1
0
0

5.3.2. Simplificacin de funciones


Salida M0

Ilustracin 15. Mapa K de M0

M 0= A 0 B 0 +A 0 B0

Salida N0

26

DISEO VLSI

Ilustracin 16. Mapa K de N0

N 0= A 0 B 0

Salida de P0

Ilustracin 17. Mapa K de P0

P0= A 0 B

5.4.Ejercicio 4
En la figura se muestra la interaccin de una autopista principal con un camino de acceso
secundario. Se colocan sensores de deteccin de vehculos a lo largo de carriles C y D
(camino principal) y en los carriles A y B (camino de acceso). Las lecturas (o salidas) del
sensor son bajas (0), cuando no pasa ningn vehculo, y alta (1) cuando pasa algn
vehculo. El semforo del crucero se controlar de acuerdo con la siguiente lgica: a) El
semforo E-W estar en luz verde siempre que los carriles C y D estn ocupados. b) El
semforo E-W estar en luz verde siempre que los carriles C o D estn ocupados, pero A y
B no lo estn. c) E l semforo N-S estar en luz verde siempre que los carriles A y B estn
ocupados, pero C y D no lo estn. d) E l semforo N-S estar en luz verde cuando A y B
estn ocupados en tanto que C y D estn vacantes. El semforo E-W estar en luz verde
cuando no haya vehculos transitando. Utilizando salidas A, B, C y D del sensor como
entradas, alto cuando la luz correspondiente se torne verde.

27

DISEO VLSI

Ilustracin 18. Grfico de Ejercicio 4

5.4.1. Tabla de verdad


Tabla 4. Tabla de verdad del Ejercicio 4

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 D
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1

N-S
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0

E-O
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1

5.4.2. Simplificacin de la funcin


Salida N-S

Ilustracin 19. Mapa K de N-S

28

DISEO VLSI

NS=AB C D

Salida E-O

Ilustracin 20. Mapa K de E-O

EO=A B+ CD

5.5.Tabla de seleccin de los ejercicios


Entradas de demultiplexacin
A, B, C
Salidas
S0, S1, S2, S3, S4
C B A
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

S
4
0
0
0
0
1
0
0
0

S
3
0
0
0
1
0
0
0
0

29

S
2
0
0
1
0
0
0
0
0

S
1
0
1
0
0
0
0
0
0

S
0
1
0
0
0
0
0
0
0

DISEO VLSI

6. DIAGRAMAS
6.1.Diagramas Esquemticos
6.1.1. Ejercicio 1

Ilustracin 21. Diagrama Esquemtico del Ejercicio 1

6.1.2. Ejercicio 2

Ilustracin 22. Diagrama Esquemtico del Ejercicio 2

6.1.3. Ejercicio 3

Ilustracin 23. Diagrama Esquemtico del Ejercicio 3

30

DISEO VLSI

6.1.4. Ejercicio 4

Ilustracin 24. Diagrama Esquemtico del Ejercicio 4

6.2. Diagramas de Bloques


6.2.1. Ejercicio 1

Entradas (4)

Convertidor BCD
Ilustracin 25. Diagrama de Bloque del Ejercicio1

6.2.2. Ejercicio 2

Ilustracin 26. Diagrama de Bloque del Ejercicio2

31

Salidas (8)

DISEO VLSI

6.2.3. Ejercicio 3

Ilustracin 27. Diagrama de Bloque del Ejercicio 3

6.2.4. Ejercicio 4
Comparador

Ilustracin 28. Diagrama de Bloque del Ejercicio 4

32

DISEO VLSI

6.2.5. Ejercicio Total

Ilustracin 29. Diagrama Esquemtico Total.

6.3. Diagramas UML de clases


6.3.1. Ejercicio 1

Ilustracin 30. Diagrama UML de Clases del Ejercicio 1

33

DISEO VLSI

6.3.2. Ejercicio 2

Ilustracin 31. Diagrama UML de Clases del Ejercicio 2

6.3.3. Ejercicio 3

Ilustracin 32. Diagrama UML de Clases del Ejercicio 3

34

DISEO VLSI

6.3.4. Ejercicio 4

Ilustracin 33. Diagrama UML de Clases del Ejercicio 4

6.3.5. Ejercicio Total.

Ilustracin 34. Diagrama UML de Clases Total

35

DISEO VLSI

6.4. Diagramas Electrnicos


6.4.1. Ejercicio 1

Ilustracin 35. Diagrama Electrnico del Ejercicio 1

6.4.2. Ejercicio 2

Ilustracin 36. Diagrama Electrnico del Ejercicio 2

6.4.3. Ejercicio 3

36

DISEO VLSI

Ilustracin 37. Diagrama Electrnico del Ejercicio 3

6.4.4. Ejercicio 4

Ilustracin 38. Diagrama Electrnico del Ejercicio 4

37

DISEO VLSI

6.4.5. Ejercicio Total


Ilustracin 39. Diagrama Electrnico del Ejercicio Total

6.5.Diagramas DSCH
6.5.1. Ejercicio 1

Ilustracin 40. Diagrama DSCH de Ejercicio 1

38

DISEO VLSI

6.5.2. Ejercicio 2

Ilustracin 41. Diagrama DSCH de Ejercicio 2

39

DISEO VLSI

6.5.3. Ejercicio 3

Ilustracin 42. Diagrama DSCH de Ejercicio 3

40

DISEO VLSI

6.5.4. Ejercicio 4

Ilustracin 43. Diagrama DSCH de Ejercicio 4

41

DISEO VLSI

6.6.Diagramas en Microwind
6.6.1. Ejercicio 1

Ilustracin 44. Diagrama en Microwind del Ejercicio 1

42

DISEO VLSI

6.6.2. Ejercicio 2

Ilustracin 45. Diagrama en Microwind del Ejercicio 2

43

DISEO VLSI

6.6.3. Ejercicio 3

Ilustracin 46. Diagrama en Microwind del Ejercicio 3

44

DISEO VLSI

6.6.4. Ejercicio 4

Ilustracin 47. Diagrama en Microwind de Ejercicio 4

45

DISEO VLSI

6.7. Demultiplexor
6.7.1. Diagrama en DSCH

Ilustracin 48. Diagrama del Multiplexor en DSCH

46

DISEO VLSI

6.7.2. Diagrama en Microwind

Ilustracin 49. Diagrama del Demultiplexor en Microwind

7. LISTA DE COMPONENTES
COMPONENTES
Microwind

DSCH
Verilog
Cuaderno Digitales
Internet

UTILIDAD
Software usado para la implementacin de
circuitos combinacionales con transistores
CMOS
Software usado para la implementacin de
circuitos combinacionales con transistores
CMOS
Lenguaje utilizado para el diseo de circuitos
combinacionales con transistores CMOS
Fuente de consulta para el diseo de los
circuitos combinacionales
Fuente de consulta para el desarrollo de la
47

DISEO VLSI

investigacin

8. EXPLICACIN CDIGO FUENTE


8.1.1. Ejercicio 1
CODIGO VERILOG
// DSCH 2.7a
// 10/12/2016 16:42:40
// C:\Users\ANDRES\Desktop\VLSI\Ejercicio1\1.sch
module 1( C,D,A,B,S3,S4,S6,S5,
S7,S0,S1,S2);
input C,D,A,B;
output S3,S4,S6,S5,S7,S0,S1,S2;
pmos #(10) pmos(w2,vdd,B); // 2.0u 0.12u
nmos #(31) nmos(w7,w5,A); // 1.0u 0.12u
pmos #(31) pmos(w7,w2,C); // 2.0u 0.12u
pmos #(17) pmos(S5,vdd,w8); // 2.0u 0.12u
nmos #(17) nmos(S5,S1,w8); // 1.0u 0.12u
nmos #(17) nmos(w5,S1,B); // 1.0u 0.12u
nmos #(38) nmos(w11,S1,A); // 1.0u 0.12u
nmos #(17) nmos(w5,S1,C); // 1.0u 0.12u
pmos #(31) pmos(w7,vdd,A); // 2.0u 0.12u
pmos #(45) pmos(w14,w12,w13); // 2.0u 0.12u
pmos #(45) pmos(w14,w12,B); // 2.0u 0.12u
pmos #(24) pmos(w15,vdd,B); // 2.0u 0.12u
nmos #(10) nmos(w17,w16,w15); // 1.0u 0.12u
nmos #(10) nmos(w16,S1,w13); // 1.0u 0.12u
nmos #(38) nmos(w18,w17,A); // 1.0u 0.12u
nmos #(24) nmos(w15,S1,B); // 1.0u 0.12u
pmos #(38) pmos(w11,vdd,A); // 2.0u 0.12u
pmos #(38) pmos(w18,vdd,A); // 2.0u 0.12u
pmos #(38) pmos(w18,vdd,w15); // 2.0u 0.12u
pmos #(38) pmos(w18,vdd,w13); // 2.0u 0.12u
pmos #(31) pmos(w8,vdd,B); // 2.0u 0.12u
pmos #(38) pmos(w13,vdd,C); // 2.0u 0.12u
nmos #(38) nmos(w13,S1,C); // 1.0u 0.12u
nmos #(31) nmos(w8,w20,B); // 1.0u 0.12u
nmos #(17) nmos(w20,S1,w11); // 1.0u 0.12u
nmos #(17) nmos(w20,S1,C); // 1.0u 0.12u
pmos #(10) pmos(w21,vdd,w11); // 2.0u 0.12u
pmos #(31) pmos(w8,w21,C); // 2.0u 0.12u
pmos #(17) pmos(S3,vdd,w7); // 2.0u 0.12u
nmos #(17) nmos(S3,S1,w7); // 1.0u 0.12u
pmos #(45) pmos(w14,w12,A); // 2.0u 0.12u
nmos #(17) nmos(S4,S1,w18); // 1.0u 0.12u
pmos #(17) pmos(S4,vdd,w18); // 2.0u 0.12u
48

DISEO VLSI

nmos #(17) nmos(S6,S1,w14); // 1.0u 0.12u


pmos #(17) pmos(S6,vdd,w14); // 2.0u 0.12u
nmos #(45) nmos(w14,w23,w11); // 1.0u 0.12u
nmos #(10) nmos(w23,S1,C); // 1.0u 0.12u
nmos #(45) nmos(w14,w24,A); // 1.0u 0.12u
nmos #(10) nmos(w24,w25,B); // 1.0u 0.12u
nmos #(10) nmos(w25,S1,w13); // 1.0u 0.12u
pmos #(31) pmos(w12,w26,w11); // 2.0u 0.12u
pmos #(31) pmos(w12,vdd,C); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 C=~C;
#2000 D=~D;
#4000 A=~A;
#8000 B=~B;
// Simulation parameters
// C CLK 10 10
// D CLK 20 20
// A CLK 40 40
// B CLK 80 80

8.1.2. Ejercicio 2
// DSCH 2.7a
// 03/12/2016 12:30:17
// D:\Documentos\Universidad\7mo\VLSI\1er Parcial\Producto de Unidad\Ejercicio2.sch
module Ejercicio2( C1,C2,S2,S1,P1,P2);
input C1,C2;
output S2,S1,P1,P2;
pmos #(31) pmos(S1,vdd,C2); // 2.0u 0.12u
nmos #(31) nmos(S2,vss,C1); // 1.0u 0.12u
pmos #(31) pmos(S2,vdd,C1); // 2.0u 0.12u
nmos #(31) nmos(S1,vss,C2); // 1.0u 0.12u
pmos #(31) pmos(P2,vdd,S2); // 2.0u 0.12u
pmos #(31) pmos(P2,vdd,S1); // 2.0u 0.12u
nmos #(31) nmos(P2,w6,S2); // 1.0u 0.12u
nmos #(10) nmos(w6,vss,S1); // 1.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
#1000 C1=~C1;
#2000 C2=~C2;
49

DISEO VLSI

// Simulation parameters
// C1 CLK 10 10
// C2 CLK 20 20

8.1.3. Ejercicio 3
module EJER3PROY(a0,a1,a2,b0,b1,b2,m,n,p)
input a0,a1,a2,b0,b1,b2;//entradas
output m,n,p;//salidas
//not-a0
nmos(vss,a0n,a0)// 1.0u 0.12u
pmos(a0n,vdd,a0)// 1.0u 0.12u
//not-a1
nmos(vss,a1n,a1)// 1.0u 0.12u
pmos(a1n,vdd,a1)// 1.0u 0.12u
//not-a2
nmos(vss,a2n,a2)// 1.0u 0.12u
pmos(a2n,vdd,a2)// 1.0u 0.12u
//not-b0
nmos(vss,b0n,b0)// 1.0u 0.12u
pmos(b0n,vdd,b0)// 1.0u 0.12u
//not-b1
nmos(vss,b1n,b1)// 1.0u 0.12u
pmos(b1n,vdd,b1)// 1.0u 0.12u
//not-b2
nmos(vss,b2n,b2)// 1.0u 0.12u
pmos(b2n,vdd,b2)// 1.0u 0.12u
//para m
nmos(vss,e10,b2)// 1.0u 0.12u
nmos(e10,e9,a2)// 1.0u 0.12u
nmos(vss,e11,b2n)// 1.0u 0.12u
nmos(e11,e9,a2n)// 1.0u 0.12u
nmos(e9,e7,b1)// 1.0u 0.12u
nmos(e7,e6,a1)// 1.0u 0.12u
nmos(e9,e8,b1n)// 1.0u 0.12u
nmos(e8,e6,a1n)// 1.0u 0.12u
nmos(e6,e4,b0)// 1.0u 0.12u
nmos(e4,f1,a0)// 1.0u 0.12u
nmos(e6,e5,b0n)// 1.0u 0.12u
nmos(e5,f1,a0n)// 1.0u 0.12u
pmos(f1,e1,a0n)// 1.0u 0.12u
pmos(f1,e1,b0n)// 1.0u 0.12u
pmos(f1,e2,a1n)// 1.0u 0.12u
pmos(f1,e2,b1n)// 1.0u 0.12u
pmos(f1,e3,a2n)// 1.0u 0.12u
pmos(f1,e3,b2n)// 1.0u 0.12u
50

DISEO VLSI

pmos(e1,vdd,a0)// 1.0u 0.12u


pmos(e1,vdd,b0)// 1.0u 0.12u
pmos(e2,vdd,a1)// 1.0u 0.12u
pmos(e2,vdd,b1)// 1.0u 0.12u
pmos(e3,vdd,a2)// 1.0u 0.12u
pmos(e3,vdd,b2)// 1.0u 0.12u
//not m
nmos(vss,m,f1)// 1.0u 0.12u
pmos(m,vdd,f1)// 1.0u 0.12u
//para d5
nmos(vss,d3,b1)// 1.0u 0.12u
nmos(vss,d4,b1n)// 1.0u 0.12u
nmos(d3,d2,a1)// 1.0u 0.12u
nmos(d4,d2,a1n)// 1.0u 0.12u
pmos(d2,d1,a1n)// 1.0u 0.12u
pmos(d2,d1,b1n)// 1.0u 0.12u
pmos(d1,vdd,a1)// 1.0u 0.12u
pmos(d1,vdd,a1)// 1.0u 0.12u
//not d5
nmos(vss,d5,d2)// 1.0u 0.12u
pmos(d5,vdd,d2)// 1.0u 0.12u
//para m5
nmos(vss,m3,b2)// 1.0u 0.12u
nmos(vss,m4,b2n)// 1.0u 0.12u
nmos(m3,m2,a2)// 1.0u 0.12u
nmos(m4,m2,a2n)// 1.0u 0.12u
pmos(m2,m1,a2n)// 1.0u 0.12u
pmos(m2,m1,b2n)// 1.0u 0.12u
pmos(m1,vdd,a2)// 1.0u 0.12u
pmos(m1,vdd,b2)// 1.0u 0.12u
//not m5
nmos(vss,m5,m2)// 1.0u 0.12u
pmos(m5,vdd,m2)// 1.0u 0.12u
//para n
nmos(vss,n9,m5)// 1.0u 0.12u
nmos(n9,n7,d5)// 1.0u 0.12u
nmos(n7,n4,b0n)// 1.0u 0.12u
nmos(n4,n3,a0)// 1.0u 0.12u
nmos(vss,n8,m5)// 1.0u 0.12u
nmos(n8,n5,b1n)// 1.0u 0.12u
nmos(n5,n3,a1)// 1.0u 0.12u
nmos(vss,n6,b2n)// 1.0u 0.12u
nmos(n6,n3,a2)// 1.0u 0.12u
pmos(n3,n2,a2)// 1.0u 0.12u
pmos(n3,n2,b2n)// 1.0u 0.12u
pmos(n2,n1,a1)// 1.0u 0.12u
pmos(n2,n1,b1n)// 1.0u 0.12u
pmos(n2,n1,m5)// 1.0u 0.12u
pmos(n1,vdd,a0)// 1.0u 0.12u
pmos(n1,vdd,b0n)// 1.0u 0.12u
pmos(n1,vdd,d5)// 1.0u 0.12u
51

DISEO VLSI

pmos(n1,vdd,m5)// 1.0u 0.12u


//not n
nmos(vss,n,n3)// 1.0u 0.12u
pmos(n,vdd,n3)// 1.0u 0.12u
//para p
nmos(vss,o2,n3)//1.0u 0.12u
nmos(o2,o1,f1)//1.0u 0.12u
pmos(o1,vdd,f1)//1.0u 0.12u
pmos(o1,vdd,n3)//1.0u 0.12u
//not p
nmos(vss,p,o1)// 1.0u 0.12u
pmos(p,vdd,o1)// 1.0u 0.12u
endmodule
// Simulation parameters
B1 CLK 10 10
B0 CLK 20 20
B2 CLK 40 40
A2 CLK 80 80
A0 CLK 160 160
A1 CLK 320 320

8.1.4. Ejercicio 4
// DSCH 2.7a
// 03/12/2016 17:03:17
// C:\Users\User\Desktop\EJERCICIO 4\example.sch
module example( A,D,C,B,E_W,N_S);
input A,D,C,B;
output E_W,N_S;
nmos #(24) nmos(w2,vss,C); // 1.0u 0.12u
pmos #(38) pmos(w4,w3,C); // 2.0u 0.12u
pmos #(24) pmos(w2,vdd,C); // 2.0u 0.12u
pmos #(17) pmos(E_W,vdd,w4); // 2.0u 0.12u
nmos #(17) nmos(E_W,vss,w4); // 1.0u 0.12u
pmos #(24) pmos(w8,vdd,B); // 2.0u 0.12u
pmos #(24) pmos(w9,vdd,A); // 2.0u 0.12u
nmos #(24) nmos(w8,vss,B); // 1.0u 0.12u
nmos #(24) nmos(w9,vss,A); // 1.0u 0.12u
pmos #(17) pmos(N_S,vdd,w10); // 2.0u 0.12u
pmos #(38) pmos(w4,w3,D); // 2.0u 0.12u
pmos #(24) pmos(w3,vdd,w8); // 2.0u 0.12u
pmos #(24) pmos(w3,vdd,w9); // 2.0u 0.12u
nmos #(10) nmos(w13,vss,D); // 1.0u 0.12u
nmos #(38) nmos(w4,w13,C); // 1.0u 0.12u
52

DISEO VLSI

nmos #(38) nmos(w4,w14,w9); // 1.0u 0.12u


nmos #(10) nmos(w14,vss,w8); // 1.0u 0.12u
nmos #(17) nmos(N_S,vss,w10); // 1.0u 0.12u
pmos #(24) pmos(w15,vdd,D); // 2.0u 0.12u
nmos #(24) nmos(w15,vss,D); // 1.0u 0.12u
pmos #(45) pmos(w10,vdd,A); // 2.0u 0.12u
nmos #(10) nmos(w17,w16,B); // 1.0u 0.12u
pmos #(45) pmos(w10,vdd,B); // 2.0u 0.12u
nmos #(45) nmos(w10,w17,A); // 1.0u 0.12u
pmos #(45) pmos(w10,vdd,w15); // 2.0u 0.12u
pmos #(45) pmos(w10,vdd,w2); // 2.0u 0.12u
nmos #(10) nmos(w16,w18,w2); // 1.0u 0.12u
nmos #(10) nmos(w18,vss,w15); // 1.0u 0.12u
endmodule

9. DESCRIPCIN DE PRERREQUISITOS Y CONFIGURACIN

Conocimientos bsicos de circuitos digitales, especialmente en circuitos de escala: LSI y


MSI para comprender el funcionamiento de compuertas lgicas, decodificadores, MUX.
Conocimiento bsico de electrnica, especialmente transistores MOS.
Computador es con arquitectura x86 o x64, que soporten sistemas operativos de 32 o 64
bits.
Windows XP, Windows 7, Windows 8, Windows 8.1.
Software de Microwind y de DSCH, para ejecutar los archivos (*exe), para su utilizacin.

10. APORTACIONES
Al depsito de la Ilustracin accede 2 canalizaciones cuyos caudales se muestran en la figura,
del depsito salen otras 2 canalizaciones cuyos caudales se muestran tambin. Disear un
circuito que gobierne las electrovlvulas de salida para que dependiendo de las electrovlvulas
de entrada que estn abierta sea igual al de salida, si el flujo de entrada sobrepasa al flujo
mximo de salida las vlvulas deben cerrarse.

53

DISEO VLSI

Ilustracin 50. Bosquejo del circuito

Tabla de verdad
Tabla 5. Tabla de Verdad del Demux

A B
0 0
0 1
1 0
1 1

S
1
0
1
1
0

S
0
0
1
0
0

Funciones

Ilustracin 51. Mapa K de S1

A B
S 1= A B+

54

DISEO VLSI

Ilustracin 52. Mapa K de S0

B
S 0= A
10.1.

Diagrama Esquemtico.

Ilustracin 53. Diagrama esquemtico

10.2.

Diagramas de Bloques.

Ilustracin 54. Diagrama de Bloques

55

DISEO VLSI

10.3.

Diagramas UML de clases

Ilustracin 55. Diagrama UML de Clases

10.4.

Diagrama Electrnico

Ilustracin 56. Diagrama Electrnico.

56

DISEO VLSI

10.5.

Diagramas DSCH

Ilustracin 57. Diagrama DSCH

10.6.

Diagramas en Microwind

57

DISEO VLSI

Ilustracin 58. Diagrama Microwind

10.7.

Cdigo Fuente
module Extra( B,A,s0,s1);
input B,A;
output s0,s1;
nmos #(10) nmos(w2,vss,B); // 1.0u 0.12u
pmos #(31) pmos(w4,vdd,w3); // 2.0u 0.12u
pmos #(31) pmos(w4,vdd,B); // 2.0u 0.12u
nmos #(31) nmos(w4,w2,w3); // 1.0u 0.12u
nmos #(24) nmos(w5,vss,B); // 1.0u 0.12u
pmos #(24) pmos(w5,vdd,B); // 2.0u 0.12u
pmos #(38) pmos(w3,vdd,A); // 2.0u 0.12u
nmos #(38) nmos(w3,vss,A); // 1.0u 0.12u
nmos #(10) nmos(w7,vss,w5); // 1.0u 0.12u
pmos #(24) pmos(w8,vdd,B); // 2.0u 0.12u
pmos #(24) pmos(w8,vdd,w3); // 2.0u 0.12u
nmos #(38) nmos(w9,w7,A); // 1.0u 0.12u
nmos #(10) nmos(w10,vss,B); // 1.0u 0.12u
nmos #(38) nmos(w9,w10,w3); // 1.0u 0.12u
pmos #(38) pmos(w9,w8,A); // 2.0u 0.12u
pmos #(38) pmos(w9,w8,w5); // 2.0u 0.12u
pmos #(17) pmos(s0,vdd,w4); // 2.0u 0.12u
nmos #(17) nmos(s0,vss,w4); // 1.0u 0.12u
nmos #(17) nmos(s1,vss,w9); // 1.0u 0.12u
pmos #(17) pmos(s1,vdd,w9); // 2.0u 0.12u
endmodule
// Simulation parameters in Verilog Format
always
58

DISEO VLSI

#1000 B=~B;
#2000 A=~A;
// Simulation parameters
// B CLK 10 10
// A CLK 20 20

11.CONCLUSIONES

La implementacin en Microwind permite observar como es la creacin de un circuito


ASIC utilizando los materiales con que se crean los transistores MOS.
El uso de Verilog facilita la implementacin de circuitos integrados en Microwind, un
lenguaje de programacin siempre es til para dar instrucciones a un programa o a una
maquina en especfico. Si el usuario implementa un circuito integrado manualmente puede
tener varios fallos ya que no se dan pautas ordenadas, eso conlleva a fallos en la
implementacin deseada.
La funcin de salida es ms estable mientras los materiales usados en los transistores sean
uniformes como el poli silicio.
La funcin de salida es ms estable mientras los materiales usados en los transistores sean
uniformes como el poli silicio.
Con el uso de Verilog se automatiza la generacin de circuitos integrados ya que la
mquina realiza procesos ordenados por iteraciones, el error es mnimo y este depende de
la programacin que el usuario realice.
Es un cdigo de Verilog para establecer los valores de los clk (entradas de reloj), es
necesario utilizar doble slash (//) para que el mismo reconozca ese comando.
Los recursos de Verilog aportan una forma sencilla de diseo de circuitos, pero al ser
comandos simples tambin son repetitivos lo que causa que sea un lenguaje poco
estructurado.

12. RECOMENDACIONES

Es recomendable dibujar el circuito que se desea programar, para despus escribir


en el cdigo las conexiones entre los circuitos para no cometer errores, dado que en
un circuito grande existen mayor nmero de variables y conexiones.
Es recomendable ir programando las compuertas una por una, antes de pasar a un
nuevo diseo, dado que as ser ms fcil reconocer errores al momento de la
simulacin.
Se recomienda colocar nombres a las entradas y salidas de los transistores CMOS,
para facilitar la distincin, adems para no cometer errores en la programacin al
conectar en circuitos LSI.
59

DISEO VLSI

Al momento del diseo de las compuertas a travs de transistores en el dsch es


recomendable hacer visibles los pines, para tener una gua y realizar las conexiones
de manera correcta. Se recomienda simplificar la funcin lgica de cualquier
circuito digital, con el fin de usar menos compuertas y as mejorar su tiempo de
respuesta. En el caso de tener simulado un circuito en dsch y se lo quiera simular
en Microwind, es recomendable pasar el archivo.dsch a un archivo verilog y luego
a este abrirlo desde Microwind. De esta manera de generar automticamente el
circuito equivalente en este programa.

13. CRONOGRAMA DE ACTIVIDADES

Ilustracin 59. Cronograma de actividades

60

14. BIBLIOGRAFA
De Gaetano, A. O., P. A., M. D., & J. P. (2015). Diseo de una Librera de Compuertas
Estandares en Tecnologa CMOS. Universidad Nacional del Sur, Buenos Aires,
Argentina, 6.
Padilla, N. M., & Sale, E. J. (2012). Un Microprocesador RISC "hecho en casa". Universidad de
Tucuman, Argentina, 9.
R. B., S. K., & M. D. (2015). Diseo VERILOG del Controlador Programable JTAG para Digital
VLSI IC's. Indian Journal of Science and Technology, 7.

15. ANEXOS
15.1.
Manual de usuario
PRERREQUISITOS
1. Obtener el software de simulacin: Microwind3.1 Full, disponible en los anexos del
cd adjunto con este informe.
2. Obtener el software de simulacin: dsch03, disponible en los anexos del cd adjunto
con este informe.
MODO DE USAR LOS PROGRAMAS
1. Abrir la carpeta Microwind3.1 Full, dar clic en la carpeta system y ejecutar
Microwind31.exe.
2. En la barra de herramientas escoger la opcin abrir, seleccionar la carpeta Programas,
abrir la carpeta Ejercicio1, o la carpeta segn el Ejercicio que desee ejecutar y
seleccionar el archivo: Ejercicio1.MSK, dar clic en abrir.

Ilustracin 60. Eleccin del archivo MSK a simular

3. Se abrir el esquema del circuito y para simularlo, se debe seleccionar la opcin Run.

Ilustracin 61. Eleccin de la opcin Run para proceder a la simulacin en Microwind

4. Posterior a esto se visualizar la ventana de simulacin, en donde se podrn ver las


seales de entrada y las seales de salida.

Ilustracin 62. Ventana de simulacin

5. Para probar el diseo realizado en dsch, se debe abrir la carpeta exportdsch2 y


ejecutar Dsch2.exe

Ilustracin 63. Eleccin del archivo ejecutable Dsch

6. En la barra de herramientas escoger la opcin abrir, y seleccionar el archivo: ej1.sch


si se desea simular el EJERCICIO1 o ej2.sch si se desea simular el EJERCICIO2.

Ilustracin 64. Eleccin del archivo SCH a simular

7. Se abrir el esquema del circuito y para simularlo, se debe seleccionar la opcin Run.

Ilustracin 65. Eleccin de la opcin Run para proceder a simular el circuito en DSCH

8. Una vez seleccionado el botn Run, si se desea observar las grficas de la


respuesta del circuito, ubicarse en View>Timing Diagrams y se observaran las seales
de entrada y de salida.

Ilustracin 66. Eleccin de Timmin Diagrams para observar las salidas del circuito

S-ar putea să vă placă și