Sie sind auf Seite 1von 258

Angelo Joseph

Soto Vergel

MICROELECTRÓNICA
ÁNGELO JOSEPH SOTO VERGEL
Docente
Agenda
Angelo Joseph
Soto Vergel

No. TEMA TP TI
1 Introducción A La Microelectrónica 8 12
2 Familias Lógicas 12 16
3 Fundamentos De Lógica Combinatoria 16 16
4 Diseño Microelectrónico De Alto Nivel 16 16
5 Diseño A Nivel RT 25 16
Angelo Joseph
Soto Vergel

Unidad 1:
Introducción A La
Microelectrónica
Ángelo Joseph Soto Vergel
El Pasado De La
Angelo Joseph
Soto Vergel
Electrónica
“La predicción de la existencia de ondas Amplificadores, osciladores, receptores, etc.
electromagnéticas y su posibilidad de  1920 – Primera emisora de radiodifusión
propagación en el espacio, constituye muy  1930 – La televisión en blanco y negro
 1933 – Armstrong desarrollo la modulación FM
probablemente, la base del posterior desarrollo
 1938 – Primer receptor en FM
del posterior desarrollo de las comunicaciones,  1950 – El primer transistor eficiente y la TV a color
y en definitiva, de la Electrónica”  1961 – Circuitos Integrados comerciales

Maxwell Lorenz Fleming – De Forest


1893 1895 1904 – 1906

Coulomb 1895 Lorenz postuló la 1904 Fleming inventó


existencia de cargas Microfotografía de un CI
Ampere discretas (electrones)
el diodo
Ohm 1897 Thompson halló 1906 De Forest inventó
el triodo La microelectrónica – Integración de circuitos
Gauss experimentalmente
su existencia  1951 – Primeros transistores discretos
Faraday “La revolución  1960 – Circuitos con 100 componentes
Siglo XX Millikan
midió su carga microelectrónica introdujo  1966 – Circuitos con 1000 componentes
una nueva industria: la  1969 – 10000 componentes
computación”  Actualmente – Varios millones de componentes
Angelo Joseph
Soto Vergel La Microelectrónica Y El
“La electrónica digital tiene su máxima expansión con las
familias lógicas basadas en el transistor MOS, debido a
que su proceso de fabricación es mas sencillo, permite
Siglo XX
mayor escala de integración y los consumos de potencia
son más reducidos”
1960 – Noyce y Norman introdujeron la primera familia lógica
semiconductora, RTL: Lógica resistencia – transistor.
1962 – Familia de acoplo directo (DCTL) y lógica de emisores acoplados
(ECL)
1963 – Lógica diodo – transistor, DTL.
1964 – Lógica transistor – transistor, TTL.
1971 – Introducción del microprocesador.
1972 – Familia lógica de inyección integrada, IIL. Alta densidad de
empaquetamiento.
1975 – TTL Shottky, baja potencia y alta velocidad.
1980 – Se introduce la tecnología CMOS.
Taller Teórico
Angelo Joseph
Soto Vergel

1. Podemos afirmar que tanto el desarrollo de la lámpara


incandescente de T. A. Edisson y el Audión de Forest dieron inicio a
los principios de amplificación de una señal análoga? Sustentar su
respuesta.
2. El siglo XIX se reconoce por las explicaciones científicas de los
fenómenos eléctricos que fueron observados en la antigua Grecia.
Realice una breve descripción de cada uno de ellos.
3. Se presume que la electrónica inicia en 1895 cuando Lorenz realiza
un postulado. Cual fue este postulado?
4. ¿Defina el concepto de semiconductor?
5. ¿Porque el transistor es un semiconductor?
6. El proceso de miniaturización en tecnología MOS se encuentra por
debajo de 1 micra aproximándose rápidamente a su límite físico.
Esto quiere decir?
7. Defina: RTL, DCTL, DTL. TTL, ECL y TTL Shottky de baja potencia.
Tendencias Futuras
Angelo Joseph
Soto Vergel

“Cada dos 18 mese se duplica el número de transistores


en los chips”
La informática se desarrolló bajo una premisa implícita: más
pequeño, más rápido, más barato(smaller, faster, cheaper).
1961 – Comenzó la microelectrónica con los CI
1965 – Gordon Moore advertía el crecimiento exponencial
de la cantidad de transistores de los circuitos.
“La ley de Gordon Moore – y algunas leyes relacionadas – establecen que los
diferentes parámetros físicos de los circuitos electrónicos integrados crecen en forma
exponencial con el tiempo”
“El límite del paralelismo de máquinas se encuentra en la velocidad de
comunicación de los buses internos de los chips. Los MIPS (Millones de Instrucciones
Por Segundo) se encuentran limitados por los límites físicos de la comunicación y
éstos, por la velocidad de la luz”
Tendencias Futuras
Angelo Joseph
Soto Vergel

El número de transistores de un chip depende en forma


crítica de las dimensiones del transistor y de los demás
elementos geométricos empleados. En la jerga técnica este
problema se conoce como “las reglas de diseño”.
Fecha Reglas de diseño
1970 20 micras (Silicio)
1975 10 micras (Silicio)
1978 4,5 micras (Silicio)
1980 2 a 3 micras (Silicio)
1996 0,35 micras (Silicio)
1997 0,25 micras (Silicio)
1999 0,18 micras (Silicio)
2017 – 2018 10 – 5 nm (Silicio) (1nm experimental de Disulfuro de Molibdeno MoS2)
Tendencias Futuras
Angelo Joseph
Soto Vergel

Una consecuencia no detectada desde el principio, pero


relacionada íntimamente con los procesos físicos que
ocurrían en el transistor, fue que la miniaturización implicaba
un aumento de velocidad del procesamiento. En la medida
que las distancias a recorrer dentro del silicio por los lentos
portadores de carga eran cada vez menores, los transistores
podían trabajar cada vez a mayor velocidad.
“La electrónica es una de las ramas que más ha crecido en la historia de la
humanidad si la comparamos, por ejemplo, con otra área de crecimiento vertiginoso
como es la aviación. Sin embargo, las cifras empíricas muestran que las
comunicaciones crecen todavía más que la electrónica”
Taller Teórico
Angelo Joseph
Soto Vergel

1. La frase: “más pequeño, más rápido, más barato”, en el


sentido de la evolución de la microelectrónica, ¿a qué se
refiere?
2. ¿Que significa el “Limite Físico”?
3. Una de las consecuencias en el rápido desarrollo de la
electrónica es la gran demanda de computadores
personales. Investigue las cifras actuales sobre PC por
población y aplique la Ley de Gordon Moore y explique
que resultados se esperan en los próximos años.
Proceso De Fabricación
Angelo Joseph
Soto Vergel

“El proceso de fabricación CMOS requiere que se construyan transistores tanto de cana n
(NMOS) como de canal p (PMOS) sobre un mismo material de silicio”
La integración CMOS consiste en formar zonas
semiconductoras N y P y la zona de óxido de puerta con
polisilicio encima de ella e interconectar los diversos
transistores entre sí y con la fuente de alimentación, todas
estas conexiones mediante líneas de metal (aluminio).
“Las regiones citadas no se
encuentran en el mismo plano
sino en «pisos» sucesivos”
Angelo Joseph
Soto Vergel
Proceso De Fabricación
“El transistor MOSFET es la estructura actualmente más utilizada en la
tecnología microelectrónica VLSI (Very-large-scale integration)”

El NMOS (Negative-channel Metal-Oxide Semiconductor) es


un tipo de semiconductor que se carga negativamente de
modo que los transistores se enciendan o apaguen con el
movimiento de los electrones. En contraste, los PMOS
(Positive-channel MOS) funcionan moviendo las valencias de
electrones. El NMOS es más veloz que el PMOS, pero también
es más costosa su fabricación. Actualmente es el tipo de
tecnología que más se usa en la fabricación de circuitos
integrados. “Otra técnica de encapsulado de CI es la tecnología de montaje
superficial (SMT), que es un método más moderno que permite
ahorrar espacio, alternativo al montaje de inserción”
Angelo Joseph
Soto Vergel Tecnologías De Circuitos
Integrados
Los tipos de transistores con los que se implementan los circuitos
integrados pueden ser transistores bipolares TTL (Transistor-
transistor Logic) o MOSFET(metal-oxide semiconductor Field-Effect
Transitor). La mayor parte de las tecnologías de circuitos que
utilizan MOSFET son de tipo CMOST (complementary MOST) o
NMOST(n-channel MOST). Por ejemplo los microprocesadores
utilizan la tecnología CMOST.
Generalmente los circuitos de escala de integración SSI y MSI
están disponibles en TTL y CMOST, y los circuitos de escalas de
integración LSI, VLSI y ULSI se implementan normalmente con
CMOST o NMOST, ya que estas tecnologías requieren una menor
superficie de chip y consume menos potencia.
Angelo Joseph
Soto Vergel Tecnologías De Circuitos
Integrados
SSI (small – scale integration): Se refiere a circuitos que integran
aproximadamente 10 compuertas por chip, surgieron en los años 60’s.
MSI (médium – scale integration): Se refiere a circuitos que integran
aproximadamente entre 100 – 1000 compuertas por chip, surgieron
en los años 70’s.
LSI (large – scale integration): Se refiere a circuitos que integran
aproximadamente entre 1000 – 10000 compuertas por chip, surgieron
en los años 80’s.
VLSI (very large – scale integration): Se refiere a circuitos que integran
aproximadamente entre 10000 – 100000 compuertas por chip,
surgieron en los años 90’s.
ULSI (ultralarge scale integration): Se refiere a circuitos que integran
aproximadamente entre 1M – 10M compuertas por chip.
Taller Teórico
Angelo Joseph
Soto Vergel

1. Defina cada paso de fabricación de circuitos integrados:


TTL, CMOST, NMOST.
2. Defina cada paso de fabricación de los transistores: BJT,
JFET, MOSFET.
3. ¿Qué es la tecnología BICMOS?
Reglas De Diseño
Angelo Joseph
Soto Vergel
“La microelectrónica se puede definir como el conjunto de ciencias y técnicas con
las que se realizan y fabrican circuitos electrónicos sobre una pastilla de un
semiconductor, lo cual formará un circuito integrado (CI)”

En los CI, es posible encontrar diferentes estrategias de


diseño, como pueden ser:
ASICs (Application Specific Integrated Circuits): Son
aquellos en los que se deben construir tanto las puertas
como las conexiones.
PLD (Programmable Logic Device): Circuitos programables
en los que se encuentran ya construidos todas las puertas y
conexiones de tal forma que únicamente hay que indicar
cuales están habilitadas mediante una programación.
“FPGAs, (Field Programmbled Gate Arrays)”
Reglas De Diseño
Angelo Joseph
Soto Vergel

“También es válido diferenciar entre


Microelectrónica Analógica y Digital”

El auge de la Microelectrónica surgió gracias a una


