Académique Documents
Professionnel Documents
Culture Documents
(un)
0
y 1 X X X X
o
0
2
y
o
1 3
.
5-a-32
y
o
2 descifra .
dor .
y
o
3 28
y 29
4
30
31
UN UN
7 UN6 UN5 UN4 UN3 UN2 UN1 0
1 0 0 1 0 0 1 1
(segundo)
Figura 5-7
Diagrama de bloques y la lgica interna de una ROM
Cada salida del decodificador representa una direccin de memoria. Las 32 salidas se
con-CONECTADOS a travs de conexiones programable para cada una de las ocho
puertas OR. El dia-gramo utiliza la convencin de matriz lgica utilizada en circuitos
complejos. (Vase la Figura 5-5.) Cada puerta O debe ser considerado como que tiene 32
entradas. Cada salida del decodificador es con-CONECTADOS por una tecnologa de
programacin a una de las entradas de cada puerta OR. El ROM en la figura 5-7 (b) est
programado con la palabra 10010011 en direccin de memoria 1. Puesto que cada puerta
OR tiene 32 conexiones programables internos, y puesto que hay ocho puertas O, la
memoria ROM contiene 32* 8 =256 conexiones programables. En general, un 2k*n ROM
tendr un decodificador y n puertas OR interna k-a-2k lnea. Cada puerta OR tiene 2k
entradas, que estn conectados a travs de programables CONNEC-ciones a cada una de
las salidas del decodificador.
La lgica interna de un PLA con tres entradas y dos salidas se muestra en la Figura
5-8. Tal circuito es demasiado pequeo para ser rentable pero se presenta aqu para
demostrar la configuracin de la lgica tpica de un PLA. El diagrama utiliza los
smbolos grficos matriz lgica para circuitos complejos. Cada entrada pasa a travs de
un tampn y un inversor, representado en el diagrama por un smbolo grficos compuesto
que tiene tanto la verdadera y las salidas del complemento. conexiones programables
ejecutan desde cada entrada y su complemento a las entradas de cada puerta AND, como
se indica por las interrelaciones secciones entre las lneas verticales y horizontales. Las
salidas de las puertas Y tienen conexiones programables a las entradas de cada puerta
OR. La salida de la puerta O va a una puerta XOR, donde la otra entrada se puede
programar para recibir una seal igual a ya sea lgica 1 o 0 lgico.=X). La salida no
cambia cuando la entrada XOR est conectada a 0 (dado que X 0=X). Las funciones
booleanas particulares imple-mentados en el PLA de la figura son
F1 = AB + C.A. + ABC F2
UN
segundo
do
X X 1 X AB
X X 2 XX C.A. X
Cerrado
Abiert
o
antes de
X X 3 X Cristo
X X X 4 X ABC
cama
y Automv
desa il club
CC yuno britnico X 0
X 1
F1
F2
Figura 5-8
PLA de tres entradas, cuatro trminos de producto, y dos salidas
desde la puerta AND salidas a las entradas de la puerta OR. La salida puede ser comple-
mentado o hacia la izquierda en su verdadera forma, dependiendo de la programacin de
la conexin asociada con la puerta XOR. Debido a esta estructura, el EPL implementa de
suma de productos o funciones complementados de suma de productos. trminos de
producto pueden ser compartidos entre las funciones, ya que la misma puerta Y se puede
conectar a mltiples puertas OR.
s
e
g
ante u ante
s de n s de
Crist d Crist segun
F1 o o F2 o do
00 01 11 10 U 00 01 11 10
UN N
0 0 0 1 0 0 0 1 1 1
U 1 UN 1
N 0 1 1 1 0 0 1 0
do do
F1 AB AC BC F2 AB AC AC
F1 ABC ABC BC F2 ABC ABC BC
Figura 5-9
K-Maps y expresiones para el ejemplo 5-1 PLA
5-2 tecnologas de implementacin / programables 311
2 X XX X W
3 X
U
N
4X
5 X X X X
6 X
se Todo Cerrada
gu
nd
o
(Siempre 0)
7 XX
8 X X Y
9 X X
do
10 X
11 X X X Z
12 X X XX
X Cerrado
re
Abierto
AABBCCDD WW
Figura 5-10
Estructura de dispositivos PAL con Mapa de conexin para
Dispositivo PAL para el Ejemplo 5-2
Y = AB + discos compactos + BD
Z = A B C + A B C D + ACD + A B C D =
W + ACD + A B C D
Tenga en cuenta que las ecuaciones de los cuatro son el resultado de la optimizacin de
dos niveles. Pero la funcin de Z tiene cuatro trminos de productos. La suma lgica de
dos de estos trminos es igual a W. Por lo tanto, mediante el uso de W, es posible reducir
el nmero de trminos para Z de cuatro a tres, de modo que las ecuaciones anteriores
pueden encajar en el dispositivo de PAL en la Figura 5- 10. Incluso si W no estaban
presentes como una salida, la estructura del dispositivo PAL permitira que el factor W
que ser diseado y utilizado para implementar Z. En este caso, sin embargo, la salida en
W no sera til para implementar cualquier otra funcin, pero W.
para los lectores que estn interesados en una FPGA en particular para entender los
manuales de datos del fabricante.
La ventaja de la FPGA en relacin con otras familias lgicas programables es la
disponibilidad de la lgica configurable combinacional y flip-flop, y la facilidad de re-
configuracin. La mayora de las familias de FPGA se configuran con memoria esttica
de acceso aleatorio (SRAM), que se explican con ms detalle en el captulo 7. Otros
Tecnologa para-gas para configurar FPGAs incluyen la memoria Flash y anti-fusibles
(similar a la PROM descritos anteriormente en esta seccin). FPGAs que utilizan SRAM
para su configuracin son voltiles, lo que significa que pierden su configuracin cuando
se desconecta la alimentacin y la configuracin debe ser cargado cada vez que se aplica-
re poder. Independientemente de la tecnologa de configuracin, cada bit de
configuracin en el FPGA controla el Behav-ior de un elemento programable.
Configuracin de la FPGA requiere de configurar todos los bits de configuracin para los
bloques lgicos programables,
La primera funcin programable comn a muchos FPGAs que describiremos es el
bloque lgico programable. Un bloque lgico programable contiene Combina-cional y la
lgica secuencial que se puede configurar para poner en prctica muchas diferentes func-
ciones. Muchas familias FPGA tienen bloques lgicos programables en base a una tabla
de consulta (LUT) para poner en prctica las funciones combinacionales. Una tabla de
consulta es un 2k*1 de memoria que implementa la tabla de verdad de una funcin de
variables k, referido como un k-LUT. Figura 5-12 (a) ilustra una LUT 2-entrada.
Cualquiera de las diecisis posibles funciones booleanas de dos variables puede ser
implementado mediante el establecimiento de los bits de configuracin SRAM en la
figura para la tabla de verdad para la funcin deseada de A y B, como se describe en la
Seccin 3-7. Para implementar funciones de ms de k variables, varios k-LUTs se puede
conectar junto con multiplexores, como se muestra en la figura 5-12 (b). La combinacin
de las LUTs ms pequeas con un multiplexor utiliza el teorema de expansin de
Shannon, que establece que cualquier funcin f Boolean (x1, x2, x3, c, xk) se puede
expresar como
F (X1, x2, x3, c, xk)= xk f (X1, x2, x3, c, 1)+ xk f (X1, x2, x3, c, 0)
SRAM 2-LUT
poco f (a, b, 0)
f (a, b,
SRAM un c)
poco f (a, b)
segund
o
SRAM
poco 2-LUT
SRAM f (a, b, 1)
poco
un
segundo do
(un) (segundo)
Figura 5-12
(A) A 2-Input Look-Up Table, (b) implementar una funcin de 3-Input con dos 2-LUTs y
un multiplexor
5-2 tecnologas de implementacin / programables 315
2-LUT llevar en
un 0 suma
segu 1
ndo 2
3 adicin
lgica
llevar a cabo
MUX4
2-LUT MUX3
MUX1 fuera
4 DQ
5
6 10
7 9
MUX2
do
8
reloj
Figura 5-13
Un ejemplo de un bloque lgico programable
316 CAPTULO 5 / Digital implementacin de hardware
es una funcin tanto de la demora a travs de los bloques lgicos individuales, as como
el retardo a travs de las conexiones entre los bloques lgicos.
Las conexiones entre los bloques lgicos son la segunda funcin programable
comn a FPGAs. Una red de interconexin programable proporciona el cableado entre los
bloques lgicos para crear circuitos que son demasiado grandes para caber en un nico
bloque lgico. La red de interconexin programable se compone de un conjunto de cables
y conmutadores programables. Un conmutador programable por lo general consta de un
solo canal n MOS transistor como se describe en la discusin tecnologa de programacin
en el comenzar-cacin de esta seccin. Al igual que con los bloques lgicos
programables, la puerta de este transistor se controla mediante un bit de configuracin. La
interconexin programable debe permitir que el FPGA para implementar una amplia
gama de tipos de circuitos, y por lo tanto debe proporcionar conexiones entre bloques
lgicos que estn fsicamente cerca, as como aquellos que son fsicamente distante.
Adems,
Para hacer frente a estas limitaciones, la mayora de las FPGAs proporcionan un
conjunto jerrquico de-ciones interconexiones. Aunque los enfoques para el diseo de las
interconexiones varan entre los fabricantes, por lo general la red de interconexin
programable ofrece un gran nmero de conexiones cortas entre bloques lgicos
fsicamente cerca, con un menor nmero de conexiones ms largas a los bloques lgicos
distantes. Debido a las propiedades elctricas del interruptor programable, dos cables
conectados por un interruptor tienen un retardo de propagacin ms grande que un
alambre ms largo de la misma longitud total. FPGA fabricantes han diseado el conjunto
de interconexiones-mable programa para reducir el nmero medio de interruptores a
travs del cual las seales tienen que viajar entre bloques lgicos para la mayora de los
diseos.
Adems de la red de interconexin programable, por lo general hay recursos de
cableado dedicados para reajustar el reloj y las seales que se comparten globalmente en
todo el circuito. Los recursos de cableado dedicados estn diseados para minimizar el
retardo de propagacin y sesgar, que puede crear problemas de sincronizacin de los
circuitos secuenciales, como se describe en el captulo 4. Adems de las seales globales,
cables dedicados se proporcionan localmente entre bloques lgicos adyacentes para
conectar la aritmtica dedicado lgica tal como las cadenas de llevar en el ejemplo de
bloque lgico programable de la figura 5-13. Este cableado locales mejora la velocidad
de la circuitera lgica dedicada al tiempo que reduce las demandas sobre las
interconexiones programables.
La tercera funcin programable comn a FPGAs es un conjunto de pines de entrada
/ salida programable (I / O). La FPGA debe conectarse con el mundo exterior. En
particular, un FPGA debe ser capaz de proporcionar una amplia gama en el nmero de
entradas y salidas dependiendo del circuito que ha de aplicarse, y la FPGA debe ser
compatible con los requisitos de velocidad y de tensin de los otros componentes
elctricos a los que se ser conectado. Como consecuencia de estos dos requisitos, la
mayora de los FPGAs proporcionan un gran nmero de pasadores que se pueden
configurar para ser entradas o salidas, y que pueden ser configurados para soportar una
serie de normas difieren-ent interfaz elctrica. Los estndares de interfaz elctricos tienen
Require-mentos con respecto a las tensiones que se consideran un 0 lgico o 1, la
corriente elctrica de origen o hundido, la velocidad con la que una seal puede cambiar,
y muchas otras propiedades elctricas de la seal de I / O. El FPGAs tambin puede
proporcionar capacidades para
318 CAPTULO 5 / Digital implementacin de hardware
la sincronizacin de una seal de entrada con el reloj interno para hacer frente a los
problemas de metaestabilidad descritos en el Captulo 4. La eleccin del fabricante de los
cuales elctricos stan-Dardos para apoyar depende en gran medida el mercado de
aplicacin prevista.
reFERENCIAS
1. Altera CORPORATION, Altera FLEX 10KE Embedded Programable Logic
Device Hoja de Datos de la familia, ver. 2.4(http://www.altera.com/literature/ds/
dsf10ke.pdf). Altera Corporation, 1995-2002.
2. KATZ, RH, y G. BORRIELLO. La lgica de diseo contemporneo, 2 ed.
Upper Saddle River, Nueva Jersey: Pearson Prentice Hall, 2005.
3. KUON, I., R. TESSIER, Y J. ROSE. Arquitectura FPGA: Encuesta y desafos
Fundamentos y tendencias en automatizacin de diseo electrnico, vol. 2, Nmero
2, 2007, pp. 135-253.(http://www.nowpublishers.com/articles/foundations-y-
tendencias-en-electrnica-diseo-automatizacin / EDA-005).
4. Lattice Semiconductor Corporation. celosa GALs(Http: //
www.latticesemi.com/products/spld/GAL/index.cfm). Lattice Semiconductor
Corporation, 1995-2002.
5. SMITH, especficas de la aplicacin MJS los circuitos integrados. Boston:
Addison-Wesley, 1997.
6. Trimberger, SM, ED. Campo de puertas programables de la tecnologa de matriz.
Boston: Kluwer Academic Publishers, 1994.
7. Wakerly, JF Diseo Digital: Principios y Prcticas, 4 ed. Upper Saddle River,
Nueva Jersey: Pearson Prentice Hall, 2004.
8. Xilinx, INC., Hoja Xilinx Spartan -IIE Datos (http://direct.xilinx.com/
bvdocs / publicaciones / ds077_2.pdf). Xilinx, Inc. 1994-2002.
pagPROBLEMAS
El signo ms (+) Indica un problema ms avanzada y el asterisco (*) indica que hay una
solucin disponible en el sitio web de texto.
5-1. * Bsqueda de la funcin booleana que corresponde a los caminos cerrados a travs
de cada una de las redes de modelo interruptor da en la figura 5-14.
5-2. Encuentra las redes modelo interruptor CMOS para las siguientes funciones:
Problemas 319
AU
TO
M
VIL S s
CL E e
UB Gg
BRI Uu
T Nn
NIC Dd
O B: B A: Un O: o
D d
C: C O: o D: D
D: D
(segund
(un) o)
Figura 5-14
Cambiar de red para el problema 5-1
metro(1
do(X, Y, Z)= 5)
metro(0, 1, 2, 3,
re(X, Y, Z)= 5, 6)
Obtener las ecuaciones de PLA para la programacin de las cuatro funciones de
5-8. Boole
que aparece en el problema 5-7. Reducir al mnimo el nmero de trminos de
productos. Asegrate de
intentar compartir trminos de productos entre las funciones que no son de
primera
implicantes de funciones individuales y considerar el uso de complementado
salidas.
Derivar las ecuaciones de PLA para el circuito combinatorio que los cuadrados un
5-9. 3 bits
nmero. Reducir al mnimo el nmero de trminos de productos. Si es necesario
para reducir
trminos de productos, trminos de productos proporcin entre las funciones que
no son de primera
implicantes de funciones individuales y considerar el uso de complementado
salidas.
Enumerar las ecuaciones de PLA para la programacin de un convertidor de
5-10. cdigo BCD-a-exceso-3.
Si es necesario para reducir trminos de productos, trminos de productos
proporcin entre funciones
que no son implicantes primos de funciones individuales y consideran el uso de
salidas complementadas.
* Repita el problema 5-10, usando un
5-11. dispositivo PAL.
La siguiente es la tabla de verdad de una de tres entradas, cuatro salidas
5-12. combinatoria
circuito. Obtener las ecuaciones para la programacin del dispositivo se muestra
en PAL
Figura 5-10.
entradas salidas
seg
und
X Y Z UN o do re
0 0 0 0 1 0 0
0 0 1 1 1 1 1
0 1 0 1 0 1 1
0 1 1 0 1 0 1
1 0 0 1 0 1 0
1 0 1 0 0 0 1
1 1 0 1 1 1 0
1 1 1 0 1 1 1
5-13. Las siguientes ecuaciones son para ser implementado en el dispositivo de PAL se
muestra en la figura 5-10. Encuentra las ecuaciones para la programacin de la
PAL.
F = AB + discos compactos + A B C D + A B C + A B C D
GRAMO = AB + BCD + BCD + A B C
Problemas 321
5-14. Utilice teorema de expansin de Shannon para expresar las siguientes funciones en
trminos de C y C.
s
e
g
u
n
U d + antes de
(un) F(A B C)= N o Cristo + C.A.
(segundo) F(A B metro(0, 2, 3, 5,
C)= 6)
5-15. (un)Diseo de un 4-LUT utilizando slo 2-LUTs y 2-a-1 multiplexores.
(b) Implementar la funcin F = AB + discos compactos + A B C + A B C D +
AB CD utilizando el 4-LUT a partir de (a).
5-16. Para el bloque de lgica programable se muestra en la figura 5-13, muestran los
valores de configuracin necesarios para implementar cada uno de los siguientes
tipos de circuitos. Se puede suponer que la entrada de datos superior de cada
multiplexor se elige con una seleccin de entrada de 0.
(a) Una funcin combinacional de las entradas a, b, y c.
(b) Una mquina de Moore
(c) Una mquina Mealy
5-17. Para el bloque de lgica programable se muestra en la figura 5-13, qu funciones se
deben incorporar en el 2-LUTs para implementar un 1 bits 2s complementan
restador realizar la operacin de una- segundo?
5-18. Implementar la mquina de estados de Moore descrito por la siguiente tabla de
estado utilizando el bloque de lgica programable se muestra en la figura 5-13. Su
respuesta debe incluir los bits de configuracin para el bloque de lgica.
entradas
En Siguiente
Estado actual 1 en 2 Estado salida Z
estado0 0 0 estado1 0
estado0 0 1 estado0 0
estado0 1 0 estado0 0
estado0 1 1 estado1 0
estado1 0 0 estado0 1
estado1 0 1 estado0 1
estado1 1 0 estado1 1
estado1 1 1 estado1 1
Esta pgina se ha dejado
intencionadamente en blanco
Captulo
6
registros y del
Register
Transferencias
323
324 CAPTULO 6 / registros y transferencias de registro
La figura 6-1 (b) muestra un smbolo para el registro en la figura 6-1 (a). Este
smbolo permite el uso del registro en una jerarqua de diseo. Tiene todas las entradas al
circuito lgico a su izquierda y todas las salidas del circuito a la derecha. Las entradas
incluyen la entrada de reloj con el indicador dinmico para representar positivo-borde
activacin de los flip-flops. Observamos que el nombre Claro aparece dentro del smbolo,
con una burbuja en la lnea de seal en la parte exterior del smbolo. Esta notacin indica
que la aplicacin de un 0 lgico a la lnea de seal activa la operacin de borrado de los
flip-flops en el registro. Si la lnea de seal se marcaron fuera del smbolo, la etiqueta
sera Clear.
6-1 / Registros y Load Habilitar 325
re0 re Q0
Reloj
do
Claro
R
REG
re1
re Q1
Claro
re0 Q0
do
re1 Q1
R re Q
2 2
re2
Q2 re3 Q3
re
(B) Smbolo
do
entradas C (entradas
R Carga de reloj
re3 Q3 Reloj de flip-flops)
(C) la entrada de control de
re carga
do
Reloj
Carga
entradas de C
Figura 6-1
4-registro de bits
La figura 6-1 (c). La salida de la puerta OR se aplica a las entradas C del registro de los
flip-flops. La ecuacin para la lgica mostrada es
entradas de C = Carga + Reloj
Cuando la seal de carga es 1, entradas de C =Reloj, por lo que el registro tiene una
velocidad normal, y la nueva informacin se transfiere en el registro en las transiciones
positivas del reloj. Cuando la seal de carga es 0, entradas de C=1. Con esta entrada
constante aplicado, no hay transiciones positivas en las entradas de C, por lo que los
contenidos del registro permanecen sin cambios. El efecto de la seal de carga en las
entradas de seal C se muestra en la Figura 6-1 (d). Tenga en cuenta que los pulsos de
reloj que aparecen en las entradas de C son pulsos a 0, que terminan con el flanco positivo
que desencadena los flip-flops. Estos pulsos y los bordes aparecen cuando carga es 1 y se
sustituyen por una constante 1 cuando la carga est 0. A fin de que este circuito funcione
correctamente, carga debe ser constante en el valor correcto, ya sea 0 o 1, a lo largo del
intervalo cuando el reloj es 0. una situacin en la que esto ocurre es que si carga proviene
de un flip-flop que se desencadena en un flanco positivo del reloj, una circunstancia
normal si todos los flip-flops en el sys-tem son positivos de punta activa.
Insercin de puertas en la trayectoria pulso de reloj produce diferentes retardos de
propagacin entre el reloj y las entradas del flip-flops con y sin gating reloj. Si las seales
de reloj llegan a diferentes flip-flops o registros en momentos diferentes, se dice que
existe sesgo del reloj. Pero para tener un verdadero sistema sncrono, hay que asegurarse
de que todos los pulsos de reloj llegan simultneamente en todo el sistema para que todos
los flip-flops se disparan al mismo tiempo. Por esta razn, en los diseos de rutina,
control de la operacin del registro de salida con el uso de compuerta reloj es
aconsejable. De lo contrario, los retrasos se deben controlar para impulsar el reloj sesgar
tan cerca de cero como sea posible. Esto es aplicable en diseos de baja potencia o de alta
velocidad agresivos.
Un registro de 4 bits con una carga de entrada de control que se dirige a travs de
puertas en las entradas D de los flip-flops, en lugar de a travs de las entradas de C, se
muestra en la figura 6-2 (c). Este registro se basa en una celda de bit se muestra en la
figura 6-2 (a) que consiste en un multiplexor de 2 a 1 y un flip-flop D. La seal ES
selecciona entre el bit de datos D entrar en la clula y el valor de Q en la salida de la
clula. Por ES= 1, D se selecciona y se carga la celda. Por ES=0, Q se selecciona y la
salida se carga de nuevo en el flip-flop, conservando su estado actual. La conexin de
realimentacin desde la salida a la entrada del flip-flop es necesario porque el flip-flop D,
a diferencia de otros tipos de flip-flop, no tiene una sin cambios condicin de entrada:
Con cada pulso de reloj, la entrada D determina el siguiente estado de la salida. Para salir
de la salida sin cambios, es necesario hacer que la entrada D igual al valor presente de la
salida. La lgica en la figura 6-2 (a) puede considerarse como un nuevo tipo de flip-flop
D, un flip-flop D con permitir, teniendo el smbolo que se muestra en la figura 6-2 (b).
ES re Q
re
re
ES
do do
Flip-flop D con permitir do
(s
eg
un
do
(un) )
re0 re Q0
ES
do
re
1 re Q1
ES
do
re2 re Q2
ES
do
re3 re Q3
Carga ES
Reloj do
(do)
Figura 6-2
4-registro de bits con carga paralela
hecho simultneamente para todos los cuatro bits durante una nica transicin de impulso
positivo. Este mtodo de transferencia se prefiere tradicionalmente sobre gating reloj, ya
que evita el sesgo del reloj y el potencial de mal funcionamiento del circuito.
R 6-2eGISTRO tRansfeRs
Un sistema digital es un circuito secuencial compuestos de interconectadas flip-flops y
compuertas. En el captulo 4, aprendimos que los circuitos secuenciales se pueden
especificar por medio de tablas de estado. Para especificar un sistema digital de gran
tamao con tablas de estado es muy difcil, si no impo-sible, debido a que el nmero de
estados es prohibitivamente grande. Para superar esta dificultad, los sistemas digitales se
han diseado utilizando un enfoque modular y jerrquica. El sistema se divide en
subsistemas o mdulos, cada uno de los cuales realiza una tarea funcional. Los mdulos
se construyen jerrquicamente a partir de bloques funcionales, tales como REG-nistre,
contadores, decodificadores, multiplexores, autobuses, elementos aritmticos, flip-flops, y
puertas primitivas. Los diversos subsistemas se comunican con los datos y seales de
control para formar un sistema digital.
En la mayora de los diseos del sistema digital, dividimos el sistema en dos tipos
de MOD-EGLAS: un camino de datos, que realiza operaciones de procesamiento de
datos, y una unidad de control,
328 CAPTULO 6 / registros y transferencias de registro
Las seales de
control
seales de
Controlar Controlar estado
Ruta de datos
entradas unidad
salida
s de
datos
datos de Control
entradas salidas
Figura 6-3
Interaccin entre la Unidad de Control y Datapath
bloques funcionales secuenciales descritos en este captulo son registros que imple-ment
uno o ms microoperaciones.
La unidad de control proporciona seales de esa secuencia de las microoperaciones
de una manera pre-trazada. Los resultados de una microoperacin actual pueden
determinar tanto la secuencia de seales de control y la secuencia de los futuros
microoperaciones para ser ejecutado. Tenga en cuenta que el trmino microoperacin,
tal como se utiliza aqu, no se refiere a ninguna forma particular de producir las seales
de control: especficamente, no implica que las seales de control son generadas por una
unidad de control basado en una tcnica llamada microprogramacin.
Este captulo presenta los registros, sus implementaciones y registrar las
transferencias usando un lenguaje simple transferencia de registro (RTL) para representar
registros y especificar las operaciones de su contenido. El lenguaje de transferencia de
registros utiliza un conjunto de expresiones y declaraciones que se asemejan a las
declaraciones de carcter HDL y lenguajes de programacin. Esta notacin se puede
especificar de forma concisa parte o la totalidad de un sistema digital complejo como un
com-putadora. La especificacin sirve entonces como una base para un diseo ms
detallado del sistema.
R 7 6 5 4 3 2 1 0
R2 PC (H) PC (L)
(C) La numeracin de registro de 16
bits (D) de dos piezas registro de 16 bits
Figura 6-4
Diagramas de bloques de
registros
330 CAPTULO 6 / registros y transferencias de registro
K1: R2re R1
Esta condicin de control, terminado con un colon, simboliza el requisito de que la
operacin de transferencia de ser ejecutado por el hardware slo si K1= 1.
Cada declaracin escrita en la notacin de registro de transferencia presupone una
construccin de hardware para la implementacin de la transferencia. Figura 6-5 muestra
un diagrama de bloques que representa la transferencia de R1 a R2. Las n salidas de
registro R1 estn conectados a las n entradas de registro R2. La letra N se utiliza para
indicar el nmero de bits en la trayectoria regis-ter-transferencia desde R1 a R2. Cuando
se conoce la anchura de la trayectoria, n es sustituido por un nmero real. Registro R2
tiene una entrada de control de carga que se activa por la seal de control K1. Se supone
que la seal est sincronizada con el mismo reloj que la aplicada al registro. Los flip-
flops se supone que son positivo-borde
K La transferencia se
1 Carg efecta aqu
a
t
no
rte
R1 R2 Reloj
K
Reloj 1
Figura 6-5
Transferencia de R1 a R2 cuando K1 =
1
6-4 Transferencias / Registro en VHDL y Verilog 331
Tabla 6-1
Smbolos bsicos para las transferencias de registro
denota una operacin que intercambia los contenidos de dos registros simultneamente
para un borde de reloj positivo en el que K3=1. Este intercambio es posible con los
registros realizados de flip-flops, pero presenta un problema de tiempo difcil con
registros hechos de pestillos. Los corchetes se utilizan en conjuncin con una
transferencia de memoria. La letra M desig-nates una palabra de memoria, y el registro
cerrado dentro de los corchetes proporciona la direccin de la palabra en la memoria.
Esto se explica con ms detalle en el captulo 8.
Tabla 6-2
Smbolos de libros de texto RTL, VHDL y Verilog para las transferencias de registro
6-5 MicRoopeRations
Una microoperacin es una operacin elemental realizado en los datos almacenados en
los registros o en la memoria. Las microoperaciones ms a menudo encontrados en los
sistemas digitales son de cuatro tipos:
1. Transferir microoperaciones, que transfieren los datos binarios de un registro a un-
otro.
microoperaciones aritmticas
Definimos las microoperaciones aritmticas bsicas como sumar, restar, incremento,
Decre-ment, y complemento. La declaracin
R0re R1+ R2
especifica una operacin de adicin. Se afirma que el contenido del registro R2 son para
ser aadido a los contenidos de registro R1 y la suma transferida al registro R0. Para
poner en prctica esta declaracin con el hardware, necesitamos tres registros y un
compo-nente combinacional que realiza la suma, como un sumador paralelo. Las otras
operaciones aritmticas bsicas se enumeran en la Tabla 6-3. La resta ms a menudo se
implementa a travs de la complementacin y la adicin. En lugar de utilizar el operador
menos, podemos especificar la resta complemento a 2 por la declaracin
R0re R1+ R2+ 1
donde R2 especifica el complemento de 1s R2. Adicin de 1 a R2 da los 2s-ment comple
de R2. Por ltimo, aadir el complemento a 2 de R2 al contenido de R1 se presta-equiva
a R1- R2.
Las microoperaciones de incremento y decremento se simbolizan por un ms uno y
menos uno operacin, respectivamente. Estas operaciones se implementan mediante el
uso de un circuito especial combinacional, un sumador-restador, o un contador arriba-
abajo binario con carga paralela.
La multiplicacin y la divisin no se enumeran en la Tabla 6-3. La multiplicacin
puede ser representado por el smbolo * y divisin por /. Estas dos operaciones no se
incluyen en el conjunto bsico de microoperaciones aritmticas porque se supone a ser
implementado por secuencias de microoperaciones bsicas. Sin embargo, multiplica-cin
puede ser considerado como una microoperacin si implementado por un circuito
combinatorio. En tal caso, el resultado se transfiere a un registro de destino en el borde de
reloj despus de todas las seales se han propagado a travs de todo el circuito
combinatorio.
Tabla 6-3
microoperaciones aritmticas
Existe una relacin directa entre las declaraciones escritas en notacin registro de
transferencia y los registros y funciones digitales necesarios para su ejecucin. Como
ejemplo, consideremos las dos afirmaciones siguientes:
XK1: R1re R1+ R2 XK1:
R1re R1+ R2+ 1
El control variable de K1 se activa una operacin de suma o resta. Si, al mismo tiempo,
controlar variable X es igual a 0, entonces XK1=1, y el contenido de R2 se aaden al
contenido de R1. Si X es igual a 1, entonces XK1=1, y el contenido de R2 son sub-tracted
de los contenidos de R1. Tenga en cuenta que las dos condiciones de control son
funciones booleanas y reducir a 0 cuando K1= 0, una condicin que inhibe la ejecucin
de ambas operaciones simultneamente.
Un diagrama de bloques, que muestra la aplicacin de los dos estados-mentos
anteriores, se da en la Figura 6-6. Un sumador-restador de n bits, similar al que se
muestra en la figura 3-45, recibe sus datos de entrada de los registros R1 y R2. La suma o
la diferencia se aplica a las entradas de R1. El Seleccione la entrada S del sumador-
restador selecciona la operacin en el circuito. Cuando es= 0, se aaden las dos entradas,
y cuando S =1, R2 se resta de R1. La aplicacin de la variable de control X a la entrada S
activa la operacin requerida. La salida del sumador-restador se carga en R1 en cualquier
borde de reloj pos-itive a la que XK1= 1 o XK1 = 1. Podemos simplificar esta a solo K1,
ya
XK1 + XK1 = (X+ X) K1= K1
Por lo tanto, la variable de control X selecciona la operacin, y la variable de control K1
carga el resultado en R1.
R2
norte
norte
El sumador-restador
do
n-1 Seleccionar
(S) X
do
norte
norte
V do R1 Carga K1
Figura 6-6
Implementacin de sumar y restar microoperaciones
6-5 / microoperaciones 335
Tabla 6-4
microoperaciones lgicas
Simblico
Designacion Descripcin
microoperaciones lgicas
microoperaciones lgicas son tiles en la manipulacin de los bits almacenados en un
registro. Estas operaciones consideran cada bit en el registro por separado y se tratan
como un Vari-poder binario. Se muestran los smbolos para las cuatro operaciones
lgicas bsicas en la Tabla 6-4. La microoperacin NO, representado por una barra sobre
el nombre del registro de origen, complemento
mentos todos los bits y por lo tanto es el mismo que el complemento 1s. El
smbolo se usa para
denotar la Y microoperacin y el smbolo para denotar la microopera- OR
cin. Mediante el uso de estos smbolos especiales, podemos distinguir entre el add-acin
microoper representado por una+y la microoperacin OR. Aunque el+smbolo tiene dos
significados, podemos distinguir entre ellos al notar que se produce el smbolo. Si el+se
produce en una microoperacin, denota adicin. Si el+ocurre en un control o funcin
booleana, denota OR. La microoperacin o que siempre
utilizar
el smbolo. Por ejemplo, en la declaracin
El byte de orden de R1 se establece en todos los 1s por ORing con todos los 1s en
el R2 oper-y. El byte de orden inferior se mantiene sin cambios, ya que es la OR lgica
con 0s.
El XOR (OR exclusivo) microoperacin se puede utilizar para complementar uno o
ms bits en un registro. Las ecuaciones booleanas X 1= X y X 0 =X dictan que, cuando
una variable binaria X es XOR 1, que se complementa, pero cuando XOR con 0, la
variable se mantiene sin cambios. Por XORing un bit o grupo de bits en el registro R1
con 1s en posiciones seleccionadas en R2, es posible comple-ment los bits en las
posiciones seleccionadas en R1. Consideremos el siguiente ejemplo:
Tabla 6-5
ejemplos de los turnos
microoperaciones de desplazamiento
microoperaciones de desplazamiento se utilizan para el movimiento lateral de los datos.
El contenido de un registro fuente se pueden desplazar a la derecha oa la izquierda. Un
desplazamiento a la izquierda es hacia el bit ms significativo, y un desplazamiento a la
derecha es hacia el bit menos significativo. microopera-ciones de desplazamiento se
utilizan en la transferencia serie de datos. Tambin se utilizan para manipular el
contenido de los registros en operaciones aritmticas, lgicas y de control. El registro
desti-nacin para una microoperacin cambio puede ser el mismo que o diferente del
registro fuente. Utilizamos una cadena de letras para representar las microoperaciones de
desplazamiento definidos en la Tabla 6-5. Por ejemplo,
lgica combinatoria aplicacin de las microoperaciones se supone que es una parte del
registro y se llama lgico dedicado del registro. Esto est en contraste con la lgica que
es compartida por mltiples registros de destino. En este caso, la lgica combinacional la
aplicacin de las microoperaciones se llama lgica compartida por el conjunto de
registros desti-nacin.
La lgica combinacional la aplicacin de las microoperaciones descritos en la
seccin anterior se puede usar uno o ms bloques funcionales del Captulo 3 o puede ser
diseado especficamente para el registro. Inicialmente, los bloques funcionales se
pueden utilizar en combinacin con flip-flops D o flip-flops D con habilitar. Una tcnica
simple usando multiplexores para la seleccin se introduce para permitir que mltiples
microoperaciones en un nico registro. A continuacin, los registros de funcin simple y
mltiple que realizan cambiantes y estn diseados de conteo.
Transferencias Multiplexor-Basado
Hay ocasiones en que un registro recibe los datos de dos o ms fuentes diferentes en
momentos diferentes. Considere la siguiente sentencia condicional que tiene una forma
si-entonces-else:
Esto especifica las conexiones de hardware de dos registros, R1 y R2, a un destino comn
el registro R0. Adems, hacer una seleccin entre dos registros de origen debe basarse en
los valores de las variables de control K1 y K2.
El diagrama de bloques para un circuito con registros de 4 bits que implementa las
declaraciones de registro de transferencia de condi-cional utilizando un multiplexor se
muestra en la figura 6-7 (a). El quad 2-a-1 multiplexor selecciona entre los dos registros
de origen. para K1=1, R1 se carga en R0, independientemente del valor de K2. para K1=
0 y K2 =1, R2 se carga en R0. Cuando tanto K1 y K2 son iguales a 0, el multiplexor
selecciona R2 como la entrada a R0, pero, debido a la funcin de control, K2+ K1,
conectado a la entrada de carga de R0 es igual a 0, el contenido de R0 permanecen sin
cambios.
El diagrama lgico detallado para la implementacin de hardware se muestra en la
figura 6-7 (b). El diagrama utiliza smbolos de bloques funcionales basados en la lgica
detallada para los registros en la Figura 6-2 y para un multiplexor quad 2-a-1 del captulo
3. Obsrvese que puesto que este diagrama representa slo una parte de un sistema, hay
entradas y salidas que an no estn conectados. Adems, el reloj no se muestra en el
diagrama de bloques, pero se muestra en el diagrama detallado. Es importante relacionar
la informacin dada en un diagrama de bloques como la figura 6-7 (a) con el detalle de
6-6 / microoperaciones en un registro nico 339
K2
4 K1
R2
S Carga
0
4
MUX R0
1
4
R1
K2
K1
R2
REGISTRO
CARGA R0
2-a-1 MUX
do REGISTRO
S CARGA
re0 Q0 UN0
re1 Q1 UN1 do
re2 Q2 UN2 Y re
0 0 Q0
re Q UN re1
3 3 3 Y1 Q1
segun re2 Q2
do0 Y2 re3 Q3
segun
R1 do1 Y3
segund
REGISTRO o2
segun
CARGA do3
Reloj do
re0 Q0
re1 Q1
re2 Q2
re Q
3 3
Figura 6-7
El uso de multiplexores para seleccionar entre dos registros
K
0 .
.
.
...
Dedicado 4 codificad
0 lgico or
. ...
.
.
0 Sm S0 Carga
..
4 . .
. . MUX
4
4 k R0
. .
. registros o . .
.
lgica
compartida . .
. 4
Figura 6-8
Generalizacin del multiplexor de seleccin para n Fuentes
Registros de desplazamientos
Un registro capaz de desplazar sus bits almacenados lateralmente en una o ambas
direcciones se denomina un registro de desplazamiento. La configuracin lgica de un
registro de desplazamiento consiste en una cadena de flip-flops, con la salida de un flip-
flop conectada a la entrada de
6-6 / microoperaciones en un registro nico 341
De serie De serie
re re re re
de
entrada SI salida de SO
do do do do
Reloj
(A) Diagrama
lgico
Reloj SRG 4
sl ASI QUE
(B) Smbolo
Figura 6-9
4-Registro de desplazamiento
la siguiente flip-flop. Todos los flip-flops tienen una entrada de pulso de reloj comn que
activa el cambio.
Registro de desplazamiento con carga paralelaSi todas las salidas de los flip-flop
de un registro de desplazamiento son accesible, entonces la informacin entr en serie
desplazando puede ser sacado en paralelo desde las salidas de los flip-flop. Si una
capacidad de carga en paralelo tambin se agrega a un registro de desplazamiento, a
continuacin, los datos introducidos en paralelo se pueden desplazar a cabo en serie. Por
lo tanto, un registro de desplazamiento con salidas del flip-flop accesibles y carga en
paralelo se puede utilizar para convertir los datos en paralelo de entrada a salida de datos
en serie y viceversa.
El diagrama lgico para un registro de desplazamiento de 4 bits con carga paralela
y el smbolo para este registro se muestra en la figura 6-10. Hay dos entradas de control,
una para el desplazamiento y el otro para la carga. Cada etapa del registro se compone de
un flip-flop D, una puerta O, y tres puertas AND. La primera puerta permite la operacin
de cambio. El sec-ond puerta Y permite que los datos de entrada. La tercera puerta Y
restaura el contenido del registro cuando se requiere ninguna operacin.
342 CAPTULO 6 / registros y transferencias de registro
Cam
bio
Carga
entra
da en
re Q0
serie
do
re
0
SHR 4
re Q1
Camb
do io
re Carga
1 sl
Q
re0 0
re1 Q1
re re
2 Q2
Q2
do re3 Q3
(B) Smbolo
re
2
re
do
Q
3
re
3
Figura 6-10
Registro de desplazamiento con
carga paralela
Reloj
Tabla 6-6
Tabla de funciones para el registro de la figura 6-10
La operacin sin cambios, tambin llamado Hold, est implcito si ninguna de las
condi-ciones para las transferencias se cumple. Cuando tanto el turno y de carga entradas
de control son 0, la tercera puerta Y en cada etapa est activada, y la salida de cada flip-
flop se aplica a su propia entrada D. Una transicin positiva del reloj restaura el
contenido al registro, y la salida es sin cambios. Cuando la entrada de desplazamiento es
0 y la entrada de carga es 1, la segunda puerta Y en cada etapa est activada, y la entrada
de Di se aplica a la entrada D del correspondiente flip-flop. La siguiente transicin de
reloj positivo trans-fiere los datos de entrada paralelos en el registro. Cuando la entrada
de desplazamiento es igual a 1, la primera puerta Y en cada etapa est activado y los otros
dos son discapacitados. Desde la entrada de carga est desactivado por la entrada de
desplazamiento en la segunda puerta Y, lo marcamos con una condicin de no importa en
la fila de desplazamiento de la mesa. Cuando un flanco positivo se produce en el reloj, la
operacin de cambio hace que los datos de la SI de entrada en serie para ser transferidos a
flip-flop Q0, la salida de Q0 a ser transferido a flip-flop Q1, y as sucesivamente hasta la
lnea de . Tenga en cuenta que debido a la forma se dibuja el circuito, el cambio se
produce en la direccin hacia abajo. Si hacemos girar la pgina de un cuarto de vuelta en
sentido horario, los turnos regis-ter de derecha a izquierda.
re
do
MUX SHR 4
Reloj
S1 S1 modo S1 S1
S
S0 0 modo S0 S0
entrada en serie a la
izquierda LSI
re0 Q0
0 re Qyo
re1 Q1
1 do
re2 Q2
2
re3 Q3
derecho de entrada en
reyo 3 serie RSI
(B) Smbolo
re
do
Reloj
(A) Diagrama lgico de una etapa
tpica
Figura 6-11
Registro de desplazamiento bidireccional con carga paralela
La operacin sin cambios est implcita si se cumple ninguna de las condiciones de las
transferencias. Cuando el control de modo S1S0=00, se selecciona la entrada 0 del
multiplexor. Esto forma un camino desde la salida de cada flip-flop en su propia entrada.
La siguiente transicin de reloj transfiere el valor almacenado actual de nuevo en cada
flip-flop, y ningn cambio de estado. cuando S1S0= 01, el terminal marcado 1 en el
multiplexor
Tabla 6-7
Tabla de funciones para el registro de la figura 6-11
Contador ondulacin
Un registro que pasa a travs de una secuencia prescrita de estados distintos de la
aplicacin de una secuencia de impulsos de entrada se llama un contador. Los pulsos de
entrada pueden ser pulsos de reloj o pueden proceder de alguna otra fuente, y pueden
ocurrir a intervalos regulares o irregulares de tiempo. En nuestra discusin de los
contadores, suponemos pulsos de reloj, pero otras seales pueden ser sustituidos por el
reloj. La secuencia de estados puede seguir la secuencia nmero binario o cualquier otra
secuencia prescrita de estados. Un contador que sigue la secuencia nmero binario se
llama un contador binario. Un contador binario de n bits consta de n flip-flops y puede
contar en binario de 0 a 2n- 1.
re
do
pulso de reloj
R
re
do
R
re
do
R
re
do
R
Reinicia
r
Figura 6-12
4-Bit Contador de rizado
Tabla 6-8
Secuencia de recuento del contador
binario
Secuencia de conteo hacia Secuencia de conteo
arriba descendente
Q
3 Q2 Q1 Q0 Q3 Q2 Q1 Q0
0 0 0 0 1 1 1 1
0 0 0 1 1 1 1 0
0 0 1 0 1 1 0 1
0 0 1 1 1 1 0 0
0 1 0 0 1 0 1 1
0 1 0 1 1 0 1 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 0 0
1 0 0 0 0 1 1 1
1 0 0 1 0 1 1 0
1 0 1 0 0 1 0 1
1 0 1 1 0 1 0 0
1 1 0 0 0 0 1 1
1 1 0 1 0 0 1 0
1 1 1 0 0 0 0 1
1 1 1 1 0 0 0 0
Q0
ES
La cuenta se permitir ES re Q0
do
Q
1
do1
re Q1
do
Q2
do
re Q2 2
do
Q3
do3
re Q3
do
Llevar
salida CO
Reloj CO
(C) Smbolo
Figura 6-13
4-Bit sncrono Contador binario
como un contador de serie. La analoga con la ondulacin carry sumador sugiere que
podra ser lgica contador anloga al sumador de acarreo de bsqueda hacia delante.
Dicha lgica se puede derivar mediante la contratacin de un sumador de acarreo de
bsqueda hacia delante, con el resultado mostrado en la figura 6-13 (b). Esta lgica puede
simplemente reemplazar que en el cuadro de color azul en la figura 6-13 (a) para producir
un mostrador con gating paralelo, llamado un contador en paralelo. La ventaja de la
lgica gating paralelo es que, al pasar de estado 1111 a estado 0000, slo el retraso de
una puerta Y se produce en lugar de los retardos de cuatro puerta Y que se producen para
el contador de serie. Esta reduccin en el retraso permite que el contador funcione mucho
ms rpido.
Si conectamos dos contadores de 4 bits en paralelo entre s por conexin de la
salida CO de uno a la entrada EN de la otra, el resultado es un contador de serie-paralelo
de 8 bits. Este contador tiene dos partes de 4 bits en paralelo conectados en serie entre s.
La idea puede extenderse a los contadores de cualquier longitud. Una vez ms, el empleo
de la analoga para llevar a sumadores looka-cabeza, niveles adicionales de gating lgica
puede ser introducido para reemplazar la serie
6-6 / microoperaciones en un registro nico 349
las conexiones entre los segmentos de 4 bits. La reduccin en la demora agregado que
resulta es til para construir contadores grandes y rpidos.
El smbolo para el contador de 4 bits utilizando la activacin positiva de borde se
muestra en la figura 6-13 (c).
arriba-abajo contador binarioUn sincrnica cuenta atrs contador binario pasa por
los estados binarios en orden inverso desde 1111 a 0000 y de nuevo a 1111 para repetir el
recuento. El diagrama lgico de un contador binario de cuenta atrs sncrono es similar al
circuito para el up-contador binario, excepto que un decrementador se utiliza en lugar de
un incrementador. Las dos operaciones se pueden combinar para formar un contador que
puede contar tanto hacia arriba y hacia abajo, que se conoce como un contador binario
ascendente-descendente. un contador de este tipo puede ser diseado por contraer el
sumador-restador en la figura 3-45 en un incrementador-decrementador y la adicin de
los flip-flops D. El contador cuenta hacia arriba para S= 0 y hacia abajo para S= 1.
N1 = Q1 ((Q0 S + Q 0 S) EN)
re
U
N2 = Q2 ((Q0 Q1 S + Q 0 Q 1 S) EN)
re
U
N3 = Q3 ((Q0 Q1 Q2 S + Q 0 Q 1 Q 2 S) EN)
El diagrama lgico del circuito se puede obtener fcilmente a partir de las ecuaciones de
entrada, pero no se incluye aqu. Cabe sealar que las ecuaciones, como est escrito,
proporcionan compuerta Paral-lel usando la lgica distinta de transporte para el recuento
de abajo-arriba-contar y. Tambin es posible utilizar dos cadenas de compuerta de serie
distintos. En contraste, el contador derivado usando el incrementador-decrementador
utiliza slo una nica cadena de transporte. En general, el costo de la lgica es similar.
Carga
Contar
re0 re Q0
do
re
1 re Q1
do
re2 re Q2
do
Q
re3 re 3
do
Llevar
salida CO
Reloj
Figura 6-14
4-Bit Contador binario con carga paralela
CTR 4
Reloj
Carga
1 Contar
re0 Q0 Q0
re1 Q1 Q1
re2 Q2 Q2
(Lgica re3 Q3 Q3
0)
CO
Figura 6-15
Contador BCD
otros contadores
Los contadores pueden ser diseados para generar cualquier nmero deseado de estados
en secuencia. Un contador de divisin por N (tambin conocido como un contador de
mdulo-N) es un contador que pasa a travs de una secuencia repetida de N estados. La
secuencia puede seguir la cuenta binaria o puede ser cualquier otra secuencia arbitraria.
En cualquier caso, el diseo de las contra-fol mnimos el procedimiento presentado en el
captulo 4 para el diseo de circuitos secuenciales sncronos. Para demostrar este
procedimiento, se presenta el diseo de dos contadores: un contador BCD y un contador
con una secuencia arbitraria de estados.
Tabla 6-9
entradas de tabla de estado y Flip-Flop contador
BCD
Siguiente
Estado actual Estado Salida
Tabla 6-10
entradas de tabla de estado y Flip-Flop para Counter
Siguiente
Estado actual Estado
corriente
DA = DB = continua =
seg
U und
N o do A + 1) B (t + 1) Connecticut + 1)
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 1 0 0
1 0 0 1 0 1
1 0 1 1 1 0
1 1 0 0 0 0
El diagrama lgico del contador se muestra en la figura 6-16 (a). Puesto que hay
dos estados sin usar, analizamos el circuito para determinar su efecto. El diagrama de
estado obtenida se dibuja en la figura 6-16 (b). Este diagrama indica que si el circuito va
nunca a uno de los estados no utilizados, el siguiente impulso de conteo lo transfiere a
uno de los estados vlidos, y el circuito contina a contar correctamente.
re UN
do ABC
Reiniciar 000
segun
re do 110 011 001
do
re do
100
do
Reloj
Reiniciar
(un) (segundo)
Figura 6-16
Contador con el Conde
arbitraria
354 CAPTULO 6 / registros y transferencias de registro
R 6-7eGISTRO-doana reesign
En la seccin 3-8, discutimos circuitos combinacionales iterativos. En este captulo, se
con-Nect tales circuitos de chanclas para formar circuitos secuenciales. Una clula de un
solo bit de un circuito combinatorio itera-tivo, conectado a un flip-flop que proporciona
la salida, forma un circuito secuencial de dos estados llama una celda de registro.
Podemos disear un registro de n bits con uno o ms microoperaciones asociados
mediante el diseo de una celda de registro y haciendo n copias de la misma.
Dependiendo de si la salida del flip-flop es una entrada a la celda de circuito itera-tivo, la
clula del registro puede tener dependiente de su siguiente estado en su estado actual y
las entradas o slo en sus entradas. Si la dependencia es slo en las entradas, a
continuacin, la celda de diseo para el circuito combinacional iterativo y la fijacin del
circuito iterativo para chanclas es apropiado. Si acaso, el estado del flip-flop se alimenta
de nuevo a las entradas de la celda de circuito iterativo, los mtodos de diseo
secuenciales tambin se pueden aplicar. El siguiente ejemplo ilustra el diseo de clulas
registro simple en tal caso.
CARGA = Y + EXOR + O
# # #
di= UN(t+ 1) i= Y AiBi + EXOR (AiBi+ AiBi)+ O (Ai+ Bi)
La ecuacin para Di tiene una aplicacin similar a la utilizada para la parte de seleccin
de un multiplexor en la que un conjunto de HABILITACIN bloques de accionamiento
de una puerta OR. Y, EXOR, y O estn permitiendo seales, y la parte restante de los
trminos respectivos en Di consiste en la funcin activada.
Un enfoque ms complejo es disear directamente para flip-flops D utilizando un
enfoque de diseo de circuito Sequen-TiAl en lugar del enfoque ad hoc basado en carga
flip-flops paralelas.
Tabla 6-11
Tabla de Estado y flip-flop entradas por ejemplo 6-1
Presente
A continuacin el
Un Estado Estado A (t + 1)
(Y = 0)
(EXOR = 0) (OR = 1) (OR = 1) (EXOR = 1) (EXOR = 1) (Y = 1) (Y = 1)
(SEGU
(SEGUN NDO = (SEGUN (SEGUND (SEGUND (SEGUND
(O = 0) DO = 0) 1) DO = 0) O = 1) O = 0) O = 1)
0 0 0 1 0 1 0 0
1 1 1 1 1 0 0 1
O
do1
do2
EXOR
do3
Y
La lgica compartida
seg
und
oyo
U
N
re yo
Reloj do
i celular
Figura 6-17
Diagrama-Register-Cell lgica Diseo Ejemplo 6-1
Si se utilizan estas ecuaciones directamente el coste del enfoque simple para un diseo de
16 clulas es aproximadamente 40% ms alto. As que mediante el diseo de una celda de
registro personalizado mediante un flip-flop D en lugar de encontrar la lgica de entrada
para un flip-flop D con habilitacin, el costo puede ser reducido. Adems, con la
disminucin en el nmero de niveles de la lgica, el retardo puede tambin ser reducido.
# #
doyo + 1 = SHL UNyo + AADIR ((Ai Bi) Ci+UNyosegundoyo)
358 CAPTULO 6 / registros y transferencias de registro
Tabla 6-12
Tabla de Estado y Flip-Flop insumos para el diseo de registro en clulas
en el ejemplo 6-2
Presente
Un entrada A continuacin el Estado Ayo(t+
Estadoyo s 1) / salida Cyo + 1
AADIR =
SHL = 0 SHL = 1 1 1 1 EXOR = 1 1 1 1 1 1
se
gu
nd
segundoyo segundoyo oy
EXOR = 0 =0 0 1 1 =0 1 o =0 0 1 1
AADIR = do
0 doyo = 0 1 0 1 yo =0 1 0 1
EXOR
mi1
AADIR
mi
2
SHL
La lgica
compartida
segundo mi1
yo mi2 SHL AADIR
i celular
do
yo
re
Reloj do
UNyo
Figura 6-18
Diagrama-Register-Cell lgica Diseo Ejemplo 6-2
El trmino Ai Bi aparece tanto en la EXOR y ADD trminos. De hecho, si Ci=0 durante
la operacin EXOR, a continuacin, las funciones para la suma en ADD y para EXOR
pueden ser idnticas. En el Ci+1 ecuacin, ya que SHL y ADD son ambos 0 cuando
EXOR es 1, Ci es 0 para todas las clulas en la cascada excepto el menos significativo.
Para la clula menos significativo, la especificacin establece que C0= 0. Por lo tanto, la
entrada de valores de IC son 0 para todas las celdas de registro A. As podemos combinar
las operaciones ADD y EXOR de la siguiente manera:
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 359
Seleccion
ar Carga Carga
S0 S1 S2 L0L1 L2 L0L1 L2
S
0 2-a-1 norte norte
1 MUX
no R0 R0
rte norte
Seleccion
ar
0 S norte S1 S0 norte
2-a-1 0
nor Autob
1 MUX R1 3-a-1 te s R1
no
rte 1 MUX
2
0
norte
S
0 2-a-1 norte norte
1 MUX
no R2 R2
rt
e norte
Figura 6-19
Bus nica versus multiplexores Dedicados
este caso, L2 y L0 son ambos 1, haciendo que el contenido de R1 en el bus para ser
cargado en los registros R0 y R2. La tercera transferencia, un intercambio entre R0 y R1,
es imposible en un solo ciclo de reloj, ya que requiere dos fuentes simultneas, R0 y R1,
en el nico bus. Por lo tanto, esta transferencia requiere al menos dos buses o un bus
combinado con una ruta dedicada de uno de los registros a la otra. Tenga en cuenta que
dicha transferencia se puede ejecutar en los multiplexores dedicados en la figura 6-19 (a).
As, para un sistema de un solo bus, las transferencias simultneas con diferentes fuentes
en un solo ciclo de reloj son
Tabla 6-13
ejemplos de transferencias de registro utilizando el bus individual
en la figura 6-19 (b)
Selecc Carg
ionar a
Register Transfer S1 S0 L2 L1 L0
R0re R2 1 0 0 0 1
R0re R1, R2re R1 0 1 1 0 1
R0re R1, R1re R0 Imposible
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 361
imposible, mientras que para los multiplexores dedicados, cualquier combinacin de las
transferencias es posible. Por lo tanto, la reduccin en el hardware que se produce por un
solo bus en lugar de multiplexores resultados dedicados en limitaciones en transferencias
simultneas.
Si asumimos que slo se necesitan las transferencias de una sola fuente, entonces
podemos utilizar la figura 6-19 para comparar la complejidad del hardware dedicado en
comparacin con los sistemas basados en bus. En primer lugar, asumir un diseo
multiplexor, como en la figura 3-27. En la figura 6-19 (a), hay 2n puertas Y y n puertas O
por multiplexor (no inversores contando), para un total de puertas 9n. Por el contrario, en
la figura 6-19 (b), el multiplexor de bus requiere puertas Y solamente 3N y n puertas O,
para un total de 4n puertas. Tambin, las conexiones de entrada de datos a los
multiplexores se reducen de 6n a 3n. Por lo tanto, el costo del hardware de la seleccin se
reduce a la mitad.
Figura 6-20
Tres-Estado Buffer
362 CAPTULO 6 / registros y transferencias de registro
IN0
(S)
EN0
OL
EN 1
(S) EN1
(A) Diagrama lgico
0 0 X X Hi-Z
(S) 0 (S) 1 X 0 0
0 1 X 1 1
1 0 0 X 0
1 0 1 X 1
1 1 0 0 0
1 1 1 1 1
1 1 0 1
1 1 1 0
Figura 6-21
Tres-Estado Tampones La formacin de un multiplexado Lnea OL
Figura 6-20 (b), si EN =1, OUT es igual a IN, comportndose como un tampn normal.
Pero para ES= 0, el valor de salida es de alta impedancia (Hi-Z), independientemente del
valor de IN.
salidas tampn tres estados pueden conectarse entre s para formar una lnea de
salida multiplexada. Figura 6-21 (a) muestra dos buffers de 3 estados con sus salidas
conectadas para formar la lnea de salida OL. Estamos interesados en la salida de esta
estructura en trminos de la EN1 cuatro entradas, EN0, IN1, y IN0. El comportamiento de
salida viene dado por la tabla de verdad en la figura 6-21 (b). Para EN1 y EN0 igual a 0,
las dos salidas de tampn son Hi-Z. Dado que ambos aparecen como circuitos abiertos,
OL es tambin un circuito abierto, representado por un valor de alta impedancia. para
EN1= 0 y EN0 =1, la salida de la memoria intermedia de la parte superior es IN0 y la
salida del tope inferior es Hi-Z. Como el valor de IN0 combinado con un circuito abierto
es slo IN0, OL tiene un valor IN0, dando a la segunda y tercera filas de la tabla de
verdad. A corre-pondiente, pero opuesto, caso se produce para EN1= 1 y EN0 =0, por lo
que tiene un valor OL IN1, dando a las filas cuarta y quinta de la tabla de verdad. Para
EN1 y EN0 tanto 1, la situacin es ms complicada. Si IN1=IN0, entonces su valor mutuo
aparece en OL. Pero si IN1 IN0 , entonces el conflicto sus valores en la salida. Los
resultados de conflicto en una corriente elctrica que fluye desde la salida del bfer que
est en 1 en el bfer de salida que est en 0. Esta corriente es a menudo suficientemente
grande para causar un calentamiento y puede incluso destruir el circuito, como se
simboliza por los iconos humo en la tabla de verdad. Claramente, una situ-acin tal
debe ser evitada. El diseador debe asegurarse de que EN0 y EN1 no ser igual a 1 al
mismo tiempo. En el caso general, para n buffers 3-estado unidos a una lnea de bus, ES
puede ser igual a 1 por slo una de las memorias intermedias y debe ser 0 para el resto.
Una manera de asegurar esto
6-8 / multiplexor y de bus basado en transferencias para Registros
Mltiples 363
es el uso de un descodificador para generar las seales ES. Para el caso de dos buffer, el
descodificador es slo un inversor con entrada de seleccin de S, como se muestra en
lneas de puntos en la figura 6-21 (a). Es interesante examinar la tabla de verdad con el
inversor en su lugar. Consiste en el rea sombreada de la tabla de la figura 6-21 (b).
Claramente, el valor de S selecciona entre las entradas IN0 e IN1. Adems, la salida del
circuito OL nunca est en el estado de alta impedancia.
Tres-Estado autobs
Un autobs puede ser construido con los buffers de tres estados introducidos
anteriormente en lugar de multiplexores. Esto tiene el potencial para reducciones
adicionales en el nmero de conexiones con-. Pero por qu utilizar tampones de tres
estados en lugar de un multiplexor, en particular para la implementacin de los
autobuses? La razn es que muchas salidas tampn de tres estados pueden ser con-
CONECTADOS juntos para formar una lnea de bit de un autobs, y este bus se
implementa utilizando un solo nivel de puertas lgicas. Por otro lado, en un multiplexor,
un gran nmero de fuentes tales significa un alto abanico en O, que requiere mltiples
niveles de puertas OR, intro-ducing ms lgica y el aumento de demora. En contraste, los
tampones de tres estados proporcionan una forma prctica de construir buses rpidos con
muchas fuentes, lo que a menudo son preferidos en tales casos. Ms importante, sin
embargo, es el hecho de que las seales pueden viajar en dos direcciones en un autobs
de tres estados. Por lo tanto, el bus de tres estados puede utilizar la misma intercon-
nection para llevar seales de entrada y salida de un circuito lgico. Esta caracterstica,
que es ms importante cuando cruzar los lmites de chips, se ilustra en la figura 6-22 (a).
La figura
Carga norte
ES L0 L1 L2
nort
e
Carga R0
CARG norte
A n
or nor
te te
Seleccion
R ar
n R1
or
te 2
norte
no Auto
ES 3-a-1 rte bs
MUX
R2
Carga
norte
norte
R norte
n
o
Carga
rt
L2 L1 L0
e
Habilitar R1
E2 E1 E0
n nort
o Aut ES e
rt ob n
e s o
R0
rt
e
nort R2
ES
e
ES
(A) Se registra en bidireccional (B) bus Multiplexor (C) de bus de tres
lneas de entrada-salida y smbolo estados usando registros
con lneas bidireccionales
Figura 6-22
Tres-Estado autobs frente al multiplexor
autobs
364 CAPTULO 6 / registros y transferencias de registro
muestra un registro con n lneas que sirven como entradas y salidas se extiende a travs
del lmite del rea sombreada. Si se habilitan los buffers de tres estados, entonces las
rectas son salidas; si los buffers de tres estados estn desactivados, entonces las lneas
pueden ser entradas. El sym-bol para esta estructura se da tambin en la figura. Tenga en
cuenta que las lneas de bus bidireccional estn representados por una flecha de dos
puntas. Adems, un pequeo tringulo invertido indica las salidas de tres estados del
registro.
Las figuras 6-22 (b) y (c) muestran un bus multiplexor-implementado y un bus de
tres estados, respectivamente, para la comparacin. El smbolo de la figura 6-22 (a) para
un registro con las lneas de entrada-salida bidireccionales se utiliza en la figura 6-22 (c).
En contraste con la situacin en la figura 6-19, donde los multiplexores dedicados fueron
reemplazados por un autobs, estos dos Imple-mentaciones son idnticos en trminos de
su capacidad de registro de transferencia. Tenga en cuenta que, en el bus de tres estados,
slo hay tres conexiones de datos con el conjunto de bloques de registro para cada bit del
autobs. El bus de multiplexor-implementado tiene seis conexiones de datos por bit al
conjunto de bloques de registro. Esta reduccin en el nmero de conexiones de datos a la
mitad, junto con la capacidad de construir fcilmente un autobs con muchas fuentes,
hace que el bus de tres estados en una alternativa atractiva.
Camb
io
Reloj Un registro registro B
SRG 4 SRG 4
do do
ASI ASI
QU QU
0 SI E SI E
(A) Diagrama de
bloques
Reloj
Cambio
entradas de C
T T
T1 T2 3 4
otra informacin binaria, o si queremos mantener los datos en el registro A, que puede
con-Nect su produccin en serie para su entrada en serie para que la informacin se hace
circular de nuevo en el registro. El contenido inicial del registro B se desplaza hacia fuera
a travs de su salida en serie y se pierde a menos que se transfiere de nuevo en el registro
A, a un tercer registro de desplazamiento, o para otro almacenamiento. El desplazamiento
de entrada de control de cambio determina cundo y cuntas veces se desplazan los regis-
tros. Los registros utilizando Shift se controlan por medio de la lgica de la figura 6-23
(a), que permite a los impulsos de reloj para pasar a las entradas de reloj de registro de
desplazamiento slo cuando Shift tiene el valor lgico 1.
En la figura 6-23, cada registro de desplazamiento tiene cuatro etapas. La lgica
que supervisa la transferencia debe ser diseado para permitir que los registros de
desplazamiento, a travs de la seal de Shift, durante un tiempo fijo de cuatro pulsos de
reloj. registro de desplazamiento se muestra propicio en el diagrama de temporizacin
para la lgica de gating reloj en la figura 6-23 (b). Cuatro impulsos encuentra Shift en el
estado activo, de manera que la salida de la lgica conectada a las entradas de reloj de los
registros produce cuatro pulsos: T1, T2, T3, y T4. Cada transicin positiva de estos
impulsos provoca un desplazamiento en ambos registros. Despus de que el cuarto pulso,
Shift cambios de nuevo a 0 y los registros de desplazamiento estn desactivados.
Observamos una vez ms que, para la activacin positiva de ltima generacin, los pulsos
en las entradas de reloj son 0, y el nivel inactivo cuando no hay pulsos estn presentes es
un 1 en lugar de un 0.
Supongamos ahora que el contenido binario del registro A antes de que el cambio
es 1011, el de registro B es 0010, y el SI de registro A es la lgica 0. Entonces la
transferencia en serie de A a B se produce en cuatro pasos, como se muestra en la Tabla 6
-14. Con la primera T1 pulso, el bit ms a la derecha de A se desplaza en el bit ms a la
izquierda de B, el bit ms a la izquierda de A recibe un 0 a partir de la entrada en serie, y,
al mismo tiempo, se desplazan todos los dems bits de A y B una posicin a la derecha.
Los siguientes tres pulsos realizan operaciones idnticas, desplazar los bits de A en B uno
a la vez durante la transferencia de 0s a A. Despus de que el cuarto cambio, la lgica de
supervisin de la transferencia cambia la seal Shift a 0 y los cambios se detiene.
Registro B contiene 1,011, que es el valor anterior de A. Registro A contiene todos 0s.
La diferencia entre los modos de serie y paralelo de operacin debe ser evidente a
partir de este ejemplo. En el modo paralelo, la informacin est disponible a partir de
todos los bits de un registro, y todos los bits se puede transferir simultneamente durante
un pulso de reloj. En el modo de serie, los registros tienen una sola entrada en serie y una
sola salida en serie, y la informacin se transfiere un bit a la vez.
adicin de serie
Las operaciones en las computadoras digitales se realiza en paralelo debido a la mayor
velocidad posible. operaciones de serie son ms lentos, pero tienen la ventaja de requerir
Tabla 6-14
ejemplo de transferencia de serie
Registro de
impulso de Un registro de desplazamiento
temporizacin desplazamiento B
Valor inicial 1 0 1 1 0 0 1 0
despus de T1 0 1 0 1 1 0 0 1
despus de T2 0 0 1 0 1 1 0 0
despus de T3 0 0 0 1 0 1 1 0
despus de T4 0 0 0 0 1 0 1 1
366 CAPTULO 6 / registros y transferencias de registro
Un registro
SRG 4
do
Reinic
iar Claro FA
ASI
QU
SI E X S
Y
Cambi Z do
o
sumador
Reloj completo
(Figura 5-4)
registro B
SRG 4
do
Reinici Llevar
ar Claro
De ASI
serie QU
entra SI E re
da
do
Reinic
iar
Figura 6-24
adicin de serie
cualquier momento dado, el estado del circuito secuencial activa un conjunto prescrito de
micro-operaciones. Usando condiciones de estado y las entradas de control, la unidad de
control secuencial determina el estado siguiente. El circuito digital que acta como la
unidad de control proporciona una secuencia de seales para la activacin de las
microoperaciones y tambin determina su propio estado siguiente.
Basado en el diseo global del sistema, hay dos tipos distintos de unidades de
control usadas en sistemas digitales, una para un sistema programable y el otro para un
sistema sin nimo de lucro-gramable.
En un sistema programable, una porcin de la entrada al procesador consiste en una
secuencia de instrucciones. Cada instruccin especifica la operacin que el sys-tem es
llevar a cabo, qu operandos de usar, dnde colocar los resultados de la operacin y, en
algunos casos, que la instruccin a ejecutar a continuacin. Para los sistemas
programables, las instrucciones se almacenan normalmente en la memoria, ya sea en la
memoria RAM o en la ROM. Para ejecutar las instrucciones en secuencia, es necesario
proporcionar la direccin de memoria de la instruccin a ser ejecutada. Esta direccin
viene de un registro llamado el contador de programa (PC). Como su nombre lo indica, el
PC tiene lgica que per-mite que cuente. Adems, con el fin de cambiar la secuencia de
operaciones que utilizan decisiones basadas en la informacin de estado desde el camino
de datos, el PC necesita la capacidad de carga en paralelo. As, en el caso de un sistema
programable, la unidad de control con-tains un PC y la lgica de decisin asociado, as
como la lgica necesaria para interpretar la instruccin. La ejecucin de una instruccin
significa la activacin de la secuencia necesaria de microoperaciones en el camino de
datos requerido para realizar la operacin especificada por la instruccin.
Procedimiento de diseo
Hay muchos procedimientos de diseo posibles para el diseo de una unidad del camino
de datos y control. Aqu, tomaremos un enfoque en el que se describen las acciones tanto
de la ruta de datos y la unidad de control de una manera combinada utilizando un
diagrama de mquina de estado o una combinacin de un diagrama de mquina de estado
con una mesa de transferencia de registros. Adems, este procedimiento se supone que
puede haber un poco de hardware de transferencia de registros en la unidad de control.
Ejemplos de tales hardware son un contador de iteraciones para imple-mentacin de un
algoritmo iterativo, un contador de programa para un ordenador, o un conjunto de
transferencias de registro para reducir el nmero de estados en un diagrama de mquina
de estado. Aqu se utiliza el sistema de trmino para describir el objetivo del diseo; este
trmino puede ser sustituido con el circuito si se desea. Este procedimiento supone
solamente diagrama de una mquina de estado en la unidad de control. Si es deseado,
6-10 / Control de Transferencias de
Registro 369
COMIENZO
DETENER
CSS REINICIAR
(un)
TM
4-Digit BCD
(segundo)
Figura 6-25
(a) Apariencia externa y (b) Requisitos para Registrarse DashWatch
2. Las seales externas de control de entrada, seales de salida de datos externos, y los
registros se enumeran Tabla 6-15. Los primeros cuatro seales, proporcionados a
travs de la lgica condicin-ing seal de pulsadores en la cara de la DashWatch,
son 1 si se empuja el botn y 0 si no es empujado. Las seales restantes son las
entradas de visualizacin LCD de 6 segmentos para los cuatro dgitos de izquierda a
derecha y el punto de DP decimal. DP es siempre 1 cuando el aparato est
encendido. Estos cinco vectores se combinan en el vector B 29 bits que impulsa el
LCD. Al mirar a la especificacin en 1, se puede concluir que se necesitan dos
registros. Uno de ellos es un contador de tiempo, TM, que los tiempos de la carrera
de la corriente, y el otro SD, que almacena el valor del tablero ms corto. El registro
del temporizador tiene que contar hasta cada 0,01 segundos, el periodo del reloj del
circuito. Hay dos opciones para un contador ascendente: 1) un contador binario con
un nmero suf-ciente de bits a una precisin de 0,01 segundos en decimal, o 2) un
contador BCD de 4 dgitos que cuenta en los intervalos de 0,01 segundos. En este
caso, hemos elegido el contador BCD para ahorrar en hardware necesario para
convertir de binario a BCD para la visualizacin de salida. El registro de SD tiene
que ser inicializado a (99.99) BCD y para ser cargado con el contenido de TM. Por
lo tanto se requiere un 4 dgitos (16-bit) registro de carga en paralelo. Los registros
se muestran en la Figura 6-25 (b). Por lo tanto se requiere un 4 dgitos (16-bit)
registro de carga en paralelo. Los registros se muestran en la Figura 6-25 (b). Por lo
tanto se requiere un 4 dgitos (16-bit) registro de carga en paralelo. Los registros se
muestran en la Figura 6-25 (b).
Tabla 6-15
entradas, salidas, y los registros de la DashWatch
REINICI
AR
Da
kot
a
del
S1 Sur (9999)BCD
COMIE
NZO S2 TM (0000)BCD
COMIENZO
DETE
NER S3 TM (TM 1)BCD, DIS TM
START CSS DETENER
COMIE
CSS NZO S4 DIS = TM
CSS
S5
TM SD TM SD
COMIEN Da
ZO kot
a
del
S7 S6 Sur TM
COMIE
NZO DIS SD
Figura 6-26
Estado diagrama de la mquina para DashWatch
Tabla 6-16
Acciones de salida del camino de datos y la generacin de Estado con el control y
seales de estado
Controlar
o
Estado
Accin o Estado seales Significado de valores 1 y 0
TM
C0 ENTM
4-Digit BCD
RSTM SRST
REINICIAR
COMIENZO S2 RSTM
COMIE
NZO
DETENER S3 ENTM
DETEN
ER
S4
CSS
S5
ALTB
COMIENZ
O S7 S6 UPDATE LSR
COMIENZO
DS
(segundo)
Figura 6-27
(A) Datapath Diagrama de bloques y (b) Estado-Machine control Diagrama para
DashWatch
6-10 / Control de Transferencias de
Registro 375
RSTM es 1, todas las entradas a los flip-flops son 0, y los flip-flops se restablecen a
todos los 0s en el prximo reloj.
El registro de carga en paralelo es una versin de 16 bits del registro en la
Figura 6-2. La A6comparador B puede ser diseado fcilmente como un circuito
lgico iterativo. Suponiendo un equipaje que va de derecha a izquierda, la ecuacin
para cada celda es Ci= AiBi + (Ai+ Bi) Ci- 1 y el entrante llevan C0= 1. Esto
representa la lleva en un unsigned 2s binarios complementar restador utilizando el
circuito mostrado en la figura 3-45 con S= 1 para realizar una - B. Para este
circuito, el resultado
UN - segundo = UN + (2n- 1- segundo)+ 1= 2n+ (UN- segundo). Si A- segundo
0, entonces el resultado es mayor que o igual a 2n, y Cn (el acarreo de la MSB) es
1. Si A- segundo 6 0, entonces el resultado es inferior a 2n, y Cn= 0. As, para una6
segundo, Cn= 0 y ALTB= Cn.
El multiplexor para la carga SD est construido basado en el concepto
utilizado para el multiplexor quad 4-a-1 en la figura 3-27. Utiliza una 1-a-2-lnea
decod-er impulsado por la entrada S y 16 pares de circuitos permitan para el
manejo de los dos vectores de datos de 16 bits. El mismo multiplexor puede ser
utilizado para la formacin de la DIS vector de datos de 16 bits. El circuito final es
el convertidor de cdigo BCD-to-7-segmento de 4 dgitos que puede ser construido
de cuatro copias del convertidor de cdigo BCD-to-7-segmento 1 dgitos diseado
en el ejemplo 3-18.
Aparte de un problema, esto completa el diseo de la ruta de datos. Debido a
su vector de datos de entrada en D0 es una constante, el multiplexor 16-bit 2-a-1
para select-ing la entrada SD puede reducirse sustancialmente mediante la
aplicacin de la contraccin del captulo 3. Haciendo esto, para un bit con un valor
de datos de 0,
Y = (DAKOTA DEL SUR + Dakota del Sur )
yo 0i 1i re0i
S + re
1i
LSR = S1+ S6
RSTM = S2
ENTM = S3
ACTUALIZAR = S6
DS = S7
Tenga en cuenta que DS 1 =0. La razn es que este estado slo se introduce por el
encendido o reinicio general. Nunca se introduce de forma sincrnica. Como
consecuencia de ello, no hay necesidad de ningn valor a cargar en el flip-flop. Es, sin
embargo, necesario tener este restablecimiento flip-flop a un estado (de salida) tiene un
valor de 1 debido al cdigo de una sola caliente utilizado. Si esto no es posible con las
entradas y salidas proporcionadas, esto se puede hacer con slo un R de reposicin
asincrnica y un inversor aadido a la salida del flip-flop en esta aplicacin.
Jugador TurnTotal El
1 jugador 2
SOSTEN
RODAR ER
NUEV
O
REINICIAR
JUEGO
(un)
MORIR SUR FP
3-Bit 1-a-6 Paralelo 7-Bit
FF
Mostrador LoadRegister
TR1 TR2 CP
Paralelo 7-Bit Paralelo 7-Bit
FF
LoadRegister LoadRegister
Registros de
DataPath Registros control
(segundo)
Figura 6-28
CERDO: (a) Vista exterior del PIG, (b) Registros PIG
mostrando el valor de matriz controlada por CPDN y dos LED que indican el
jugador activo. El LED izquierdo es controlado por P1 seal y la derecha por P2.
Cuando es el turno de un jugador, el LED se encienda el reproductor y re-red en el
resto del turno. Cuando un jugador gana, el LED parpadea para el jugador. Cuando
se empuja ROLLO, el troquel empieza a rodar. Cuando se libera RODILLO, el
troquel se detiene la rodadura, y se aade el valor laminado al subtotal actual. Si un
1 se rueda, ST se convierte en 0, se aade 0 al total del jugador, y el LED para las
luces de otros jugadores. Cuando se empuja HOLD se aade subtotal del jugador
para el total del jugador, y el LED para las otras luces jugador. Cuando iguales
totales de un jugador o excede el 100, LED parpadea del jugador. Un nuevo juego
se puede iniciar en cualquier momento pulsando NEW_GAME. Mientras el poder
permanece encendido y reset no se empuja, el nuevo juego comenzar con el
jugador opuesta a la que antes de comenzar el juego. Si la electricidad ha sido
apagado, el jugador 1 ser primero. Las entradas y salidas externas para el juego se
muestran en la Tabla 6-17.
Tabla 6-17
entradas, salidas, y los registros de cerdo
cada uno requiere un registro de 7 bits. Estos registros sern nombrados TR1, TR2,
y SR. Cada uno de estos tres registros deben tener un restablecimiento sincrnica y
permitir una carga.
REINICI
AR
DIE 000, FP 0
EN ESO TR1 0, TR2 0, FP CP
RODAR ROL
RODA
CP CP R
DIE = 1
UNO
DIE = 1
RODAR
ROH
CP CP
PRUEBA
FP FP
NUEVO JUEGO
GANA
R
NUEVO JUEGO
Figura 6-29
Estado diagrama de la mquina para el cerdo
Espere. Dado que estos restablece deben ocurrir para los juegos siguientes, que no
deben ser asncrono, pero hacerse de forma sincrnica en INIT. Adems, tenemos
que informar al jugador que va a convertirse en el jugador activo, por lo que CP se
carga con FP. En este punto, un giro juego puede comenzar, por lo que el estado se
convierte en Begin, que representa el inicio de la situacin c. Dado que el jugador
activo est listo para comenzar puntos Accu-mulating, SUR, se forma sincronizada
pone a 0. El estado sigue siendo comienzan y el restablecimiento del SUR repite,
pero esto no es perjudicial. Cuando un jugador empuja tirada, el estado se convierte
en LOD, y la adicin de 1 a DIE se repite mientras ROLLO ROLLO es 1. Cuando
se convierte en 0, DIE deja de aumentar. Por situacin d, una comprobacin de si el
jugador rod hace falta un 1. Por lo tanto rollo= 0 cambia el estado a una donde se
produce esta prueba. Si DIE= 1, entonces el turno del jugador ha terminado, el otro
jugador se convierte en el jugador activo (CPreCP), y las declaraciones de estado
para comenzar. Si DIE 1, se aade a DIE SUR, y el estado se convierte en ROH
(Roll o En espera). A continuacin, el jugador puede tirar el dado de nuevo
seleccionando RODILLO, volviendo a ROL. De lo contrario, el jugador puede
seleccionar Retener, lo que provoca SUR que se aade a TR1 o TR2, dependiendo
del valor de CP. (Tenga en cuenta que con el fin de satisfacer la parte exclusin
mutua de las limitaciones condicin de transicin, Roll ha sido AND con HOLD.)
El siguiente estado se convierte en TEST, en el que se realiza una prueba en TR1 o
TR2, de nuevo dependiendo del valor de CP, para determinar si el jugador ha
ganado. Si el jugador no ha ganado, entonces el otro jugador se activa y se
convierte en el estado BEGIN. Si el jugador ha ganado, el estado se convierte WIN.
En el estado GANAR LED del jugador, segn la seleccin de CP, parpadea debido
a la seal alterna parpadear.
4. En este paso, separamos el camino de datos del control y definimos las seales de
control y de estado que los conectan entre s. Las acciones camino de datos se
pueden leer en el diagrama de mquina de estados. Las acciones se agrupan en
funcin de los destinos representados por el lado izquierdo de enunciados de
transferencia (re ) O declaraciones de conexin (=). Adems, la notacin que indica
la generacin de estado en el camino de datos necesita ser interpretada y seales de
estado generado. El resultado final de las agrupaciones se muestra en la Tabla 6-18
en la columna izquierda. restablece sncronos se utilizan para todos los registros,
excepto para morir y FP, que tienen restablece asncronos. Para las adiciones, la
seal de control es simplemente una carga del registro corresponden-ing, ya que
aparte de reposicin asincrnica, no hay otras transferencias en los registros
involucradas. Para P1 y P2, tenga en cuenta que los valores por defecto establecidos
se utilizan para las entradas 0. Otros valores por defecto son implcitamente 0,
mantenga los valores almacenados, o ninguna accin. A partir de la DIE=1, el resto
de la tabla es para condiciones de estado. Tenga en cuenta cmo se utiliza para
seleccionar CP total registrar TRI por el jugador activo en la determinacin de una
victoria. Los nombres de variables en forma verdadera y complemento
6-10 / Control de Transferencias de
Registro 381
Tabla 6-18
acciones camino de datos de salida y de control y seales de estado de los cerdos
control o
seales de
Accin o Estado estado Significado de valores 1 y 0
1: Restablecer TR1 (restablecimiento sincrnica),
TR1 re 0 RST1 0: Ninguna accin
TR1 re TR1 + SUR LDT1 1: Aadir a SUR TR1, 0: Ninguna accin
1: Restablecer TR2 (restablecimiento sincrnica),
TR2 re 0 RST2 0: Ninguna accin
TR2 re TR2 + SUR LDT2 1: Aadir a SUR TR2, 0: Ninguna accin
1: Restablecer SUR (restablecimiento sincrnica),
SUR re 0 RSSU 0: Ninguna accin
SUR re SUR + MORIR LDSU 1: Aadir a DIE SUR, 0: Ninguna accin
1: Restablecer DIE a 000 (restablecimiento
MORIR re 000 REINICIAR asncrono)
1: Habilitar DIE para incrementar, 0: Mantenga
si (DIE = 110) ENDI valor DIE
MORIR re 001
DIE dems re MORIR + 1
REINICI
AR
EMPEZA
RODAR R RSSU
RODAR
LDCP RODAR
DIE1
RODAR
ROH CP / LDT1, CP /
LDT2
LDCP
PRUEBA WN
WN
LDFP
NUEVO JUEGO
GANA
R
CP / BP1, CP /
NUEVO
BP2
JUEGO
Figura 6-30
Estado-mquina de control Diagrama de PIG
MORIR
3-bit 1-a-6
Mostrador
ENDI ES R REINICIAR
0000
De binario a LED re
7 bits Ripple
llevar a Adder Die puntos Decoder D = 1 Comparador DIE1
SUR
LDSU ES re Die Dot Display
Carga paralela Reg
Con la
sincronizacin
RSSU R de reinicio
Binario a BCD
Convertidor de
cdigo 7 bits Ripple 7 bits Ripple
llevar a Adder llevar a Adder
LDCPCP
D0 D1
CP S 7-Bit 2-a-1 MUX FP MUX ES CP
LDFP ES FP 1 re
0
REINICI re S
re AR R
WN CPFI
Registros de
control
Figura 6-31
Datapath y registros de control para el
cerdo
384 CAPTULO 6 / registros y transferencias de registro
biblioteca IEEE;
utilizar ieee.std_logic_1164.all;
entidad srg_4_r es
Puerto(CLK, RESET, SI: en std_logic;
Q: Fuera std_logic_vector (3 downto
0); SO: a cabo std_logic);
fin srg_4_r;
Figura 6-32
Conductual VHDL Descripcin de 4-Bit Shift Left Registre con restablecimiento directa
biblioteca IEEE;
utilizar ieee.std_logic_1164.all;
utilizar ieee.std_logic_unsigned.all;
entidad count_4_r es
Puerto(CLK, RESET, EN: en std_logic;
Q: Fuera std_logic_vector (3 downto
0); CO: std_logic a cabo);
fin count_4_r;
Figura 6-33
Conductual VHDL Descripcin de 4-bit del contador binario con restablecimiento
directa
reg[3: 0] Q;
asignar SO = Q [3];
Figura 6-34
Conductual Verilog Descripcin de 4-Bit Shift Left Registre con restablecimiento directa
antes del proceso que realiza el cambio es una instruccin de asignacin continua que
asigna el contenido del bit ms a la izquierda deQ a la seal de salida de desplazamiento
ASI QUE.
reg [3: 0] Q;
Figura 6-35
Conductual Verilog Descripcin de 4-bit del contador binario con
restablecimiento directa
388 CAPTULO 6 / registros y transferencias de registro
Controlar
entradas Seales de estado de ruta de datos
Siguiente Direccin
generador
secuenciador
Control de
registro de
direcciones
direccin de control
Direccin
memori
a de
control
(ROM)
Datos
registro de datos de
control
(opcional)
microinstruccin
Figura 6-36
Organizacin Unidad de Control microprogrammed
ReFERENCIAS
1. Clare, CR Diseo de Sistemas Lgicos El uso de Mquinas de Estado. Nueva York:
McGraw-Hill, 1973.
2. Manual del Estndar IEEE VHDL Referencia del lenguaje (ANSI / IEEE Std 1076-
1993; revisin de IEEE Std 1076-1987). Nueva York: El Instituto de Ingenieros
Elctricos y Electrnicos, 1994.
3. Norma IEEE lenguaje de descripcin de la base de la VerilogTM Descripcin del
hardware Idioma (IEEE Std 1364-1995). Nueva York: El Instituto de Ingenieros
Elctricos y Electrnicos, 1995.
4. Mano, MM Diseo Digital, 3 ed. Englewood Cliffs, NJ: Prentice Hall, 2002.
5. Thomas, DE y PR Moorby. El hardware Verilog lenguaje de descripcin, 5 ed.
Nueva York: Springer, 2002.
6. Wakerly, JF Diseo Digital: Principios y Prcticas, 4 ed. Upper Saddle River,
Nueva Jersey: Prentice Hall, 2006.
pagPROBLEMAS
El signo ms (+) Indica un problema ms avanzada y el asterisco (*) indica que una
solucin est disponible en el sitio web complementario para el texto.
6-1. Supongamos que registra R1 y R2 en la Figura 6-6 almacenar dos nmeros sin signo.
Cuando de seleccin de entrada X es igual a 1, el circuito sumador-restador realiza
la operacin aritmtica R1+ 2s complemento de R2.Esta suma y el acarreo de
salida Cn se transfieren a R1 y C cuando K1 = 1 y un borde positivo se produce en
el reloj.
(a) Demostrar que si C= 1, entonces el valor transferido a R1 es igual a R1 - R2,
pero si C = 0, el valor transferido a R1 es el complemento 2s de R2 - R1.
(b) Indicar cmo el valor en el bit C se puede utilizar para detectar un acarreo
despus de la resta de dos nmeros sin signo.
(c) De qu manera el comportamiento del cambio de bit C si se cumplen
firmado R1 y R2 2s complementan los nmeros?
6-2. * Realizar la lgica bit a bit AND, OR, y XOR de los dos operandos de 8 bits
10011001 y 11000011.
6-3. Teniendo en cuenta el operando de 16 bits 10101100 01010011, qu operacin debe
llevarse a cabo y qu operando debe ser utilizado:
(a) borrar todas las posiciones de los bits impares a 0? (Asumir posiciones de bits
son 15 a travs de 0 de izquierda a derecha).
(b) establecer los ms a la derecha de 4 bits a 1?
(c) complementar los 8 bits ms significativos?
6-4. * A partir del operando de 8 bits 11001010, muestran los valores obtenidos despus
de aplicar cada turno microoperacin dada en la Tabla 6-5.
392 CAPTULO 6 / registros y transferencias de registro
6-5. * Modificar el registro de la figura 6-11 de manera que funcionar de acuerdo con la
siguiente tabla de funcin, el uso de entradas de seleccin de modo S1 y S0:
Register
S1 S0 Operacin
0 0 Ningn cambio
Cargar datos en
0 1 paralelo
Desviacin a la
izquierda (hacia
1 0 abajo)
1 1 Borrar registro a 0
6-12. (un)Usando el contador binario sncrono de la figura 6-14 y una puerta AND,
construir un contador que cuenta entre 0000 y 1010.
(b) Repita para un recuento de 0000 a 1110. minimizar el nmero de entradas a la
puerta AND.
6-13. El uso de dos contadores binarios del tipo mostrado en la figura 6-14 y puertas
lgicas, construir un contador binario que cuenta de decimal 11 a travs decimal
233. Adems, aadir una entrada y lgica adicional para el contador para
inicializarlo sincrnicamente a 11 cuando la seal de INIT es 1.
6-14. * Verificar las ecuaciones de entrada del flip-flop del contador BCD sincrnico
especificada en la Tabla 6-9. Dibuje el diagrama lgico del contador BCD con un
recuento de entrada de habilitacin.
6-15.* Uso flip-flops D y puertas para el diseo de un contador binario con cada una de
las siguientes secuencias binarias repetidas:
(un) 0, 1, 2 (segundo) 0, 1, 2, 3, 4, 5
6-16. Uso de tipo D flip-flops y compuertas para el diseo de un contador con la
siguiente secuencia binaria repetida: 0, 2, 1, 3, 4, 6, 5, 7.
6-17. Dibuje el diagrama lgico de un registro de 4 bits con entradas de seleccin de
modo S1 y S0. El registro es para ser operado de acuerdo con la tabla de
funciones a continuacin.
Register
S1 S0 Operacin
0 0 Ningn cambio
complemento de
0 1 salida
Cargar datos en
1 0 paralelo
1 1 Borrar registro a 0
6-20. Las salidas de los registros R0, R1, R2, y R3 estn conectados a travs de 4-a-1
multiplexores a las entradas de un quinto registro, R4. Cada registro es de 8 bits
de longitud. Las transferencias necesarias, segn lo dictado por cuatro variables de
control, son
do0: R4re R0
do1: R4re R1
do2: R4re R2
do3: R4re R3
Las variables de control son mutuamente excluyentes (es decir, slo una variable
puede ser igual a 1 en cualquier momento), mientras que los otros tres son igual a
0. Adems, no hay transferencia a R4 se va a producir para todas las variables de
control igual a 0. (a) el uso de registros y un multiplexor, dibujar un diagrama
lgico detallado del hardware que implementa un nico bit de estas transferencias
de registro. (B) Dibuje un diagrama lgico de la lgica simple que mapea las
variables de control como entradas a tres salidas: los dos seleccione variables para
el multiplexor y la seal de carga para el registro R4.
6-21. El uso de dos de 4 bits registros R1 y R2, un sumador de 4 bits, un multiplexor 2-a-
1, y un multiplexor 4-a-1, la construccin de un circuito que implementa las
siguientes operaciones bajo el control de las entradas de seleccin de tres
multiplexor y arrastre en la entrada de la vbora:
R1+ R2
R1- R2
R2- R1
R1- 1
- (R1 + 1)
0
-1
6-22. * El uso de dos de 4 bits registros R1 y R2, y las puertas AND, OR puertas, y los
inversores, dibujar una rebanada de bits del diagrama lgico que implementa
todas las siguientes afirmaciones:
do0: R2re 0 Claro R2 de forma sincronizada con el reloj
6-23. Una celda de registro es que ser diseado para un registro A de 8 bits que tiene las
siguientes funciones de transferencia de registros:
s
e
g
u
n
d
do0: UNre UN o
s
e
g
u
n
d
do1: UNre UN o
Encuentra lgica ptima usando AND, OR y NOT puertas para la entrada D al
flip-flop D en la clula.
6-24. Una celda de registro es que ser diseado para un 8-bit de registro R0 que tiene las
siguientes funciones de transferencia de registros:
S1 S0: R0re R0 R1
S1 S0: R0re R0 R1
S1 S0: R0re R0 R1
S1 S0: R0re R0 R1
Encuentra lgica ptima usando AND, OR y NOT puertas para la entrada D al
flip-flop D en la clula.
6-25. Una celda de registro es que ser diseado para el registro B, que tiene las siguientes
transferencias Registro:
S0: Bre segundo + UN
S1: Bre UN + 1
Comparte la lgica combinatoria entre las dos transferencias tanto como sea
posible.
6-26. La lgica para implementar las transferencias entre los tres registros, R0, R1, y R2,
es para ser implementado. Utilice los supuestos variables de control dados en el
problema 6-20. Las transferencias de registro son los siguientes:
California: R1re R0
CB: R0re R1, R2re R0
CC: R1re R2, R0re R2
El uso de registros y multiplexores dedicados, dibujar un diagrama lgico
detallado del hardware que implementa un solo bit de estas transferencias de
registro.
Dibuje un diagrama lgico de la lgica simple que convierte las variables de
control CA, CB, CC y como entradas a las salidas que son las entradas de
seleccin de los multiplexores y seales de carga para los registros.
6-27. * Se dan dos enunciados de transferencia de registro (de lo contrario, R1 es sin
cambios):
do1: R1re R1+ R2 Aadir R2 a R1
do1 C2: R1re R1+ 1 Incremento R1
396 CAPTULO 6 / registros y transferencias de registro
(a) El uso de un contador de 4 bits con carga paralela como en la figura 6-14 y un
sumador de 4 bits como en la figura 4-5, dibujar el diagrama lgico que
implementa estas transferencias de registro.
(b) Repita la parte (a) usando un sumador de 4 bits como en la figura 3-43, ms
puertas externas, segn sea necesario. Comparar con la ejecucin de la parte
(a).
6-28. Repita el problema 6-26 usando un bus basado en el multiplexor y una conexin
directa de un registro a otro en lugar de multiplexores dedicados.
6-29. (un)Implementar la funcin H= XY + XZ utilizando dos buffers de tres estados y un
inversor.
(a) Para cada registro de destino, una lista de todos los registros de origen.
(b) Para cada registro fuente, una lista de todos los registros de destino.
(c) Con la consideracin de cul de las transferencias debe ocurrir de forma
simultnea, lo que es el nmero mnimo de autobuses que se puede utilizar
para implementar el conjunto de transferencias? Supongamos que cada
registro tendr un nico bus como su entrada.
(d) Dibuje un diagrama de bloques del sistema, que muestra los registros y
autobuses y las conexiones entre ellos.
6-32. Las siguientes transferencias de registro son para ser ejecutado en, a lo sumo, dos
ciclos de reloj:
R0re R1
R5re R1
R6re R2
R7re R3
R8re R3
R9re R4
R10re R4
R11re R1
Problemas 397
R0re R1 R7re R1
R2re R3 R8re R4
R5re R6 R9re R3
Supongamos que un solo bus se puede conectar a una entrada de registro y que
cualquier red conectada a una entrada de registro se cuenta como un autobs.
6-34. * El contenido de un registro de 4 bits es inicialmente 0101. El registro se desplaza
ocho veces a la derecha, con la secuencia de 10110001 como la entrada en serie.
El bit ms a la izquierda de la secuencia se aplica primero. Cul es el contenido
del registro despus de cada turno?
6-35. * El sumador serial de la figura 6-24 utiliza dos registros de 4 bits. El registro A
contiene el nmero binario de 0111 y el registro B mantiene 0101. El flip-flop se
pone a 0. inicialmente una lista de los valores binarios en el registro A y el flip-
flop despus de cada uno de los cuatro turnos.
6-36. * Un diagrama de estado de un circuito secuencial se da en la figura 6-37. Encontrar
el diagrama de mquina de estado correspondiente usando una cantidad mnima
de notacin. Las entradas al circuito son X1 y X2, y las salidas son Z1 y Z2.
00, 01
S0
00
10, 11 01, 10
S1 01, 10, 11 S2
00 01 10
00, 11
Figura 6-37
Diagrama de estado para el
problema 6-36
398 CAPTULO 6 / registros y transferencias de registro
Por defecto: Z = 0
REINICIAR
W STA
XY
STB
Z
X, X Y
Z STC
Figura 6-38
Estado diagrama de la mquina para los problemas 6-37, 6-38, 6-43, 6-57, 6-58 y
W: 0 1 1 0 1 1 0 1
X: 1 1 0 1 0 1 0 1
Y: 0 1 0 1 0 1 0 1
Estado: STA
Z:
mientras que T =0, la luz verde est encendida por una seal y la luz roja para el
otro. con T=1, la luz amarilla est en para la seal que antes era verde, y la seal
que antes era roja permanece rojo. Cuando T se convierte en 0, la seal que antes
era amarilla se convierte en rojo, y la seal que antes era de color rojo se vuelve
verde. Este patrn de cambios en el color alternas contina. Supongamos que el
controlador es sncrona con un reloj que chang-es mucho ms frecuentemente que
T. entrada
6-43. * Implementar el diagrama de mquina de estado en la figura 6-38 mediante el uso
de un flip-flop por asignacin de estados.
6-44. Implementar el diagrama de mquina de estado derivada en el problema 6-40
mediante el uso de una asignacin de estado de cdigo Gray.
6-45. Hacer dos diseos para el circuito de morir por el Juego de PIG y comparar los
costos de compuertas de entrada de los dos diseos utilizando la informacin de la
figura 6-14. Tenga en cuenta que la descripcin de transferencia de registros de
DIE es:
si (Reset) DIE re 000 persona
si (END1) (si (DIE = 110) DIE re 001 DIE dems re MORIR + 1)
(a) Realizar el diseo mediante el uso de la tcnica dada para el diseo contador
BCD en la figura 6-15.
(b) Realizar el diseo mediante el uso de un diagrama de estado y hacer un diseo
de circuito personalizado con el siguiente estado para el estado 111 un estado
de no importa.
6-46. Disear los siguientes circuitos combinatorios para el juego del PIG camino de
datos dada en la Figura 6-31:
(a) re = 1 comparador.
(b) re 1100100 comparador.
Uso y puertas, puertas OR, y los inversores. Suponga que la puerta mximo fan-in
es de cuatro.
6-47. Disear el convertidor de cdigo de binario a BCD de 2 dgitos en el camino de
datos para el Juego de cerdo. Disear el dgito menos significativo en funcin de
(B3, B2, B1, B0) sin un acarreo C0 entrante. Las salidas son para ser C4, D 3, D
2, D1, D0. Disear el mismo circuito con un carry C0 entrante fija a 1. Por el
dgito ms significativo combinar los resultados de estos dos diseos para manejar
el caso real en el que el entrante carry C0 puede ser tanto 0 y 1. Minimizar el
resultado combinado para la mayor dgito significativo.
6-48. (un)Mostrar los detalles de un registro de entrada de las restricciones dadas en
condiciones de transicin tal como se aplica a la figura 6-30.
(b) Implementar el diagrama de mquina de estado para el Juego de PIG en la
figura 6-30 usando un UNO-calientes asignacin flip-flops D estado, y
puertas.
6-49. + Encontrar el diagrama de mquina de estado en la forma de la figura 6-29 para
un juego de PIG utilizando dos dados. Adems, agregue la siguiente regla: Si se
rueda un par de 1s, a continuacin,
Problemas 401
Todos los archivos se hace referencia en los problemas restantes estn disponibles en
formato ASCII para sim ulacin y edicin en el sitio Web Companion para el texto. A
VHDL o Verilog compilador / simulador es necesario para los problemas o porciones de
los problemas que solicitan simulacin. Descripciones todava pueden ser escritos, sin
embargo, para muchos problemas sin necesidad de utilizar la compilacin o la
simulacin.
6-51. Escribir una descripcin Verilog para el contador binario de 4 bits en la figura 6-13
(a) el uso de un registro de los flip-flops D y ecuaciones booleanas para la lgica.
Compilar y simular su descripcin para demostrar la correccin.
6-52. * Escribir una descripcin VHDL del comportamiento para el registro de 4 bits en
la figura 6-1 (a). Compilar y simular su descripcin para demostrar la correccin.
6-53. Repetir el problema 6-52 para el registro de 4 bits con carga paralela en la Figura
6-2.
6-54. Escribir una descripcin VHDL para el contador binario de 4 bits en la figura 6-13
(a), usando un registro de los flip-flops D y ecuaciones booleanas para la lgica.
Compilar y simular su descripcin para demostrar la correccin.
6-55. * Escribir una descripcin del comportamiento Verilog para el registro de 4 bits en
la figura 6-1 (a). Compilar y simular su descripcin para demostrar la correccin.
6-56. Repetir el problema 6-55 para el registro de 4 bits con carga paralela en la Figura
6-2.
6-57. * Escribir, compilar, y simular una descripcin VHDL para el diagrama de mquina
de estado se muestra en la figura 6-38. Utilice una entrada de simulacin que pasa
a travs de todos los caminos en el diagrama de mquina de estado, e incluyen
tanto el estado y la salida Z como salidas de simulacin. Corregir y resimulate su
diseo si es necesario.
402 CAPTULO 6 / registros y transferencias de registro
7
Fundamentos de
memoria
403
CAPTULO 7 / Conceptos bsicos
404 de memoria
Figura 7-1
Diagrama de bloques de la Memoria
Direccin de memoria
Contenidos de la
Binario Decimal memoria
Figura 7-2
Contenido de un 1024 * 16
memoria
CAPTULO 7 / Conceptos bsicos
406 de memoria
nmero de palabras que puede ser almacenada y es independiente del nmero de bits en
cada palabra. El nmero de bits en la direccin de una palabra se determina a partir de la
relacin 2k-nave m, donde m es el nmero total de palabras y k es el nmero mnimo de
bits de direccin que satisfacen la relacin.
Los pasos que se deben tomar para una escritura son las siguientes:
1. Aplicar la direccin binaria de la palabra deseada a las lneas de direccin.
2. Aplicar los bits de datos que se deben almacenar en la memoria de las lneas de
entrada de datos.
3. Active la entrada de escritura.
La unidad de memoria tomar entonces los bits de las lneas de entrada de datos y
almacenarlos en el canal especificado en las lneas de direccin.
Los pasos que se deben tomar para una lectura son las siguientes:
1. Aplicar la direccin binaria de la palabra deseada a las lneas de direccin.
2. Active la entrada de lectura.
La memoria tomar entonces los bits de la palabra que ha sido seleccionada por la
direccin y aplicarlos a las lneas de salida de datos. El contenido de la palabra
seleccionada no se cambian mediante la lectura de ellos.
La memoria se compone de circuitos integrados (chips de memoria RAM), adems
de los circuitos lgicos adicionales. chips de RAM suelen proporcionar las dos entradas
de control para la lectura y escritura de pera-ciones en una configuracin algo diferente
de la que acaba de describirse. En lugar de tener separada leer y escribir entradas para el
control de las dos operaciones, circuitos ms integrados ofrecen al menos una de
Seleccin de Chip que selecciona el chip para leer o escribir en l, y una lectura /
escritura que determina la operacin en particular. Las operaciones de memoria que
resultan de estas entradas de control se muestran en la Tabla 7-1.
Tabla 7-1
Entradas de control a un chip de memoria
Seleccin de Leer
Chip escribir
CS R/W Operacin de memoria
0 * Ninguna
Escribir en la palabra
1 0 seleccionada
1 1 Leer de palabra seleccionada