Diseño de circuitos combinacionales

Sistemas Digitales Diseño de circuitos combinacionales Mario Medina C. [email protected] Diseño de circuitos combinacionales Métodos de minimizaci

5 downloads 66 Views 376KB Size

Recommend Stories


TEMA 8. CIRCUITOS COMBINACIONALES
TEMA 8. CIRCUITOS COMBINACIONALES http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg IEEE 125 Aniversary: http://www.fl

Circuitos Digitales Combinacionales
Universidad de Alcalá Departamento de Electrónica Electrónica Informática de Gestión Problemas Tema III Circuitos Digitales Combinacionales Elect

TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES
TEMA IV.- DISEÑO DE CIRCUITOS COMBINACIONALES. Como ya hemos comentado, el problema del diseño o síntesis consiste en determinar un circuito que cumpl

Bloques Combinacionales
Bloques Combinacionales 1. 2. 3. 4. 5. 6. 7. 8. Comparadores Sumadores y Semisumadores Multiplexores Demultiplexores Codificadores Decodificadores C

Story Transcript

Sistemas Digitales

Diseño de circuitos combinacionales Mario Medina C. [email protected]

Diseño de circuitos combinacionales Métodos de minimización vistos permiten obtener funciones de dos niveles  Tópicos en diseño de circuitos 

    

Implementaciones multinivel 

Circuitos de 2 niveles 



  



Sumas de productos (SoP) Productos de sumas (PoS)



Sea la función



   

6 compuertas AND de 3 entradas 1 compuerta OR de 7 entradas Un total de 7 compuertas y 19 literales Si cada nivel demora 10ns, esta implementación demora 20ns

© 2014 Mario Medina

Fabricantes sólo producen compuertas de 2, 3, 4, 8 entradas

Es necesario usar factorizaciones

Implementaciones multinivel 

Reescribiendo f = (AD + AE + BD + BE + CD + CE)F + G f = (A + B + C)(D + E)F + G

F(A, B, C, D, E, F, G) = ADF + AEF + BDF + BEF + CDF + CEF + G

Una implementación de dos niveles requiere

En general, problemas tienen gran número de variables de entrada Las puertas comerciales (IC) limitan este número 

Disminuir el retardo implica cambio de tecnología

Implementaciones multinivel



En muchos casos prácticos, la complejidad de una representación de 2 niveles hace inviable a un sistema 

Minimizan el retardo Mayor cantidad y complejidad de puertas Desarrollar IC más complejos es más barato que desarrollar IC más rápidos 



Implementaciones multinivel

Métodos de minimización son sencillos y bien conocidos 

Circuitos multinivel Circuitos con múltiples salidas Circuitos NAND-NAND y NOR-NOR Circuitos de fan-in limitado Remoción de glitches



Sea X = (A + B + C) e Y = (D + E), entonces podemos escribir f = XYF + G 

Implementación de 3 niveles demora 30 ns y tiene 1 compuerta AND de 3 entradas 2 compuertas OR de 2 entradas, 1 OR de 3 entradas  Un total de 4 compuertas y 7 literales  

1

Sistemas Digitales

Implementaciones multinivel Nivel 2

Nivel 1

Nivel 1

Nivel 2

Nivel 3

Implementaciones multinivel 

Factorizaciones multinivel 

Permite reducir número de puertas y conexiones Retardo de salida aumenta



No sirven métodos de minimización ya vistos



Existen programas CAD más complejos para diseño multinivel Mayor complejidad hace difícil su análisis



 A+B+C







Conversiones de puertas lógicas 

Puertas NAND y NOR son más eficientes de implementar con tecnologías electrónicas actuales  



AND se implementa como NAND y NOT OR se implementa como NOR y NOT

Aumenta la probabilidad de errores

Leyes de De Morgan AB  A  B AB  A  B    

Puertas NAND y NOR definen un conjunto funcionalmente completo

Conversión AND-OR a NAND-NAND 



Puertas poco usadas en implementaciones 

Experiencia del diseñador es crítica

Leyes de De Morgan

Métodos de minimización entregan redes de 2 niveles de compuertas AND, OR y NOT 

Depende del número de niveles

A B  A B A  B  A B 

NAND equivale a OR con entradas negadas NOR equivale a AND con entradas negadas Esta equivalencia se llama a veces pushing

bubbles 

Utilizada para eliminar negaciones

Conversión AND-OR a NORNOR

Etapa b) presenta bubble mismatch



Etapa c) asume que las entradas negadas están disponibles 

(a) (a)

(c)