propiedad de los sistemas digitales: la jerarquía.
La propiedad de jerarquía es aquella por la cual un sistema
puede estar compuesto de bloques conectados entre sí, de
tal forma que dichos bloques son independientes entre sí y
de su conexión.
Normalmente en el campo digital se suele utilizar un proceso
de diseño top – down, en el cual se parte de las
especificaciones de más alto nivel, llegando al circuito
integrado, pasando por todos los niveles de jerarquía.
Angelo Joseph
Soto Vergel
Reglas De Diseño
“El layout se puede definir como una representación física de un circuito electrónico
que está sujeto a limitaciones derivadas del proceso de integración, el flujo de diseño y
requerimientos de prestaciones”
Dentro del proceso top – down se pueden distinguir dos fases
bien diferenciadas:

• Descripciones de • Según una

Circuito Lógico

Construir Bloques
alto nivel: familia lógica.
• Diagrama. • Esquemas a nivel
• HDL (Hardware de transistores:
Description Nivel eléctrico.
Language). • Layout a partir
del nivel
eléctrico: Nivel
geométrico.
Angelo Joseph
Soto Vergel Reglas De Diseño

Una vez que tenemos • Verificación funcional


un layout correcto, se LVS (Layout para verificar que las
pasa a la foundry (que Versus capas incluidas en el
Schematic) layout sean equivalente
es la fábrica encargada al esquema eléctrico
de partida.
de obtener el circuito
físico) para que lleve a
cabo todos los procesos • Verificación de la
DRC (Design
de integración. La Rules
separación entre capas
de un determinado
corrección del layout se Checking) material al finalizar el
debe llevar a cabo en proceso de integración.
un doble sentido:
Reglas De Diseño
Angelo Joseph
Soto Vergel

Es importante centrar la
atención en los niveles
eléctricos y geométricos,
por ser aquellos en los
que la acción del
diseñador es importante.
Procesos De Diseño
Angelo Joseph
Soto Vergel
Tecnologías

Silicio (Si): la más En función del tipo de impurezas


desarrollada existen diferentes tipos de procesos
actualmente

Arseniuro de galio “El material base de los n – well (Europa): el dopado de la oblea
(AsGa) circuitos integrados es es de tipo p.
una oblea o disco de
semiconductor”
Germanio – Silico
(GeSi) p – well (EEUU): el dopado de la oblea es
de tipo n.

“El semiconductor no está en equilibrio


eléctricamente, sino que unas cantidades Well gemelos (extendiendo): el dopado
controladas de impurezas son añadidas para dotar de la oblea no tiene demasiada
importancia ya que se van a generar los
al cristal de las propiedades eléctricas requeridas”
dos tipos de well (n-well y p-well).
Angelo Joseph
Soto Vergel Técnicas De Diseño
Microelectrónico
Las técnicas de diseño son los procedimientos que se
realizan para desplazarse a través de los diferentes niveles de
jerarquía del circuito.
En función del sentido del movimiento se tienen flujos top –
down, que van desde el nivel superior al inferior, y flujos
bottom – up, que van del nivel inferior al superior.

“En el caso de diseño, el flujo más utilizado es el top – down, ya que cuando la
descripción es compleja las especificaciones detalladas son muy difíciles de cumplir”
Técnicas De Diseño
Diferentes pasos del flujo de diseño top-down

Angelo Joseph
Soto Vergel

Microelectrónico
Técnicas De Diseño
Angelo Joseph
Soto Vergel Microelectrónico
“No se puede crear el circuito ideal en el que se optimicen simultáneamente el tiempo de diseño y sus
prestaciones, por lo que hay que decidir la estrategia con la cual abordar la tarea de diseño”

Algoritmos
VHDL

Puertas lógicas y biestables

Circuitos full – custom o completamente a la medida


Layout Obtener una mejor adaptación a las especificaciones del
diseño. Mejores prestaciones/mayor tiempo de diseño

Circuitos semi – custom o semi – medida


Obtener un circuito integrado (basado en celdas), o un
dispositivo programable (basado en matrices)
Taller Teórico
Angelo Joseph
Soto Vergel

1. Una propiedad muy importante de los sistemas digitales


es la jerarquía. Defínala.
2. ¿A qué se le denomina layout?
3. ¿Qué son los procesos de well gemelos?
4. ¿Cuál es la diferencia entre diseño top – down y diseño
bottom – up?
Angelo Joseph
Soto Vergel

Unidad 2:
Familias Lógicas
Ángelo Joseph Soto Vergel
Introducción
Angelo Joseph
Soto Vergel

El proceso de miniaturización de la electrónica, iniciado en


la década de los cincuenta con la utilización del transistor,
continuó con un segundo salto cualitativo en la década
siguiente (años sesenta) mediante la integración de
subcircuitos completos en un mismo substrato de silicio
(chip): subcircuitos correspondientes a módulos digitales
tales como puertas booleanas, biestables o bloques
combinacionales o secuenciales.
Familias Lógicas
Angelo Joseph
Soto Vergel

Una familia lógica es un grupo de dispositivos digitales que


comparten una tecnología común de fabricación y tienen
estandarizadas sus características de entrada y de salida; es
decir, son compatibles entre sí. Como consecuencia de la
estandarización, la interconexión entre dispositivos lógicos de
una misma familia es particularmente sencilla y directa: no
requiere de etapas adicionales de acoplamiento.
Angelo Joseph
Soto Vergel Características Generales
De Las Familias Lógicas
Las características más importantes de un circuito digital son
su velocidad, su consumo de potencia, su inmunidad al ruido
y su confiabilidad.
• La velocidad mide la rapidez de respuesta de las salidas de
un circuito digital a cualquier cambio en sus entradas.
• El consumo de potencia mide la cantidad de corriente o de
potencia que consume un circuito digital en operación.
• La inmunidad al ruido mide la sensibilidad de un circuito
digital al ruido electromagnético ambiental.
• La confiablidad mide el período útil de servicio de un
circuito digital.
Puertas Lógica
Angelo Joseph
Soto Vergel

Una compuerta lógica es aquel


circuito digital que tiene la
capacidad de aplicar un proceso
interno a sus 𝑛 bits de entrada, que
cumple con alguna de las
operaciones definidas en el Álgebra
de Boole, y que cuyos resultados son
manifiestos en sus bits de salida.
Angelo Joseph
Soto Vergel Primeras Familias Lógicas: C.I.
Con Transistores Bipolares
Las primeras puertas lógicas integradas eran mera copia
directa de las puertas "o – negada“ (Nor) con componentes
discretos, mediante la conexión en paralelo de varios
transistores bipolares NPN en emisor común.

Tales puertas dieron lugar a la


primera familia lógica: RTL
(lógica de transistores y
resistencias).
Angelo Joseph
Soto Vergel Primeras Familias Lógicas: C.I.
Con Transistores Bipolares
Pronto se mejoraron las
características de estas puertas
integradas, en cuanto a velocidad
y a consumo, combinando una
puerta “y" de diodos con un
transistor inversor en emisor común;
así se configuró la puerta "y –
negada" (Nand) base de la familia
DTL (lógica de transistores y diodos)
que fue la primera que llegó a
alcanzar una difusión apreciable.
Angelo Joseph
Soto Vergel Primeras Familias Lógicas: C.I.
Con Transistores Bipolares
A partir de este esquema (puerta "y" +
inversor), aprovechando en mayor
profundidad las posibilidades que ofrece
la integración sobre un substrato único,
se planteó una segunda mejora en
velocidad y en consumo, añadiendo
una etapa de salida amplificadora de
intensidad (dos transistores en push –
pull) y substituyendo los diodos por un
transistor multi emisor. El resultado fue la
gran familia lógica TTL (lógica de
transistores con transistores).
Familia Lógica TTL
Angelo Joseph
Soto Vergel

La familia lógica TTL es la más común de todas las familias


lógicas. Los circuitos integrados TTL implementan su lógica
interna, exclusivamente basándose en transistores NPN y
PNP, diodos y resistencias. La familia TTL está disponible en
dos versiones: la serie 54 y la serie 74. La primera se destina a
aplicaciones militares y la segunda a aplicaciones
industriales y de propósito general.
“Esta línea de evolución de las puertas con transistores bipolares constituye la «edad
antigua» de los circuitos integrados digitales; actualmente, apenas se utilizan las
familias bipolares, salvo en determinadas aplicaciones específicas, en particular, para
sistemas de muy alta velocidad”
Angelo Joseph
Familia Lógica TTL
Soto Vergel

La familia TTL o bipolar se divide en las siguientes categorías o


subfamilias básicas:
TTL estándar.
TTL Schottky (S).
TTL de baja potencia (L).
TTL Schottky de baja potencia (LS).
TTL de alta velocidad (H).
TTL Schottky avanzada (AS).
TTL Schottky de baja potencia avanzada (ALS).
Familia Lógica TTL
Angelo Joseph
Soto Vergel

Tensión de alimentación (+ VCC).


Los circuitos TTL en general, pueden operar con tensiones
entre 4.75 V. y 5.25 V. Pero el valor nominal de la tensión de
trabajo es de + 5 volts.
Niveles de voltaje.
• De 0 V a 0.8 V para el estado bajo.
• De 2.4 V a 5 V para el estado alto.
Desarrollo De Las
Tecnologías MOS: Familia
Angelo Joseph
Soto Vergel

CMOS
La utilización de transistores MOS como resistencias de
polarización permitió configurar puertas lógicas utilizando
únicamente transistores, cuyo área de integración es mucho
menor, al prescindir de resistencias integradas de valores
relativamente altos. De esta forma, las puertas MOS suponen
un nuevo avance cualitativo en la miniaturización de la
electrónica digital, reducción que afecta no solamente al
tamaño y a la densidad de integración, sino también, y en
forma aún más significativa, al consumo.
Angelo Joseph
Soto Vergel Puertas Lógicas De La
Familia CMOS
Los transistores operan de forma
complementaria. Cuando la tensión de
entrada se encuentra en alto (1 lógico),
el transistor NMOS entra en estado de
conducción y el transistor PMOS entra
en corte, haciendo que la salida quede
en bajo (0 lógico). La situación inversa
ocurre cuando la tensión se encuentra
en bajo.

Compuerta NOT CMOS


Angelo Joseph
Soto Vergel Puertas Lógicas De La
Familia CMOS

Compuerta NOR CMOS


Familia Lógica CMOS
Angelo Joseph
Soto Vergel

La familia lógica CMOS, utiliza transistores MOSFET


complementarios canal N y canal P como elementos básicos de
conmutación. Los circuitos integrados digitales fabricados
mediante tecnología CMOS se pueden agrupar en las siguientes
categorías o subfamilias básicas:
CMOS estándar.
CMOS de alta velocidad (HC).
CMOS compatible con TTL (HCT).
CMOS equivalente a TTL (C).
Familia Lógica CMOS
Angelo Joseph
Soto Vergel

Tensión de alimentación (+ VDD).


Tienen un amplio margen de tensión comprendido entre + 3
V y + 18 V.
Niveles de voltaje
• De 0 V. a 0.3 VDD para el estado bajo.
• De 0.7 VDD a VDD para el estado alto.
Taller Teórico
Angelo Joseph
Soto Vergel

1. Defina que es una compuerta lógica


2. Cuáles son las ventajas y desventajas entre las familias TTL
y CMOS?
3. Muestre mediante un circuito cómo se puede formar
compuertas AND y OR mediante la combinación de
NAND y NOR con inversores.
Angelo Joseph
Soto Vergel Diagrama De Tiempos:
Retardos
Al llegar una señal a la entrada de una puerta lógica, la
respuesta a dicha señal no aparece instantáneamente en la
salida, sino que existe un cierto tiempo de retardo; este
tiempo es diferente según la transición de estado de la
puerta sea de 0 a 1 o de 1 a 0:
Retraso de propagación de bajo a alto, tPLH: tiempo
transcurrido desde que la señal de entrada baja (pasa por
el 50%) hasta que la señal de salida sube (pasa por el 50%).
Retraso de propagación de alto a bajo, tPHL: tiempo
transcurrido desde que la señal de entrada sube (pasa por
el 50%) hasta que la señal de salida baja (pasa por el 50%).
Angelo Joseph
Soto Vergel Diagrama De Tiempos:
Retardos
Retraso de propagación: valor medio de tPLH y tPHL.
Tiempo de transición de bajo a alto, tTLH: tiempo
transcurrido desde que la señal empieza a subir (pasa por
el 10%) hasta que llega a un nivel alto (pasa por el 90%).
Tiempo de transición de alto a bajo, tTHL: tiempo
transcurrido desde que la señal empieza a bajar (pasa por
el 90%) hasta que llega a un nivel bajo (pasa por el 10%).
Angelo Joseph
Soto Vergel Diagrama De Tiempos:
Retardos

“Los tiempos de
propagación no son
linealmente
acumulativos ya
Retardos de
que la segunda
propagación en puerta inicia su
puertas lógicas conmutación antes
de que la primera
complete la suya”
Angelo Joseph
Soto Vergel Diagrama De Tiempos:
Retardos
TTL CMOS 3.3 V CMOS 5V
Característica F LS ALS LV LVC ALVC HC AC AHC
𝒕𝑷𝑳𝑯+𝒕𝑷𝑯𝑳
Retardo de propagación, 𝒕𝒑 = 𝒏𝒔 a
𝟐 3.3 10 7 9 4.3 3 7 5 3.7
25 °C

Retardos de propagación de las compuertas TTL y CMOS


Taller Teórico
Angelo Joseph
Soto Vergel

1. Cómo se definen el tPLH y el tPHL ?


2. Qué es el retraso de propagación?
3. Se puede afirmar que el retardo de propagación de
puerta es mayor en las familias de TTL que en las familias
CMOS? justifique
Clasificación De Memorias
Angelo Joseph
Soto Vergel

“Basadas en
transistores MOSFET
para lograr alta
densidad”
Angelo Joseph
Soto Vergel
Clasificación De
Memorias
RAM (Random Access Memory): Es volátil. Almacena variables y
datos.
ROM (Read Only Memory): Contiene el programa de instrucciones.
• ROM con máscara: Se graba durante la fabricación. Elevado
costo.
• OTP (One Time Programmable): Se puede programar una única
vez.
• EPROM (Erasable Programmable ROM): Puede reprogramarse
múltiples veces. Se somete a rayos ultravioletas durante varios
minutos.
• EEPROM (Electrical Erasable Programmable ROM): Puede
reprogramarse múltiples veces de una forma rápida y sencilla.
• FLASH: Memoria no volátil de bajo consumo, que se puede escribir
y borrar. Más rápida y de mayor densidad que la EEPROM.
Clasificación De Memorias
Angelo Joseph
Soto Vergel

SRAM
Clasificación De Memorias
Angelo Joseph
Soto Vergel

• Dato se guarda en un capacitor


de almacenamiento: capacitor
cargado = ‘1’, descargado = ‘0’.
• El transistor de línea de palabra
conecta el capacitor de
almacenamiento con el circuito
de lectura/escritura.
• Corriente de fuga descarga
capacitor dato debe reescribirse
periódicamente = refrescamiento
de datos.
Angelo Joseph
Circuitos Integrados A
Soto Vergel

Medida (ASIC) – Dispositivos


Lógicos Programables (PLD)
La lógica programable, es una familia de componentes que
contienen conjuntos de elementos lógicos: AND, OR, NOT,
LATCH, FLIP – FLOP, que pueden configurarse en cualquier
función lógica que el usuario desee y que el componente
soporte. Hay varias clases de dispositivos lógicos
programables: ASICs, FPGAs, PLAs, PROMs, PALs, GALs, y PLDs
complejos.
Angelo Joseph
Circuitos Integrados A
Soto Vergel

Medida (ASIC) – Dispositivos


Lógicos Programables (PLD)
“Los PLAs, PALs, GALs y ROMs son
llamados SPLDs (Simple Programmable
Logic Devices) a partir del surgimiento de
los CPLDs (Complex Programmable Logic
Devices) los cuales básicamente contienen
múltiples PLDs en el mismo chip”
Circuitos Integrados A
Angelo Joseph
Soto Vergel
Medida (ASIC) – Dispositivos
Lógicos Programables (PLD)
“ASIC significa Circuitos Integrados
de Aplicación Específica y son
dispositivos definibles por el usuario.
Los ASICs, al contrario que otros
dispositivos, pueden contener
funciones analógicas, digitales, y
combinaciones de ambas”
Angelo Joseph
Soto Vergel Dispositivos Lógicos
Programables (PLD)
Un Dispositivo Lógico Programable (PLD) es un componente
electrónico usado para construir circuitos digitales
reconfigurables. A diferencia de una compuerta lógica que tiene
una función fija, los PLDs salen de fábrica sin una función en
específico, por lo tanto necesitan ser programados o
reconfigurados antes de poder ser usados.
• Habilidad de integración: gran cantidad de funcionalidad en un
solo chip.
• Eliminan el uso de múltiples chips así como la inconveniencia y
desconfianza de usar cableado externo.
• Poder cambiar el diseño.
Angelo Joseph
Soto Vergel Dispositivos Lógicos
Estructuras básicas de
un PLD
Programables (PLD)
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
Circuitos Integrados a Medida (Full Custom): se diseñan a
petición de un cliente para que resuelvan una determinada
aplicación.
Matrices de puertas (Gates Arrays): son pequeños trozos de
silicio pendientes de algún proceso de metalización que defina
las conexiones entre un importante número de puertas o
transistores que poseen en su interior. Las matrices de puertas
proporcionan densidades superiores a las 100.000 puertas. son
agrupaciones de un número de células básicas que realizan
funciones comunes como: sumadores, puertas NOT, AND,
NAND, NOR XOR, etc.; latches y flip – flops S – R, J – K, D, buffer,
osciladores, registros, decodificadores, multiplexores, etc.
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
Células normalizadas (Standard Cell): son, en cierta forma,
similares a las matrices de puertas. Su principal ventaja
sobre ellas es que en lugar de trabajar con simples puertas
o transistores, se dispone de colecciones de diferentes
partes de circuitos que han sido depurados (puertas
lógicas, circuitos MSI, RAM estáticas, ficheros de registro,
etcétera). El usuario tiene que ensamblar estos circuitos,
verificarlos y finalmente enviar documentación al
fabricante de silicio para el desarrollo del primer prototipo.
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
FPICs (Field Programmable Integrated Circuits): son chips
programables por el usuario mediante programadores
comerciales. El término FPIC también incluye a los CI no
destinados a las aplicaciones lógicas. Son las memorias, los
microcontroladores, los PLD (Programmable Logic Device),
las FPGA (Field Programmable Gate Array) y los ASPLD
(Aplication Specific Programmable Logic Devices). Los FPIC
ofrecen soluciones de bajo coste, de tiempo de desarrollo
corto y con menor riesgo que los circuitos a medida, las
matrices de puertas y las células normalizadas.
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
PLDs (Programmable Logic Devices): son pequeñas ASICs
configurables por el usuario capaces de realizar una
determinada función lógica. La mayoría de los PLD consisten en
una matriz de puertas AND seguida de otra matriz de puertas
OR. Mediante esta estructura, puede realizarse cualquier
función como suma de términos productos. Aunque las
memorias PROM, EPROM y EEPROM son PLDs, muchas veces se
las excluye de esta denominación debido a que su contenido
se define utilizando elementos de desarrollo propios de
microprocesadores, tales como; ensambladores, emuladores y
lenguajes de programación de alto nivel. Otras veces, cuando
estas memorias se usan para realizar una función lógica y no
para guardar un programa de un microprocesador, se las
incluye dentro del término PLD.
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
ASPLDs (Application Specific Programmable Logic
Devices): son PLDs diseñados para realizar funciones
específicas como, decodificadores de alta velocidad,
secuenciadores, interfaces para buses particulares,
periféricos programables para microprocesadores, etc.
Partes del ASPLD son programables permitiendo la
adaptación del circuito a una aplicación determinada,
pero manteniendo su función básica; así, por ejemplo, un
decodificador lo personaliza el usuario, pero sigue siendo
un decodificador. Estos circuitos están muy optimizados
para la función para la que han sido diseñados.
Angelo Joseph
Soto Vergel Clases De Dispositivos
Lógicos Programables
FPGAs (Field Programmable Gate Arrays): contienen
bloques lógicos relativamente independientes entre sí, con
una complejidad similar a un PLD de tamaño medio. Estos
bloques lógicos pueden interconectarse, mediante
conexiones programables, para formar circuitos mayores.
Existen FPGAs que utilizan pocos bloques grandes (Pluslogic,
Altera y AMD) y otras que utilizan muchos bloques
pequeños (Xilinx, AT&T, Plessey, Actel).
“A diferencia de los PLDs, no utilizan arquitectura de matriz de puertas AND seguida
de la matriz de puertas OR y necesitan un proceso adicional de ruteado del que se
encarga un software especializado”
Arquitecturas De Los
Dispositivos Lógicos
Angelo Joseph
Soto Vergel

Programables (PLDs)
Existen en la actualidad infinidad
de arquitecturas diferentes de PLDs
y su número se incrementa día a
día. Aunque resulta casi imposible
hacer una referencia completa de
todos los tipos de PLDs en el
mercado.
Ya que generalmente los PLDs
disponen de muchas entradas y Representación simplificada de
resultaría muy complicado una función
mostrarlas en un dibujo, se utiliza
una representación simplificada.
Arquitecturas De Los
Dispositivos Lógicos
Angelo Joseph
Soto Vergel

Programables (PLDs)
PAL (Programmable Array Logic):
También llamados PLAs, son un tipo
de PLDs en las que se pueden
programar las uniones en la matriz de
puertas AND, siendo fijas las uniones
en la matriz de puertas OR. Los
dispositivos con arquitectura PAL son
los más populares y los más utilizados.
Arquitecturas De Los
Dispositivos Lógicos
Angelo Joseph
Soto Vergel

Programables (PLDs)
FPLA (Field Programmable Logic
Array): Es un PLD en el que se
pueden programar las uniones en
ambas matrices. Son los dispositivos
más flexibles, pero resultan
penalizados en tamaño y en
velocidad debido a los transistores
adicionales en la matriz de puertas
OR. Se utilizan fundamentalmente
para construir máquinas de estados.
Arquitecturas De Los
Dispositivos Lógicos
Angelo Joseph
Soto Vergel