© 2014 Mario Medina

(b)

(d)

(b)



En caso de ser necesarios, los inversores deben implementarse también con puertas NOR

Inversor de salida puede eliminarse si ésta se conecta a otra función con entrada activa baja

(c)

2

Sistemas Digitales

Conversiones de circuitos de 2 niveles 

Conversión de circuito de 2 niveles AND-OR a NAND-NAND (y vice versa) es directa 





Simplificar la función a implementar 

Diseñar un circuito usando AND y OR en niveles alternados



Numerar niveles comenzando por nivel de salida Reemplazar todas las compuertas por NAND Entradas a niveles pares no se modifican Entradas a niveles impares se complementan

Basta reemplazar todas las compuertas por NANDs

Conversión de circuito de 2 niveles OR-AND (PoS) a NOR-NOR (y vice versa) es directa 

Conversión de circuitos multinivel a compuertas NAND

Basta reemplazar todas las compuertas por NORs



  



Compuerta de salida debe ser OR

Método también funciona para NORs

Ejemplo: AND-OR a NANDNAND

Ejemplo: OR-AND a NORNOR

Ejemplo: NAND-NAND a AND-OR

Ejemplo: conversión OR-AND a NOR-NOR

© 2014 Mario Medina

3

Sistemas Digitales

Diseño de circuitos con múltiples salidas

Ejemplo de múltiples salidas

Implementación de varias funciones de las mismas variables de entrada  Uso de compuertas lógicas comunes a más de una función puede minimizar número de compuertas o minimizar número de literales de la función 



F1 = AB + ACD F2 = ABC’ + CD F3 = A’CD + AB

F1 = m(11, 12, 13, 14, 15) F2 = m(3, 7, 11, 12, 13, 15)

Atención: No siempre reduce las compuertas!

Implementación de las 3 funciones F1, F2 y F3

F3 = m(3, 7, 12, 13, 14, 15)

Detección de compuertas compartidas  

Producto AB es común a funciones F1 y F3 CD en F2 puede reemplazarse por   

ACD (necesario en F1), y A’CD (necesario en F3) Utilizando los 3 términos comunes, queda F1 = AB + ACD F2 = ABC’ + ACD + A’CD  F3 = A’CD + AB  

Implementación con compuertas compartidas

Ejemplo de circuito con múltiples salidas

F1 = AB + ACD F2 = ABC’ + ACD + A’CD F3 = A’CD + AB

© 2014 Mario Medina

4

Sistemas Digitales

Ejemplo de circuito con múltiples salidas 

Minimizando por separado: 10 compuertas   





F1 = BD + B’C + AB’ F2 = C + A’BD F3 = BC + AB’C’ + ABD

Expresión óptima global puede no ser la expresión mínima para cada función 

Minimización de múltiples funciones: 8 compuertas y 22 literales   

Minimización sin términos comunes   

En este caso, la solución global usa un compuerta lógica menos Solución original

Solución mejorada

F1 = A’BD + ABD + A B’C’ + B’C F2 = C + A’BD F3 = BC + AB’C’ + ABD

Ejemplo de circuito con múltiples salidas 

Ejemplo de circuito con múltiples salidas

F1 = A’D’ + A’BC’ + BCD’ F2 = BD’ + A’B’C’ Solución tiene 7 compuertas lógicas y 18 entradas

Ejemplo de circuito con múltiples salidas 

Minimización con términos comunes  



F1 = A’C’D’ + A’BC’ + A’CD’ + BCD’ F2 = A’C’D’ + BC’D’ + A’B’C’ + BCD’

Solución tiene 8 compuertas lógicas y 26 entradas 

Peor que la anterior!

Diseño con fan-in limitado

Diseño con fan-in limitado

Fan-In de una compuerta: número de entradas de ésta  Fabricantes de compuertas sólo construyen compuertas de 2, 3, 4, 8 entradas





 

No disponibles para todas las funciones básicas Determinante a la hora de diseñar el circuito

Ejemplo: implementar F(a, b, c, d) = ∑m(0, 3, 4, 5, 8, 9, 10, 14, 15) •Usando NORs de 2 y 3 entradas solamente! •NORs PoS

F(a, b, c, d) = (a’ + b + c’ + d’) (a + b + c + d’) (a + b’ + c’) (a + c’ + d) (a’ + b’ + c)

© 2014 Mario Medina

5

Sistemas Digitales

Diseño con fan-in limitado 

Limitación de fan-in modifica el procedimiento de diseño

Diseño con fan-in limitado 