Programables (PLDs)
PROM (Programmable Read Only
Memory): Es un PLD en el que las
uniones en la matriz de puertas AND
es fija, siendo programables las
uniones en la matriz de puertas OR.
Están muy bien adaptadas para
aplicaciones tales como: tablas,
generadores de caracteres,
convertidores de códigos, etc.
Taller Teórico
Angelo Joseph
Soto Vergel

1. Defina cada unos de los elementos de los mapas


mentales de clasificaciones de los circuitos integrados y la
lógica programable, especificando las principales
características de cada uno de dichos elementos.
2. Especifique las diferencias entre PLD’s y FPGA’s.
Dispositivos Lógicos
Programables Avanzados
Angelo Joseph
Soto Vergel

(CPLD – FPGA)
CPLD (Complex Programmable
Logic Device): extiende el
concepto de un PLD a un
mayor nivel de integración. Se
forma con múltiples bloques
lógicos, cada uno similar a un
PLD. Los bloques lógicos se
comunican entre sí utilizando
una matriz programable de
interconexiones.
Arquitectura básica de un CPLD
Dispositivos Lógicos
Programables Avanzados
Angelo Joseph
Soto Vergel

(CPLD – FPGA)
FPGA (Field Programmable
Gate Array): su arquitectura
consiste en arreglos de
varias celdas lógicas las
cuales se comunican unas
con otras mediante canales
de conexión verticales y
horizontales.

Arquitectura básica de un FPGA


Dispositivos Lógicos
Programables Avanzados
Angelo Joseph
Soto Vergel

(CPLD – FPGA)
“Los Dispositivos Lógicos Programables están situados en una
zona intermedia entre los dispositivos a medida y la lógica de
catálogo formada por los CI de función fija. Tienen casi
todas las ventajas de los ASICs sin estar penalizados por un
costo elevado para pequeñas series”
“El trabajo con Dispositivos Lógicos Programables
proporciona: facilidad de diseño, prestaciones, fiabilidad,
economía y seguridad”
Taller Teórico
Angelo Joseph
Soto Vergel

1. Esboce la arquitectura básica de un CPLD y explique


cada una de sus partes.
2. Comente acerca de la arquitectura de un FPGA y
explique cada una de sus partes.
3. Mencione los principales fabricantes de FPGA’s.
4. Defina y explique las características principales de los
dispositivos analógicos programables.
5. Comente la diferencia entre un FPGA y un FPAA.
6. Consulte la aplicación y usos de la herramienta
Microwind.
Angelo Joseph
Soto Vergel

Unidad 3:
Fundamentos De Lógica
Combinatoria
Ángelo Joseph Soto Vergel
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Se le llama sistema de numeración a un conjunto de
símbolos y reglas que son utilizan para la representación de
datos numéricos y cantidades. Estos se caracterizan por su
base, es decir, el número de símbolos distintos que un sistema
numérico utiliza, aparte es el coeficiente el cual determina el
valor de cada símbolo dependiendo de la posición que este
ocupe. Los sistemas numéricos mas usados son: Decimal,
binario, octal, hexadecimal.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Sistema Decimal: Para representar un dígito se tiene 10
posibles representaciones: Los números del 0 al 9.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Sistema Binario: Cada uno de los dígitos del sistema binario
son:1 y 0, es denominado bit.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Sistema Octal: Utiliza dígitos del 0 al 7, es usado en la
computación para tener una base que sea potencia
exacta de 2.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Sistema Octal: Las posiciones de los dígitos equivalen a un
peso determinado, cuya base es 8.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Sistema Hexadecimal: Compuesto por 16 símbolos 0 – 9 y A
– F donde A = 1010 y F = 1510 .

“En sistemas digitales se usa el byte como unidad de medida de memoria, por tanto
este sistema es apropiado para representar esta escala”
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Suma Binaria:
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Suma Octal:
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Suma Hexadecimal:
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Resta Binaria:
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Resta Binaria en complemento A2:

En una computadora digital, la resta usualmente se desarrolla por medio de sumas. Por consiguiente, no
es necesario que la unidad aritmética de la computadora cuente con un circuito que reste, la ventaja
de esto es la que la unidad aritmética se reduce. El método más usado para efectuar la resta por medio
de sumas es el método del 2 complemento y consiste en sumar el minuendo más el dos complemento
del sustraendo.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Resta Octal: Resta Hexadecimal:
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
En los circuitos digitales se usan dos niveles de tensión para
representar los bits:
• Por lo general se usa la lógica positiva donde:
• 1 – Nivel alto (High).
• 0 – Nivel bajo (Low).
En el caso que 0 represente un nivel alto y el 1 un nivel bajo a
esto se le denomina lógica negativa o negada.
Angelo Joseph
Soto Vergel Sistemas Numéricos Y Su
Representación
Las tensiones empleadas para definir un 1 o 0 se denominan
niveles lógicos.
Taller Teórico
Angelo Joseph
Soto Vergel

1. ¿Que es Dígito?
2. Explique que es acarreo.
3. ¿A qué se le llama "PESO" de un dígito?
4. ¿Que se entiende por base de un Sistema Numérico?
5. ¿Cómo es el Dígito Mayor de un Sistema de Notación
Posicional con respecto a la base?
6. ¿Qué es un Bit?
Taller Teórico
Angelo Joseph
Soto Vergel

7. Efectué las siguientes conversiones:


Taller Teórico
Angelo Joseph
Soto Vergel

8. Efectúe las siguientes operaciones: (En la resta binaria


además del método tradicional efectuarlas por el
método de dos complemento)
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Un lenguaje formal es un conjunto (finito o infinito) de
cadenas finitas de símbolos primitivos, dichas cadenas están
formadas gracias a un alfabeto y a una gramática que están
formalmente especificados.
• El alfabeto es un conjunto finito no vacío de símbolos.
• La gramática es un conjunto finito de reglas para formar
cadenas finitas juntando símbolos del alfabeto.
• A cada cadena de símbolos de un lenguaje formal se le
llama fórmula bien formada (o palabra) del lenguaje.
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Chomsky clasificó jerárquicamente las gramáticas formales
que generan lenguajes formales, en estos tipos:
Tipo 3: Gramáticas regulares que generan lenguajes
regulares.
Tipo 2: Gramáticas incontextuales que generan lenguajes
incontextuales.
Tipo 1: Gramáticas contextuales que generan lenguajes
contextuales.
Tipo 0: Gramáticas libres que generan lenguajes sin ningún
tipo de restricción. “Cuanto menor es el tipo, mayor es el poder expresivo del
lenguaje generado y más complejidad tiene su tratamiento por
parte de una máquina”
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Un lenguaje regular es un lenguaje formal que tiene estas
características:
• Puede ser descrito mediante una expresión regular
(expresar de forma compacta cómo son todas las cadenas
de símbolos que le pertenecen).
• Puede ser generado mediante una gramática regular
(obtener todas las cadenas de símbolos que le
pertenecen).
• Puede ser reconocido mediante un autómata finito (saber si
una cadena de símbolos pertenece a él o no).
“¡Todas estas características facilitan mucho su tratamiento computacional, por eso nos
interesan los lenguajes regulares!”
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Un autómata finito (AF) o máquina de estado finito es un
modelo computacional que realiza cómputos en forma
automática sobre una entrada para producir una salida. Este
modelo está conformado por un alfabeto, un conjunto de
estados finito, una función de transición, un estado inicial y
un conjunto de estados finales.
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Sea un conjunto formado por sólo dos elementos designados
por 0 y 1, donde las variables lógicas son aquellas que toman
sólo los valores del conjunto, es decir 0 o 1. En dicho conjunto
se definen tres operaciones básicas:
SUMA LOGICA: Denominada también operación "O" (OR).
PRODUCTO LOGICO: Denominada también operación "Y"
(AND).
NEGACION LOGICA: Denominada también operación "N"
(NOT).
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
El algebra booleana es la matemática de los circuitos lógicos
y describe diferentes tipos de operaciones lógicas sobre
variables booleanas, que son aquellas que solo pueden
tomar dos valores: 0 ó 1. Estos variables pueden representar,
además de un número binario, diferentes estados o
situaciones:
• 0 = Falso, Apagado, Sin tensión, Interruptor Abierto.
• 1 = Verdadero, Encendido, Tensión, Interruptor cerrado.
Angelo Joseph
Lenguajes Formales,
Soto Vergel

Operaciones Lógicas Básicas


Y El Algebra De BOOLE
Operaciones lógicas realizadas a nivel de bits:
• Negación o complemento.
• Suma lógica.
• Producto lógico.
Angelo Joseph
Soto Vergel El Algebra De BOOLE –
Inversor
El inversor realiza la operación de inversión o complemento,
también se denomina circuito NOT. Este circuito cambia un 1
a 0 ó un 0 a 1.
Angelo Joseph
Soto Vergel El Algebra De BOOLE –
Compuerta AND
Se identifica con la operación de producto.
Angelo Joseph
Soto Vergel El Algebra De BOOLE –
Compuerta OR
Se identifica con la operación la suma.
Angelo Joseph
Soto Vergel El Algebra De BOOLE –
Funciones Complementarias
Funciones Lógicas Básicas
Angelo Joseph
Soto Vergel
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE
Ley 1: Conmutativa.
• Respecto a la suma: 𝐴 + 𝐵 = 𝐵 + 𝐴

• Respecto al producto: 𝐴 • 𝐵 = 𝐵 • 𝐴
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE
Ley 2: Asociativa.
• Respecto de la suma: 𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶 = 𝐴 + 𝐵 + 𝐶

• Respecto del producto: 𝐴 • (𝐵 • 𝐶) = (𝐴 • 𝐵) • 𝐶 = 𝐴 • 𝐵 • 𝐶


Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE
Ley 3: Distributiva.
• Respecto del producto: 𝐴 • (𝐵 + 𝐶) = 𝐴 • 𝐵 + 𝐴 • 𝐶
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Existen 12 reglas básicas para la simplificación y
manipulación de variables booleanas.
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 1:

Regla 2:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 3:

Regla 4:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 5:

Regla 6:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 7:

Regla 8:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 9:

Regla 10:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 11:
Angelo Joseph
Soto Vergel Leyes Del Algebra De
BOOLE – Simplificación
Regla 12:
Angelo Joseph
Soto Vergel Leyes Del Algebra De BOOLE
– Teorema De Morgan
Los teoremas de Morgan proporcionan una verificación
matemática de las compuertas NAND y NOR. Sirve para
simplificar expresiones booleanas.
Angelo Joseph
Soto Vergel Leyes Del Algebra De BOOLE
– Teorema De Morgan
Primer teorema: El complemento de un producto de
variables es igual a la suma de los complementos de las
variables.
• Interpretación: El complemento de dos o más variables a
las que se aplica la operación AND es equivalente a
aplicar la operación OR a los complementos de cada
variable.
Angelo Joseph
Soto Vergel Leyes Del Algebra De BOOLE
– Teorema De Morgan
Segundo teorema: El complemento de una suma de
variables es igual al producto de los complementos de las
variables.
• Interpretación: El complemento de dos o más variables a
las que se aplica la operación OR es equivalente a
aplicar la operación AND a los complementos de cada
variable.
Expresiones Canónicas
Angelo Joseph
Soto Vergel

Existen dos formas básicas de expresiones canónicas que


pueden ser implementadas en dos niveles de compuertas:
Suma de productos o expansión de minterminos.
Producto de sumas o expansión de maxterminos.
Estas expresiones permiten asociar a una función una
expresión algebraica única al igual que lo hace una tabla
de verdad.
Angelo Joseph
Soto Vergel Expresiones Canónicas -
MinTérminos
Angelo Joseph
Soto Vergel Expresiones Canónicas -
MinTérminos
Angelo Joseph
Soto Vergel Expresiones Canónicas -
MaxTérminos
Angelo Joseph
Soto Vergel Expresiones Canónicas -
MaxTérminos
Expresiones Canónicas –
Relación Mintérminos Y
Angelo Joseph
Soto Vergel

Maxtérminos
Angelo Joseph
Soto Vergel Análisis Y Síntesis De
Sistemas Combinatorios
Circuitos Combinacionales:
• Concepto: son aquellos circuitos cuyas salidas, en un determinado
instante, son función exclusivamente del valor de las entradas en
ese instante.
• Análisis: Obtención de la función de salida de un circuito, para
cada una de las posibles combinaciones de las “n” variables de
entrada.
• Síntesis: Obtención del circuito que realiza la función especificada.
Angelo Joseph
Soto Vergel Análisis Y Síntesis De
Sistemas Combinatorios
Los circuitos combinacionales pueden ser:
Sistemas unifuncionales: tienen una sola función de salida.
Sistemas multifuncionales: tienen varias funciones de salida
Una función puede ser:
Completa: Su valor está determinado para todas las posibles
combinaciones de las variables de entrada.
Incompleta: Existen algunas combinaciones de entrada para
las cuales el valor de la función es indeterminado.
• Causas:
Existencia de combinaciones de las variables que nunca se
presentan.
Existencia de combinaciones de las variables para las que el valor
que tome la función sea indiferente.
Angelo Joseph
Soto Vergel Análisis De Sistemas
Combinatorios
Analizar un circuito combinacional consiste en determinar, a
partir de su estructura, cual será su comportamiento para
todas las posibles entradas, o lo que es lo mismo, determinar
la función lógica que implementa. El análisis del sistema
consiste en:
Obtener sus ecuaciones.
Proceder a su simplificación.
Transcripción (si es posible) de su funcionamiento en forma
literal.
“El análisis debe conducir a una solución única (por ejemplo, en una tabla de verdad)”
Angelo Joseph
Soto Vergel Análisis De Sistemas
Combinatorios
Un circuito combinacional se analiza determinando la salida de
los elementos lógicos que lo constituyen (normalmente puertas
lógicas), partiendo de las variables de entrada y avanzando en el
sentido de la señal hacia la salida.
A. Identificar las entradas, las salidas y las variables intermedias.
B. Identificar los niveles de puertas:
B.1.Constituyen el nivel 1, aquellas puertas cuyos terminales
de entrada estén conectados únicamente a las entradas
del circuito.
B.2. Constituyen el nivel n+1, aquellas puertas que tienen al
menos uno de sus terminales de entrada conectado a las
salidas del nivel n, y el resto a las salidas de los niveles
precedentes, o a las entradas del circuito.
Angelo Joseph
Soto Vergel Análisis De Sistemas
Combinatorios
C. Expresar las salidas de cada nivel en función de sus
entradas:
C.1. Comenzar por el nivel 𝑛 = 1.
C.2. Especificar las salidas del nivel n en función de las
entradas a dicho nivel.
C.3. Incrementar el nivel de análisis.
C.4. El procedimiento termina cuando las salidas del
sistema están expresadas en función de las entradas.
Angelo Joseph
Soto Vergel Análisis De Sistemas
Combinatorios
Angelo Joseph
Soto Vergel Síntesis De Sistemas
Combinatorios
La síntesis del sistema consiste en que dada una
especificación literal, obtener un circuito que la satisfaga,
generalmente bajo unos criterios de optimización. A
continuación, se describe el proceso a seguir para obtener
un circuito combinacional óptimo:
Establecer la tabla de verdad, desde el enunciado del
problema.
Obtener la función canónica expresada en “minterms” o
en “maxterms”, a partir de la tabla de verdad.
“La síntesis de un sistema carece de solución única, al menos en lo que atañe al
problema circuital ya que varios circuitos pueden satisfacer la misma tabla de verdad”
Angelo Joseph
Soto Vergel Síntesis De Sistemas
Combinatorios
Simplificar la función canónica, bien en forma algebraica
(aplicando teoremas y postulados del Álgebra de Boole),
bien mediante la aplicación de métodos gráficos sencillos
(Karnaugh) o con el método tabular numérico de Quine –
McCluskey.
Realizar la función simplificada, mediante las oportunas
puertas lógicas.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método algebraico: Es el método básico de simplificación
de funciones y consiste en aplicar directamente la
propiedad distributiva a los términos de la función,
eliminando variables.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Karnaugh: Método tabular gráfico que se basa en
los llamados “mapas de Karnaugh”, consistentes en una tabla
de cuadros, cada uno de los cuales representa un término
canónico. Estos cuadros están distribuidos de tal modo que dos
cualesquiera de ellos, contiguos físicamente, corresponden a
términos canónicos adyacentes.
• Términos canónicos adyacentes: son aquellos para los que sus
respectivas configuraciones binarias difieren entre sí en un único
bit. Se pueden definir también como aquellos términos a los que
se les puede aplicar la propiedad distributiva para simplificar
una variable.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Karnaugh:
Paso 1: Dibujar el mapa adecuado para la
función a simplificar (2, 3 ó 4 variables).
Paso 2: Marcar los cuadros correspondientes a
los minterms o maxterms (“1”).
Paso 3: Agrupar, mediante una curva cerrada,
el máximo número posible de elementos
adyacentes (potencia de 2 2, 4, 8, 16). A
continuación lo mismo con los que queden y así
sucesivamente, hasta que no reste ningún
elemento marcado (con adyacente también
marcado) sin agrupar.
Paso 4: Escribir la función mediante los términos
simplificados obtenidos.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Karnaugh:
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey: La cualidad de este método
es que es un método tabular y gráfico, ideal para
programarlo y obtener así un algoritmo que permita la
obtención de expresiones algebraicas minimizadas del
circuito en cuestión.
Paso 1: Identificar cada uno de los minitérminos implicados
en la expresión algebraica, o bien en la tabla de verdad.
• En caso de que la expresión algebraica no se muestre
como suma de productos, deberá ser manipulada
algebraicamente de tal forma que se obtenga.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey:
Paso 2: Listar como números binarios cada uno de los
términos implicados en la expresión algebraica para
posteriormente agruparlos en base al número de bits que
tiene cada uno de ellos.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey:
Paso 3: Una vez identificados los grupos, se deben
combinar los términos entre grupos contiguos. Es decir, el
grupo 0 con el grupo 1, el grupo 1 con el grupo 2, etc. De
tal forma que se marque con un guion tan solo el bit que
difiera de 1 a 0 o viceversa.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey:
Paso 4: Se repite el paso 3 hasta que no se pueda
combinar ningún elemento de cada grupo contiguo.
Paso 5: Una vez que ya no se tienen elementos qué
combinar se obtienen los implicantes primos que surgen de
los términos no marcados.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey:
Paso 6: Se listan los implicantes primos obtenidos en forma
de filas en una tabla y cuyas columnas corresponden a
cada uno de los productos de sumas que conforman a la
expresión algebraicas.
Síntesis De Sistemas
Combinatorios – Métodos
Angelo Joseph
Soto Vergel

De Simplificación
Método de Quine-McCluskey:
Paso 7: Se elijen los implicantes primos de tal forma que se
cubran todas las columnas (minitérminos) con el menor
número de filas posible.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
El progreso de la tecnología electrónica permitió en los 70´s
la realización de muchas funciones y multifunciones en un
solo circuito integrado. Estos son los que se denominaron
circuitos de escala de integración media (MSI). La
combinación de estos circuitos con otros, incluso de
carácter secuencial, generaron bloques funcionales
complejos que al ser integrados en un chip han dado lugar a
los que se conocen como circuitos de gran escala de
integración (LSI) y de muy gran escala de integración (VLSI).
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Algunos bloques funcionales combinacionales que se encuentran
como circuitos integrados y cuyo conocimiento resulta
imprescindible para diseñar circuitos digitales y comprender el
funcionamiento de los más complejos son:
Comparadores.
Codificadores.
Decodificadores.
Demultiplexores.
Multiplexores.
Detectores – generadores de paridad.
Sistemas combinacionales programables.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Comparadores: Utiliza compuertas OR exclusiva, admite
dos cadenas de bits e indica en su salida si los dos bits son
iguales o diferentes.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Codificadores: Son sistemas digitales combinacionales con
2𝑛 entradas y 𝑛 salidas. Permite que se le introduzca en una
de sus entradas un nivel activo que representa un dígito
(decimal u octal) y lo convierte en una salida codificada
(como BCD o binario). Estos circuitos pueden ser diseñados
con prioridad o sin ella.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Codificadores:
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Decodificadores: Un decodificador es un circuito
combinacional de 𝑛 entradas y 2𝑛 salidas. Si la
configuración binaria presente en las entradas forma el
número binario 𝑖 entonces se activa la salida 𝑖 − é𝑠𝑖𝑚𝑎.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Multiplexores: son sistemas digitales que constan de varias
entradas 2𝑛 , 𝑛 entradas de selección y una salida; y
mediante un mecanismo de selección, una determinada
entrada se transfiere a la salida.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Demultiplexores: El funcionamiento es el contrario al del
multiplexor, encauzando los datos desde una fuente
común de entrada 𝐽 , con 𝑛 entradas de selección, hacia
uno de sus destinos de salida (2𝑛 ).
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Multiplexores y Demultiplexores
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Implementación de funciones lógicas mediante
decodificadores: Dado que el decodificador genera los
productos canónicos (minterms) de un conjunto de
variables binarias aplicadas a sus entradas, se puede usar
para generar funciones lógicas.

“Cuándo las salidas del decodificador son activas a


nivel bajo nivel bajo, para realizar la función en suma
de productos basta con conectar las salidas
correspondientes a los minitérminos de la función
usando puertas NAND”
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Implementación de funciones lógicas mediante
decodificadores:
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Implementación de funciones lógicas mediante
decodificadores:

“A veces puede ocurrir que se necesita