Ejemplo: implemente las siguientes funciones usando sólo NANDs de 2 entradas y NOTs

F = [B + D’ + (A + C)(A’ + C’)][A + C’ + B’D][A’ + B’ + C]

Diseño con fan-in limitado 

Minimización arroja suma de 3 términos   



 

Solución AND-OR convertida a NAND-NAND

F1(a, b, c) = b’(a + c’) + a’b F2(a, b, c) = (b’ + c)(b + c’) + a’b F3(a, b, c) = b(a + c’) + a’(b + c’)’

Peligros (hazards) Un circuito tiene un peligro o hazard si puede tener un glitch en su salida 







F1(a, b, c) = ab’ + b’c’ + a’b F2(a, b, c) = b’c’ + bc + a’b F3(a, b, c) = a’b’c + ab + bc’

Reescribir como 



Diseño con fan-in limitado

La presencia de un peligro es una característica intrínseca del circuito en particular

El glitch en la salida no siempre se presenta  Depende de las combinaciones de entrada y características eléctricas

Peligros (hazards) 

Peligro estático (static

hazard) 

Ocurre si la salida cambia cuando se espera que permanezca constante Peligro estático en 0



Peligro dinámico (dynamic hazard) 

Ocurre si la salida cambia más de una vez cuando debería hacer una transición simple entre los estados

El peligro existe porque una variable debe recorrer varios caminos simultáneamente Peligro estático en 1

© 2014 Mario Medina

Peligros dinámicos

6

Sistemas Digitales

Peligros estáticos

Peligros estáticos 

f  A CBC A1



A2

 

Considerar la transición en ABC de 011 a 010 

Los peligros estáticos pueden obviarse si en el diseño se define que se debe esperar cierto ∆t para verificar la salida

Asuma que todas las puertas tienen 1 unidad de retardo

Se debe considerar el peor caso (retardo máximo)

Sin embargo, se producen problemas cuando estos circuitos alimentan a circuitos secuenciales, como contadores 

Estos se activan en función de los pulsos generados

∆t

Peligros estáticos 

Peligros pueden eliminarse introduciendo retardos artificiales 



Estrategia general para eliminar los peligros   

Agregar implicantes primarios redundantes al mapa de Karnaugh Todos los cambios de entrada adyacentes deben quedar cubiertos por un implicante En este caso, escribir la función F como F = A’C’ + BC + A’B



El término A’B hace que la función permanezca en 1 sin importar el cambio en la entrada C

© 2014 Mario Medina

Si A = 0 y C = 0, estamos en el primer I. P. (A’C’) Si ahora C cambia 0→1, A’C’ cambia 1→0 y BC cambia 0→1 



Consideran cambio de un solo bit en las entradas

Peligros estáticos 



Peligros estáticos: fáciles de detectar y eliminar Peligros dinámicos: fáciles de detectar pero su eliminación es mucho más compleja

Métodos para eliminar los peligros 

Glitch se produce en el subcubo rojo 

Peligro sigue latente

Un buen diseño debe eliminar los peligros 





Permiten eliminar el glitch 



Peligros estáticos C 0 1

AB 00 01 11 10 1 1 1 1

f  A CBC

Dependiendo de la implementación, puede ocurrir un glitch Depende de los retardos relativos de las compuertas

Peligros estáticos en 0 y en 1 





El mismo principio es válido cuando se agrupan los 0s en el mapa de Karnaugh para obtener la forma reducida como producto de sumas Los circuitos descritos como suma de productos sólo pueden generar un peligro estático en 1 Los circuitos descritos como producto de sumas sólo pueden generar un peligro estático en 0

7

Sistemas Digitales

Ejemplo de peligros estáticos 

Función presenta 4 peligros estáticos

Ejemplo de peligros estáticos 

F = (A + C)(A’ + D’)(B’ + C’ + D)



Variables cambian de ABCD = 0100 a ABCD = 0110

Eliminando peligros estáticos 

Agregar términos redundantes para asegurar transiciones de celdas sin glitches F(A, B, C, D) = (A + C) (A’ + D’) (B’ + C’ + D) (A’ + B’ + C’) (C + D’) (A + B’ + D)

© 2014 Mario Medina

Diagrama de tiempo ilustra peligro estático 

5 ns de retardo por compuerta 3 ns de retardo por inversor

Ejercicio: peligros estáticos 

Obtener la expresión mínima sin peligros estáticos, en forma de suma de productos y producto de sumas del siguiente mapa de Karnaugh AB CD 00 01 11 10

00 01 11 10 0

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

8

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.