decodificar más líneas delas que permite el
circuito (Deco), se bebe entonces construir un
decodificador de mayor tamaño usando
decodificadores más pequeños.”
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Implementación de funciones lógicas mediante
multiplexores: Se parte de la siguiente afirmación ‘un
multiplexor de 2𝑛 entradas puede realizar cualquier función
lógica de 𝑛 + 1 variables. Pueden ser utilizados, para la
síntesis de funciones combinacionales.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Semisumador: Suma de dos únicos bits. Proporciona como
salidas la suma y el acarreo.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Sumador completo: Suma de tres bits: 2 bits i-ésimos más el
acarrreo.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Sumador completo: Circuito en función de semisumadores.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
El acarreo en circuitos sumadores:
• Sumador paralelo con acarreo serie.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
El acarreo en circuitos sumadores:
• Sumador paralelo con acarreo paralelo (acarreo
anticipado):
𝐶𝑖 = 𝐴𝑖 𝐵𝑖 + 𝐴𝑖 ⊕ 𝐵𝑖 𝐶𝑖−1 = 𝐺𝑖 + 𝑃𝑖 𝐶𝑖−1
Generación de acarreo de la propia etapa 𝐺𝑖 = 𝐴𝑖 𝐵𝑖
Propagación del acarreo de la etapa anterior 𝑃𝑖 =
𝐴𝑖 ⊕ 𝐵𝑖
• Sumador en paralelo con acarreo mixto.
Angelo Joseph
Soto Vergel Lógica Combinacional
Modular
Operaciones con signo (Circuito sumador/restador):
• En complemento a uno
• En complemento a dos
Taller Teórico
Angelo Joseph
Soto Vergel

1. ¿Cuál es la diferencia entre el Álgebra Normal y el Álgebra Booleana?


2. ¿Cuándo es verdadero el resultado de una operación AND?
3. ¿Cuantas combinaciones de entrada puede tener una función si 𝑛 =
𝑎𝑙 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑑𝑒 𝑒𝑛𝑡𝑟𝑎𝑑𝑎?
4. ¿Qué es una compuerta?
5. Explique el funcionamiento de un operador Concidence.
6. ¿Como se complementa una función por medio del Teorema de
D'MORGAN?
7. ¿A que se le llama minitérmino y cuantos minitéminos tiene una función
de 𝑛 variables de entrada?
8. ¿A que se le llama maxitérminos?
Taller Teórico
Angelo Joseph
Soto Vergel

9. Encontrar las ecuaciones de los siguientes circuitos:


Taller Teórico
Angelo Joseph
Soto Vergel

10.Implementar un circuito EXOR y un Concidence con


compuertas: a)NAND b)NOR.
11.Indique cual de las funciones están expresada en
minitérminos:

12.Una función de tres variables F(ABC) ha de tomar el valor


cero cuando la variable B se encuentre en estado uno y
la variable A no este en estado uno a) Realizar la tabla de
verdad de esta función. b) Obtener las formas canónicas
de suma de productos y producto de sumas.
Taller Teórico
Angelo Joseph
Soto Vergel

13.Analizar los siguientes circuitos:

14.Sintetizar la función 𝑓 𝑎, 𝑏, 𝑐, 𝑑 = 𝑑 · 𝑎’ + 𝑎 · 𝑏 · 𝑏’ ⊕ 𝑐 .
Taller Teórico
Angelo Joseph
Soto Vergel

15. Diseñar un multiplexor de 16 – 1 utilizando dos multiplexores 8 –


1 y las puertas lógicas que hagan falta.
16. Se quiere diseñar un circuito que controle el acceso a una
sala de conciertos que tiene en la entrada dos luces, una
verde y otra roja, de manera que en cada momento sólo está
encendida una de las dos (la roja si la sala está llena, la verde
si todavía cabe gente). El circuito recibe como entrada una
señal lleno que vale 1 cuando la sala está llena y 0 cuando
todavía no. Para encender la luz verde, se debe activar la
señal verde, y para encender la roja se tiene que activar la
señal rojo. Implementad el circuito usando sólo un
demultiplexor.
17. Diseñar un decodificador 3 – 8 utilizando dos decodificadores
2 – 4 y las puertas lógicas que hagan falta.
Taller Teórico
Angelo Joseph
Soto Vergel

18.Dado el circuito mostrado en la figura, se pide: a)Tabla de


verdad del sistema. b)Ecuación Booleana de salida.
c)Reducción de la función de conmutación.
d)Implementar el circuito con compuertas lógicas.
e)Implementar el circuito final con MUX. (Se requiere la
mayor eficiencia, eficacia y efectividad)
Taller Teórico
Angelo Joseph
Soto Vergel

19.Un sistema combinacional está representado por la


siguiente función de conmutación: 𝐹 𝑋, 𝑌, 𝑍 =
Σm 0, 2, 3, 6, 8, 9, 11, 15 Se pide: a)Tabla de verdad del
sistema. b)Ecuación Booleana de salida. c)Reducción de
la función de conmutación. d)Implementar el circuito con
compuertas lógicas. e)Implementar el circuito final con
Decodificadores(Se requiere la mayor eficiencia, eficacia
y efectividad).
Angelo Joseph
Soto Vergel Descripción De Sistemas
Combinatorios Con VHDL

Comprobar que tiene


VHDL

Simular la funcionalidad
deseada
Modelar Sistemas
Digitales
Crear un circuito que
Sintetizar funciona como el
modelo
Angelo Joseph
Soto Vergel Descripción De Sistemas
Combinatorios Con VHDL
MUX
Circuitos Puertas
ALU
DIGITALES
SISTEMAS

Combinacionales Lógicas
DECOD
REG

Circuitos CONT
Biestables
Secuenciales MEM
AUT
Angelo Joseph
Soto Vergel

VHDL: Entity, Architecture


• Una unidad hardware se visualiza como una “caja negra”.
El interfaz de la caja negra esta completamente
definida.
El interior esta oculto.
• En VHDL la caja negra se denomina entidad.
La ENTITY describe la E/S del diseño.
• Para describir su funcionamiento se asocia una
implementación que se denomina arquitectura.
La ARCHITECTURE describe el contenido del diseño.
“La Entidad y la Arquitectura son el 1er nivel de abstracción”
Angelo Joseph
Soto Vergel

VHDL: Ports
Ports o canales de comunicación: Cada una de las posibles
conexiones se denomina un PORT y consta de:
• Un nombre, que debe ser único dentro de la entidad.
• Una lista de propiedades, como:
La dirección del flujo de datos, entrada, salida, bidireccional
y se conoce como MODO del puerto.
Los valores que puede tomar el puerto: ‘0’, ‘1’ o (‘Z’), etc., los
valores posibles dependen de lo que se denomina TIPO de
señal.
• Los puertos son una clase especial de señales que,
adicionalmente al tipo de señal, añade el modo.
Angelo Joseph
Soto Vergel

VHDL: Ports
Modos de un puerto: Indican la dirección y si el puerto
puede leerse o escribirse dentro de la entidad.
Angelo Joseph
Soto Vergel VHDL: Declaración De La
Entidad

La entidad se utiliza para hacer una


descripción "caja negra“ del diseño, sólo
se detalla su interfaz
Angelo Joseph
Soto Vergel VHDL: Estructura De Un
Diseño

Los contenidos del circuito


se modelan dentro de la
arquitectura
Angelo Joseph
Soto Vergel VHDL: Tipos De Datos
Básicos
VHDL: Tipos de datos

Archivos Punteros Escalares Compuestos

file access integer Record

floating
VHDL ES FUERTEMENTE TIPADO point
Array
No permite violaciones de los tipos de
datos, es decir, dado el valor de una
physical
variable de un tipo concreto, no se puede TIPO es la definición de los
usar como si fuera de otro tipo distinto a valores posibles que puede
menos que se haga una conversión enumerated tomar un objeto
Angelo Joseph
Soto Vergel VHDL: Algunos Tipos
Básicos Predefinidos
• INTEGER: tipo entero. Usado como valor índice en lazos,
constantes o valores genéricos.
• BOOLEAN: tipo lógico. Puede tomar como valores ‘TRUE’ o
‘FALSE’.
• ENUMERATED: Enumeración. Conjunto de valores definido
por el usuario. Por ejemplo: TYPE estados IS (inicio,
lento, rapido)
Angelo Joseph
Soto Vergel
VHDL: Tipos STD_LOGIC Y
STD_LOGIC_VECTOR
• Definidos en el paquete IEEE.standard_logic_1164.
• Son un estándar industrial.
• Siempre se emplean para definir los puertos de las entidades.
• Tipo Std_logic: valor presente en un cable de 1 bit.
• Tipo Std_logic_vector: para definir buses (array de std_logic)
‘0’ Salida de una puerta con nivel lógico bajo.
'1' Salida de una puerta con nivel lógico alto. Notación:
'U' No inicializado, valor por defecto.  1 bit : comilla simple (‘)
'X' Desconocido. Debido a un CORTO CIRCUITO  multiples bits: comilla doble (")
'Z' Alta Impedancia
‘W’ Señal débil, no puede decir si debería ser 0 o 1.
‘L’ Señal débil que probablemente debería ir a 0.
‘H’ Señal débil que probablemente debería ir a 1.
‘-’ Señal no importa.
Angelo Joseph
Soto Vergel
VHDL: Tipos SIGNED Y
UNSIGNED
Las operaciones aritméticas estándares sólo están definidas
para los tipos signed y unsigned pero los puertos de las
entidades se definen siempre para los tipos STD_LOGIC y
STD_LOGIC_VECTOR, por tanto hay que hacer conversiones
entre tipos. Existen librerías NO ESTÁNDARES que permiten
hacer operaciones directamente con el tipo
std_logic_vector:
std_logic_signed
std_logic_unsigned
std_logic_arith
Angelo Joseph
Soto Vergel VHDL: Conversiones De
Tipos
Estos objetos como ejemplo:
signal stdv: std_logic_vector(7 downto 0);
variable uns: unsigned(7 downto 0);
variable sig: signed(7 downto 0);
variable entero: Integer
• Conversión de signed y unsigned a std_logic_vector:
stdv<=std_logic_vector(uns);
stdv<=std_logic_vector(sig);
• Conversión de std_logic_vector a signed y unsigned:
uns := unsigned(stdv);
sig := signed(stdv);
Angelo Joseph
Soto Vergel VHDL: Conversiones De
Tipos
• Conversión de signed y unsigned a Integer:
entero := to_integer(sig);
entero := to_integer(uns);
• Conversión de Integer a signed y unsigned:
uns := to_unsigned(entero,8);
sig := to_signed(entero,8);
• Conversión de std_logic_vector a Integer y viceversa
stdv <= std_logic_vector(to_unsigned(entero,8));
entero := to_integer(unsigned(stdv));
Angelo Joseph
Soto Vergel VHDL: Definición Y Uso De
Nuevos Tipos
Las definiciones de tipos se deben hacer en la parte declarativa de la
arquitectura
Ejemplo 1. Definición de un tipo como una enumeración para usarlo en
un autómata:

Ejemplo 2. Definición de un tipo bidimensional para implementar una


memoria:
Angelo Joseph
Soto Vergel VHDL: Operadores
Definidos
Operadores en VHDL
Signo Desplazamientos
Lógicos Relacionales Misceláneos Adición Multiplicativos
(Unarios) (signed y
unsigned)
Valor absoluto Multiplicación Positivo
Y (and) Igual (=) Suma (+)
(abs) (*) (+)
A la derecha
Distinto Exponenciación Negativ (shift_right)
O (or) División (/)
(/=) (**) o (-)
A la izquierda
O negada Menor (shift_left)
Negación (not) Resta (-) Resto (rem)
(nor) (<)

O exclusiva Mayor Módulo


(xor) (>) (mod)

O negada Menor o Igual Concatenación


exclusiva (<=) de vectores (&)
(xnor)
Mayor o Igual
(>=)
Angelo Joseph
Soto Vergel VHDL: Entrando En Detalle
En La Arquitectura
VHDL: El Proceso
Angelo Joseph
Soto Vergel

El proceso es el elemento de diseño principal. Un proceso describe el


comportamiento de un circuito:
• Cuyo estado puede variar cuando cambian ciertas señales.
• Utilizando construcciones muy expresivas: if…then…else, case, bucles
for y while, etc…
• Y que además puede declarar variables, procedimientos, etc...
VHDL: El Proceso
Angelo Joseph
Soto Vergel

Descripción de una puerta AND


VHDL: El Problema De La
Concurrencia En El
Angelo Joseph
Soto Vergel

Hardware
El Hardware es inherentemente concurrente, los circuitos
coexisten físicamente en el tiempo.
Angelo Joseph
Soto Vergel VHDL: Concurrencia, Una
Posible Solución
La solución al problema anterior es que, aunque la ejecución sea
secuencial, las instrucciones no tarden ningún tiempo en ejecutarse:

De esta manera aunque una instrucción se ejecuta después de la otra,


como las dos se evalúan en el mismo instante, desde el punto de vista
de la modelización del circuito ambas puertas están funcionando
simultáneamente. Esta es la solución por la que opta VHDL (y Verilog)
Angelo Joseph
Soto Vergel VHDL: Necesidad De La
Concurrencia
Sin embargo, esta solución ya no vale con este circuito:

¿Por qué? No hay que olvidar que se trata de modelizar


circuitos reales, no virtuales, y las señales necesitan que
transcurra el tiempo para tomar un valor:
VHDL: La Solución
Angelo Joseph
Soto Vergel

VHDL (y en general, todos los HDLs) solucionan este


problema dando soporte explicito a la concurrencia. En
VHDL, una arquitectura puede tener tantos procesos como
queramos, y todos se ejecutan concurrentemente.
VHDL: La Solución
Angelo Joseph
Soto Vergel
Angelo Joseph
VHDL: Instrucciones En
Procesos if…then…else
Soto Vergel
Angelo Joseph
Soto Vergel VHDL: Instrucciones En
Procesos case
Angelo Joseph
Soto Vergel VHDL: Instrucciones En
Procesos for
Angelo Joseph
Soto Vergel VHDL: Instrucciones En
Procesos while
Angelo Joseph
Soto Vergel
VHDL: Bucles Con next Y
exit
• En VHDL se pueden crear bucles infinitos:

• Todos los bucles pueden tener una condición de salida:

• Con la instrucción next termina inmediatamente la


iteración actual y se pasa a la siguiente:
Angelo Joseph
Soto Vergel VHDL: Procesos, Dos
Opciones De Funcionamiento
VHDL: Clausula wait
Angelo Joseph
Soto Vergel

Suspender el proceso durante un tiempo:

Suspender el proceso hasta que ocurra una condición:

Esperar a que cambie alguna de las señales de una lista:


Angelo Joseph
Soto Vergel VHDL: Asignación De
Valores A Señales
“Las asignaciones a señales dentro de procesos sólo se
ejecutan cuando se suspende el proceso”
Las señales modelan conexiones físicas, y por tanto, no sólo
deben tener en cuenta el valor, sino también el tiempo. Para
que un cable cambie de valor hace falta que el tiempo
avance, de la misma forma, para que una señal cambie de
valor hace falta que el tiempo avance y el tiempo sólo
avanza cuando se suspende el proceso.
Angelo Joseph
Soto Vergel VHDL: Asignación De
Valores A Señales
Es posible tener un objeto cuyo valor se actualice
inmediatamente sin tener que esperar a que avance el
tiempo, como en las señales.
La solución son las variables. Las variables se declaran dentro
de los procesos, sólo se ven dentro del proceso que las ha
declarado, y toman el valor inmediatamente, son
independientes del tiempo.
Angelo Joseph
Soto Vergel VHDL: Asignación De
Valores A Señales
Angelo Joseph
Soto Vergel VHDL: Semántica De
Variables Y Señales
SEÑALES VARIABLES
Sintaxis Destino <= Fuente destino := fuente
Representan almacenamiento
Utilidad Modelan nodos físicos del circuito
local
Visibilidad Global (comunicación entre procesos) Local (dentro del proceso)
Se actualizan cuando avanza el tiempo
Comportamiento Se actualizan inmediatamente
(se suspende el proceso)
Angelo Joseph
Soto Vergel VHDL: Modelar Lógica
Combinacional Con Procesos
Angelo Joseph
Soto Vergel VHDL: El Problema de La
Memoria Implícita
• CAUSA: las señales en VHDL tienen un estado actual y un
estado futuro.
• EFECTOS: En un proceso, si el valor futuro de una señal no
puede ser determinado, se mantiene el valor actual. Se
sintetiza un latch para mantener su estado actual.
• VENTAJAS: Simplifica la creación de elementos de
memoria.
• DESVENTAJAS: Pueden generarse latches no deseados, por
ejemplo cuando todas las opciones de una sentencia
condicional no están especificadas.
Angelo Joseph
Soto Vergel VHDL: El Problema de La
Memoria Implícita
Diseñar un circuito de acuerdo a esta tabla de verdad.

Solución es incorrecta, por no


poner el caso "11" no significa
"don't care", simplemente está
guardando el valor anterior,
está generando un latch.
Angelo Joseph
Soto Vergel VHDL: Reglas Para Evitar
La Memoria Implícita
Para evitar la generación de latches no deseados:
Se deber terminar la instrucción if...then...else... con la
cláusula else y se debe especificar todas las alternativas en
un case, definiendo cada alternativa individualmente, o
mejor terminando la sentencia case con la cláusula when
others. Por ejemplo,
Angelo Joseph
Soto Vergel VHDL: Asignaciones
Concurrentes
Las asignaciones concurrentes son asignaciones de valores a
señales, fuera de proceso, que permiten modelar de una
manera muy compacta lógica combinacional. Funcionan
como procesos (son procesos implícitos) y se ejecutan
concurrentemente con el resto de procesos y asignaciones.
Hay tres tipos:
Asignaciones simples:
Asignaciones condicionales:
Asignaciones con selección:
Angelo Joseph
Soto Vergel VHDL: Asignaciones
Concurrentes Simples
• A una señal se le asigna un valor que proviene de una
expresión, que puede ser tan compleja como se quiera:

• Esta expresión es completamente equivalente a este


proceso:

• Se pueden utilizar todos los operadores que se quiera, tanto


los predefinidos como los que se importen de las librerías.
Angelo Joseph
Soto Vergel VHDL: Asignaciones
Concurrentes Condicionales
A la señal se le asigna valores dependiendo de si se cumplen
las condiciones que se van evaluando:

Por su ejecución en cascada es similar


al IF..THEN..ELSE y pueden
generarse problemas de memoria
implícita si no se pone el último ELSE
Angelo Joseph
Soto Vergel VHDL: Asignaciones
Concurrentes Con Selección
Se le asigna un valor a una señal dependiendo del valor que
tome una expresión:

Por su ejecución en paralelo


(balanceada) es similar a un CASE y se
pueden dar problemas de memoria
implícita si no se pone el último WHEN
OTHERS
Angelo Joseph
Soto Vergel VHDL: Modelar Lógica
Secuencial

El fundamento: Modelo del


flip – flop D
Angelo Joseph
Soto Vergel VHDL: Flip – Flop Con Reset
Asíncrono Y Clock Enable
El reset debe estar en la lista de sensibilidad porque es
asíncrono, tiene efecto independientemente del reloj.
En los circuitos secuenciales, la lista de sensibilidad debe
estar compuesta como mucho por el reloj y el reset (si es
asíncrono).
Angelo Joseph
Soto Vergel VHDL: El Axioma Del Diseño
Síncrono
“El reloj es único y está en todos los flip – flops del diseño”
No se pueden usar dos relojes en el sistema, todas las señales
asíncronas se deben muestrear (pasar por un flip – flop D)
nada más entrar al sistema y no se deben poner puertas en
el reloj, si se necesita deshabilitar la carga de un flip – flop
utilizar la habilitación de reloj.
Angelo Joseph
Soto Vergel VHDL: Modelar Lógica
Secuencial

Ejemplo: Un contador de 8 bits


Angelo Joseph
Soto Vergel VHDL: Modelar Lógica
Secuencial

Ejemplo: Un registro de
desplazamiento
Angelo Joseph
Soto Vergel

Unidad 4:
Diseño Microelectrónico
De Alto Nivel
Ángelo Joseph Soto
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
El circuito secuencial debe ser capaz de mantener su estado durante algún
tiempo, para ello se hace necesario el uso de dispositivos de memoria.

Un circuito cuya salida depende


no solo de la combinación de
entrada, sino también de la
historia de las entradas anteriores
se denomina Circuito Secuencial.
La historia de las entradas
anteriores en un momento dado
se encuentra resumida en el
estado del circuito, el cual se
expresa en un conjunto de
variables de estado.
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
Los dispositivos de memoria utilizados en circuitos
secuenciales pueden ser tan sencillos como un simple
retardador (inclusive, se puede usar el retardo natural
asociado a las compuertas lógicas) o tan complejos como
un circuito completo de memoria denominado multivibrador
biestable o Flip Flop.
En los circuitos secuenciales entra un factor que no se había
considerado en los combinacionales, dicho factor es el
tiempo. De hecho, los circuitos secuenciales se clasifican de
acuerdo a la manera como manejan el tiempo en circuitos
secuenciales síncronos y circuitos secuenciales asíncronos.
Introducción A Los
Sistemas Secuenciales –
Angelo Joseph
Soto Vergel

Circuito Asíncrono
Los cambios de estado ocurren al ritmo natural marcado por los
retardos asociados a las compuertas lógicas utilizadas en su
implementación, es decir, estos circuitos no usan elementos
especiales de memoria, pues se sirven de los retardos propios
(tiempos de propagación) de las compuertas lógicas usados en
ellos. Esta manera de operar puede ocasionar algunos problemas
de funcionamiento, ya que estos retardos naturales no están bajo
el control del diseñador y además no son idénticos en cada
compuerta lógica.
Introducción A Los
Sistemas Secuenciales –
Angelo Joseph
Soto Vergel

Circuito Síncrono
Sólo permiten un cambio de
estado en los instantes
marcados por una señal de
sincronismo de tipo oscilatorio
denominada reloj. Con esto se
pueden evitar los problemas
que tienen los circuitos
asíncronos originados por
cambios de estado no
uniformes en todo el circuito.
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales

Sistemas Activados por Nivel: es necesario que su señal


desactivación alcance el nivel alto para que se produzcan
los cambios de estado en el sistema.
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales

Sistemas Activados por Flanco (de subida o bajada): los


cambios de estado se producen únicamente durante los
flancos de subida o de bajada de la señal de activación del
sistema.
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
Un sistema secuencial posee 2𝑛 estados de entrada para 𝑛
entradas (𝑥1 … 𝑥𝑛 ). Poseen además 2𝑝 estados de salida para
𝑝 salidas (𝑧1 … 𝑧𝑝 ) y un número finito de estados internos
(𝑦1 … 𝑦𝑚 ) de ahí que sean conocidos como autómatas finitos.
Según la relación entre las salidas y los estados internos se
pueden distinguir:
Autómata de Mealy.
Autómata de Moore.
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
Autómata de Mealy: las salidas se obtienen en función de
las entradas y los estados internos
Angelo Joseph
Soto Vergel Introducción A Los
Sistemas Secuenciales
Autómata de Moore: las salidas coinciden o dependen solo
de los estados internos.
Biestables
Angelo Joseph
Soto Vergel

Circuito capaz de almacenar un bit de información. Tiene dos


estados estables, 0 y 1 lógicos. Dicho estado se mantiene
hasta que sus señales de control indiquen un cambio. Estos
dispositivo básicos de memoria (1 bit) se clasifican en primera
medida en latches y flip-flops; la diferencia principal entre
ellos, está en que los latches son activados por “nivel”,
mientras que los flip-flops son activados por flancos (instantes
de cambio de un nivel a otro).
Biestables
Angelo Joseph
Soto Vergel
Biestables
Angelo Joseph
Soto Vergel

LATCHES (CERROJOS) Con entradas asíncronas: PRESET (PR) y CLEAR (CLR)

Asíncronos: Implementación con inversores, pueden ser


tipo RS NOR, RS NAND.
Síncronos (por nivel): pueden ser de tipo RS NOR, RS
NAND, JK, D y T.
FLIP-FLOPS (Síncronos por flanco)
Master-Slave: pueden ser de tipo D, SR, JK, T.

Unidad de varios bits: REGISTRO


SR Latch Asíncrono
Angelo Joseph
Soto Vergel
SR Latch Síncrono
Angelo Joseph
Soto Vergel
SR Flip Flop
Angelo Joseph
Soto Vergel
D Flip Flop
Angelo Joseph
Soto Vergel

El "flip-flop" tipo D, sigue a la entrada, haciendo


transiciones que coinciden con las de la entrada.
JK Flip Flop
Angelo Joseph
Soto Vergel

Tiene la ventaja de que no hay estados ambiguos


T Flip Flop
Angelo Joseph
Soto Vergel

El flip-flop T o "toggle" (conmutación) cambia la salida con cada


borde de pulso de clock, dando una salida que tiene la mitad de
la frecuencia de la señal de entrada en T. Es de utilidad en la
construcción de contadores binarios, divisores de frecuencia, y
dispositivos de sumas binarias en general.
Angelo Joseph
Soto Vergel Máquinas De Estado Finito
(FSM)
Son ciertos circuitos secuenciales que tienen un número
determinado de estados (2𝑛 ). Pueden ser retroalimentados
(flip flops, biestables) o máquinas sincrónicas temporizadas
cuando utilizan las primeras para crear circuitos cuyas
entradas son examinadas y cuyas salidas cambian con
respecto a una señal de reloj controlada. En cualquier caso,
se tienen unas entradas, unas salidas y unos estados.

“Una máquina de estados finita (FSM) es un modelo usado para diseñar circuitos lógicos secuenciales”
Angelo Joseph
Soto Vergel Características De Una
Máquina De Estados
No puede estar en más de un estado por vez.
El estado en el que se encuentra se denomina estado actual.
El cambio de un estado a otro se denomina transición, y se
dispara con el reloj del circuito.
Son muy útiles en el diseño de protocolos de comunicación.
Existen dos tipos de máquinas de estado: Moore y Mealy.
Angelo Joseph
Soto Vergel Características De Una
Máquina De Estados
Toda máquina de estados consta de cuatro elementos:

• Lógica de estado siguiente (F): Una función de las entradas y del


estado actual.
• Memoria de estados: Es un conjunto de n flip – flops que
almacenan el estado presente de la máquina, que tiene 2𝑛
estados diferentes. La señal de reloj controla el cambio de
estado en tales flip – flops.
• La señal de reloj: dispone el funcionamiento de los flip – flops ya
sea por disparo de flanco o por disparo de pulso.
• Lógica de salida (G): Una función del estado actual y/o de las
entradas.
Máquina De Mealy
Angelo Joseph
Soto Vergel

Es la máquina de estados en la cual la salida depende tanto


del estado presente como de las entradas externas.
Máquina De Moore
Angelo Joseph
Soto Vergel

Es la máquina de estado en la cual las salidas solo dependen


del estado presente.
Codificación De Estados
Angelo Joseph
Soto Vergel

Existen diferentes
tipos de codificación
de estados: Binaria,
One Hot, Gray, etc.
Esta codificación
puede hacerse
manualmente o de
manera automática.
Angelo Joseph
Soto Vergel Diseño De Maquinas De Estado
Sincronizadas Con Reloj
Los pasos para diseñar una máquina de estados sincronizada
con reloj:
1 2 3
Construir una tabla de estado/salida Elegir un conjunto
correspondiente a la descripción o Minimizar el número
de estados en la de variables de
especificación, mediante nombres estado y asignar
nemotécnicos para los estados. tabla de estado -
salida(opcional) combinaciones de
(Puede partirse del diagrama de variables de estado
estados correspondiente) a cada uno de los
estados.
Angelo Joseph
Soto Vergel Diseño De Maquinas De Estado
Sincronizadas Con Reloj
4 6
Sustituir las combinaciones de variable 5 Construir una tabla de
excitación que muestre
de estado en la tabla de Elegir el tipo
los valores de excitación
estado/salida para crear una tabla de de flip flop
requeridos para obtener
transición/salida que muestre la que hará la
el estado siguiente
combinación de variable de estado memoria de
deseado para cada
siguiente y la salida para cada estado.
combinación de
combinación de estado/salida
estado/entrada.

7 9
Derivar las 8 Dibujar el diagrama lógico que
ecuaciones Derivar las ecuaciones muestre los elementos de
de excitación de salida de la tabla de almacenamiento de las variables
de la tabla de transición/salida de estado y realice las ecuaciones
excitación requeridas de excitación y salida.
Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Diseño e implementación de un detector de la secuencia
“101” utilizando flip – flops D.
Transición del estado A al B
Paso 1: Construir el diagrama de estados Entrada 1 / Salida 0

Estados
Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Paso 2: Construir la tabla de estados Paso 3: Codificar los estados
A = 00
Entradas
B = 01

0 1 C = 10

* Nota: cada estado estará representado por 2 bits Q1 Q0


Estado actual

A A/0 B/0

B C/0 B/0

C A/0 B/1

Estado siguiente / Salida


Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida

Cálculo de la función de excitación del flip-flop 0


Entradas

0 1 D0
Q1 Q0
E 00 01 11 10
Estado actual

00 00/0 01/0
0 0 0 X 0
01 10/0 01/0 1 1 1 X 1

10 00/0 01/1 D0 = E
Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida

Cálculo de la función de excitación del flip-flop 1


Entradas

0 1 D1
Q1 Q0
E 00 01 11 10
Estado actual

00 00/0 01/0
0 0 1 X 0
01 10/0 01/0 1 0 0 X 0

10 00/0 01/1 D1 = not(E) and Q0


Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida

Cálculo de la función de salida

Entradas

0 1 Y
Q1 Q0
E 00 01 11 10
Estado actual

00 00/0 01/0
0 0 0 X 0
01 10/0 01/0 1 0 0 X 1

10 00/0 01/1 Y = E and Q1


Angelo Joseph
Soto Vergel Ejemplo De Diseño De Una
Máquina De Estados
Paso 5: Dibujar el circuito

FFD1
Angelo Joseph
Soto Vergel Descripción De FSM
Utilizando VHDL
La descripción de máquinas de estados mediante VHDL se
encuentra en la práctica de laboratorio número 3 que tiene
por título “Circuitos Lógicos Secuenciales”.
Taller Teórico – Práctico
Angelo Joseph
Soto Vergel

1. Repetir el ejemplo pero esta vez describiendo en VHDL el


diagrama de estados en lugar de realizar el diseño a nivel
compuertas. Además, se requiere presentar la solución
mediante una máquina de Mealy y otra de Moore.
2. Diseñar una máquina de estados (Mealy & Moore) que
describa el funcionamiento del proyecto de fin de
semestre.
3. Defina circuito secuencial asíncrono.
4. Qué es un biestable?
5. Muestre la implementación de un Flip – Flop T utilizando un
biestable JK.
Angelo Joseph
Soto Vergel Diseño Con Máquinas De
Estado Algorítmico (ASM)
Una carta ASM es un diagrama diseñado específicamente para
definir algoritmos de hardware. La ventaja principal de una carta
ASM con respecto a los diagramas de estado es que permite
controlar y especificar el flujo de la información al mismo tiempo.
Hay que recordar que un algoritmo describe paso a paso del
comportamiento de un sistema, tomando en consideración las
siguientes características:
• El algoritmo debe de ser finito. Debe tener un número
determinado de estados.
• Tiene que ser definido. En cada estado deben establecerse por
completo todas las acciones que se llevan a cabo. Esto incluye
las entradas, salidas y decisiones que conducen a ese estado.
Angelo Joseph
Soto Vergel Diseño Con Máquinas De
Estado Algorítmico (ASM)
El algoritmo o carta ASM utiliza tres símbolos básicos para
describir el comportamiento de un sistema:
• Bloque de estado.
• Bloque de decisión.
• Bloque de salida condicional.
Bloque De Estado
Angelo Joseph
Soto Vergel

El bloque de estado representa el


"estado" de una máquina
secuencial y debe contener la
siguiente información:
• Nombre del estado. Por lo general
se utilizan números (0,1,2,3,... etc.)
o letras (A,B,C,... etc).
• Código del estado ("xxxx"). Se
refiere al código binario asignado
al estado.
• Lista de salidas. Señales de salida
asignadas al estado y que sólo se
encuentran activas durante el
tiempo que permanezca el
sistema en ese estado.
Bloque De Decisión
Angelo Joseph
Soto Vergel

El rombo o bloque de decisión


se refiere a las variables de
entrada al sistema y contienen
la siguiente información:
• Una variable de entrada. En
este rombo se indica el
nombre de la variable de
entrada.
• Una salida verdadera.
• Una salida falsa.
Angelo Joseph
Soto Vergel Bloque De Salida
Condicional
El bloque de salida condicional se utiliza
para activar señales de salida que sólo se
encuentran disponibles para ciertas
condiciones de entrada. La información
contenida en dicho bloque es la
siguiente:
• Una lista de salidas condicionales que
dependen de cierta condición de
entrada.
Angelo Joseph
Soto Vergel Estructura De Una Carta
ASM
Una carta ASM consiste de uno o más
bloques ASM interconectados de una
manera consistente. La transición de un
bloque a otro se realiza a través de
líneas denominadas caminos de
enlace. En las cartas ASM, a cada
bloque le corresponde una unidad de
tiempo y en este lapso se ejecutan
todos los bloques de decisión y de
salidas condicionales que estén
asociados con el mismo estado.
Taller Teórico – Práctico
Angelo Joseph
Soto Vergel

1. Describir el funcionamiento del proyecto de fin de


semestre con el que esta trabajando mediante una carta
ASM.
Angelo Joseph
Soto Vergel

Unidad 5:
Diseño A Nivel RT
Ángelo Joseph Soto