Documente Academic
Documente Profesional
Documente Cultură
Descripcin con cartas ASM: la construccin de cartas ASM; la carta de datos y la de control.
El uso de la calculadora.
Manuel Valencia
D Diseo de sistemas digitales: organizacin Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexin va buses; realizacin de la unidad
de datos. Un ejemplo: calculadora; desarrollo de la calculadora a nivel RT.
Bibliografa bsica
**
**
C. Baena, I. Gmez, J.I. Escudero, M. Valencia: Sistemas Digitales. Servicio de publicaciones del Dpto.
Tecnologa Electrnica, 1997. Cap. 1 y 2
C. Baena, M.J. Bellido, A. J. Molina, M.P. Parra, M. Valencia: Problemas de Circuitos y Sistemas Digitales. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.
EC
10/March/09
Palabras de datos
0, 1
Nivel/Lenguaje
De conmutacin
RT (Register Transfer)
Funcionalidad
Instrucciones: Operaciones
Componentes
Puertas y biestables
Conexin
x1
Circuito
Combinacional
Buses
Lneas (cables)
Combinacional y
almacenamiento (memoria)
Organizacin
xn
SISTEMAS
Procesado de datos
y control
XIN
z1
zk
Unidad de
Control
reloj
X
y1
B1
DIN
yr
Br
Z
Unidad de
Procesado
DOUT
reloj
ZOUT
EC
Micro-operacin o op:
Es cada tarea que el sistema realiza en un nico ciclo de reloj
En general consiste en una o varias transferencias entre registros (RT).
EC
EC
Como documentacin
QU DESCRIBIR
Estructura de la Unidad de Datos
F Componentes secuenciales (registros), llamados tambin de memoria
F Componentes combinacionales, llamados tambin unidades funcionales o
recursos de clculo
F Componentes de conexin (buses)
Microprograma de control
Estructura del controlador
FORMAS DE DESCRIPCIN:
Grficas
F Orientadas al nivel estructural: dibujos/diagramas de circuitos
F Orientadas al nivel funcional: cartas ASM (Algorithmic State Machine)
HDL: Hardware Description Language
EC
Especificacin inicial:
B A+B
B -A + B
A A-B
A -A - B
B A-B
B -A - B
U. PROCESADO
CONTROL
A
B
IR[3]
Usuario
Dpto. Tecnologa Electrnica
FIN
EC
Sistema
Nivel RT Datos y Control - 6
EC
Operacin
Notacin RT
Carga en paralelo
Desplazamiento a dcha.
Desplazamiento a izda.
Incremento (Decremento)
Puesta a 0 ( a 1)
Inhibicin (NOP)
DIN
An-1 Dr , Ai Ai+1 in-1 ; A ShR(A,Dr)
A0 Dl , Ai Ai-1 i0 ; A ShL(A,Dl)
A A+1
(A A-1)
A0
(A 1...1)
AA
De control
Operacin
Carga en paralelo
Desplazamiento a dcha. / izda.
Incrementa / Decrementa
Puesta a 0 / 1
Inhibicin
Lectura
De lectura
Seal de control
W (T, L)
SR / SL
I/D
CL (Z) / S
Ninguna activa
R
Incondicional:
Condicional
Dout = A
R=1:
R=0:
Dout = A
Dout = HI
EC
Dout = A
Outa = A3
Cero = 0 si A0
1 si A=0
A G(B, C, ...)
Operacin RT
Condicin de ejecucin
COMPONENTES DE MEMORIA:
UD: Registros A, B C
Funciones: Escritura en A y Lectura de B yC
COMPONENTES COMBINACIONALES:
Para implementar funciones:
En UD: el procesado de datos G(B, C, ...)
En UC: la condicin de control, f(x)
COMPONENTES DE CONEXIN:
Caminos fsicos y lgicos para el flujo de datos desde cada registro fuente al de destino:
Lneas de conexin (buses)
Circuitos combinacionales
ADEMS, LA UC:
Establece la secuencia de Ops
Genera las seales de control en UD
Dpto. Tecnologa Electrnica
EC
DATOS
R
Evala f(x)
Genera seales de
control
Establece secuencia
de RT
B
Circuito
Combinacional
que realiza
RB
C
WA
G(B, C, ...)
CK
EC
Ciclo K
A G(B, C, ...)
f(x):
Evala f(x)
Genera seales
de control
Establece
secuencia de RT
DATOS
B
Circuito
Combinacional
que realiza
G(B, C, ...)
RB
WA
C0
W
CK
ciclo K
ciclo K-1
ciclo K+1
Ck:
WA:
RB:
Sal B:
Sal G:
A:
HI
B0
???
HI
???
G(B0, C0, ...)
A0
EC
Ciclo K
A G(B, C, ...)
f(x):
Evala f(x)
Genera seales
de control
Establece
secuencia de RT
DATOS
B
Circuito
Combinacional
que realiza
G(B, C, ...)
RB
WA
C0
W
CK
f(x):
Ck:
WA:
RB:
Sal B:
Sal G:
A:
HI
B0
G(B0, C0, ...)
???
???
G(B0, C0, ...)
A0
HI
EC
Registros
Entradas
Bloque de
Interconexin
Salidas
Unidades
Funcionales
EC
BUS
B0
B1
B[n] = B0:n-1
Bn-1
B[n] = B0:n-1
Tipos de Buses
Unidireccional
Fuente
Estndar (0, 1)
Salida
estndar
Destino
Bidireccional
Fu / De
Dedicados
Compartidos
De / Fu
Buffer
3-state
EC
Bus
Dato
WA = 1
Bus
Bus 0
Bus 1
Bus 2
Bus 3
S1
S0
Dato
1
0
0 1
2 3
WA = 1
WA = 1
1
1
0
1
1
2
3
EC
R3
Varios Buses
Bus nico
A3
R2
A2
R1
A1
A
Como mximo, una seal Rj activa
P. ej. R1R2R3 = 0 1 0 para
Bus = [A2]
EC
Se dispone de 4 registros [n], A3, A2, A1, A0, con carga en paralelo (W3, W2, W1, W0)
Hay que realizar la conexin para la trasnferencia AF AD, con F, D {0, 1, 2, 3}
La seleccin de Fuente est dada por F1F0 y la de Destino, por D1D0.
Ejemplo, AD = A1 (D=1)
D1D0 = 0 1
D1
D0
DEC
2:4 3
1
2
1
0
0
0
0
0
1
[AF]
A0
A1
A2
A3
EC
D1
D0
Ejemplo, A3 A1
AD = A1
DEC
2:4 3
1
2
1
0
0
AF = A3; F1F0 = 1 1
1
A0
0
A1
0
A2
A3
[A3]
1
1
F1
F0
1
0
n x MUX 4 : 1
EC
D1
D0
Ejemplo, A3 A1
DEC
2:4 3
1
2
1
0
0
1
1
F1
F0
DEC
2:4 0
1
1
2
0
3
0
0
0
1
A0
0
A1
0
A2
A
R 3
n
[A3]
EC
D1
D0
Ejemplo, A3 A1
DEC
2:4 3
1
2
1
0
0
1
A0
0
1
1
F1
F0
0
A1
0
A2
A
R 3
DEC
2:4 0
1
1
2
0
3
EC
Entradas
Reg
Reg
Salidas
Bloque de
Interconexin
Unidad
Funcional
Reg
COMPONENTES
Unidad
Funcional
EC
Los registros visibles son los nicos que el usuario necesita conocer.
EC
Data Path
Din [n]
xr
WA
SRA
Pin
DA[n]
CD
D in
q
xr
WB
SRB
ai
Ci+1
Pin
DB[n]
Start
CNT mod. n
Cy
bi
FA Ci
si
SRS
Cy
CL
UP
xr
SUM[n]
Control Unit
EC
End
Ck
Ck
R2
Rk
ALU
.
.
.
Ck
RT
Ck
ACC
EC
.
.
.
Ck
Ck
R1
Ck
Ck
R2
Rk
ALU
B2
EC
ALU
Ck
R1
Ck
R2
Ck
Rk
EC
Cada macro-operacin
Op RT2
Secuencia de
micro-operaciones
Op RTN
Cambios en la arquitectura bsica de la unidad de datos para que ejecute todas las
micro-operaciones.
EC
Todo de n bits
T
Estructural
WT
b
ab
RA
WA
Funcional
RB
WB
RAC
WAC
ZAC
UNIDAD DE PROCESADO
RA WA RB
s
r
[AC]
AC
RA
WA
WB WT
RA WA
V=
AA
V = HI
AV
V = DIN
AA
V = [A]
Prohibida
(del controlador)
EC
T0
C0,
T1
B , CAC+T
T2
CAC+T
CAC-T
T3
OP
()+
()+
()
()
T0
C0,
T1
B , CAC-T
T2
T3
CAC+T
C
CAC-T
C
EC
EC
El uso de la calculadora.
Manuel Valencia
Bibliografa bsica
**
**
C. Baena, I. Gmez, J.I. Escudero, M. Valencia: Sistemas Digitales. Servicio de publicaciones del Dpto.
Tecnologa Electrnica, 1997. Cap. 1 y 2
C. Baena, M.J. Bellido, A. J. Molina, M.P. Parra, M. Valencia: Problemas de Circuitos y Sistemas Digitales. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.
EC
19/February/09
CARTAS ASM
CARTA ASM: DEFINICIONES
Caja de Estado
Camino de
entrada
Caja de Decisin
Camino de entrada
Smbolo
S de estado
Acciones
bbb
Cdigo binario
No
Condicin
Camino
de salida
Camino
de salida
Camino
de salida
Uniones de caminos:
Camino de salida
EC
CARTAS ASM
Bloque ASM
Un camino de entrada
Una y slo una
caja de estados
Carta ASM
Nmero variable
de cajas de decisin o
de accin condicional
Grafo orientado
y cerrado
que interconecta
bloques ASM
...
...
...
Nmero variable de caminos de salida
...
EC
CARTAS ASM
Contador ascendente md. 8
Binario(G=0)/Gray(G=1)
Moore
z0
1
G
0
z1
G
0
z1 z0
G
0
z2
1
G
0
z2 z0
G
0
z2 z1
z2 z1 z0
G
1
0
EC
CARTAS ASM
Contador ascendente md. 8
Binario(G=0)/Gray(G=1)
Moore
Mealy
z0
z1
z0
0
1
1
z0
G
0
z1
z1
0
G
0
z1 z0
G
z0
z2
1
1
z1
0
z2
z2 z0
0
z2 z0
G
1
z1
z2
0
0
z2 z1
z1
z0
z2 z1 z0
G
z2
1
z1 z0
EC
CARTAS ASM
Mquina expendedora
Carta ASM
ESPECIFICACIN
R
s1
s0
A
C
CK
s1 s0
Moneda
0
0
1
1
Ninguna
1
2
5
0
1
0
1
0
5
11 s s 00
1 0
C, A
10
01
Producto de valor 4 .
R causa directamente el retorno de las monedas (el controlador no tiene que activar C).
0
10 s s 00
1 0
01
00 s s = 00
1 0
0
01 s s 00
1 0
10
EC
CARTAS ASM
Errores comunes en la construccin de cartas ASM
Cartas con error
Prximo estado
sin determinar
1 x 0
C
A
0 x 1
1 y 0
A
xy
A
1
1
x 1 0 y
0 x 1
1 x 0
B
x+y
D
B
EC
CARTAS ASM
Consideraciones temporales
SISTEMA
RA
CONTROL
RA
WM
WN
SK
WM
M
WN
FORMAS DE ONDA
X 1
X 1
NA
SK+1
Ck
S
SK RA,WM
M
0
CK
DATOS
SK
SK-1
WN
SK+1
....
....
SK+1
X
RA
[A] = A0
WM
WN
[M]
M0
M0
A0
[N]
N0
N0
A0
EC
CARTAS ASM
Inicio y Fin de operacin
NOP
S0
XS
1
Carta ASM
del
ejemplo
SF
Puede ser un
estado til o una
accin condicional
FIN
EC
CARTAS ASM
Carta ASM de la Calculadora: de Datos
OP
IR2:0
q2q1q0=000
A A+B
A+B
A A -B
A -B
A -A+B
-A+B
A -A -B
-A -B
000
001
010
011
100
101
110
111
S1
q2q1q0=010
S2
B , CAC+T
CAC-T
IR1
CAC+T
q2q1q0=100
C
q2q1q0=101
EC
CAC-T
S4
CAC-T
C
IR2
S3
CAC+T
C0,
CAC+T
C0,
Xs
1
q2q1q0=001
q2q1q0=011
OP
S0
IR0
SF
CARTAS ASM
Carta ASM de la Calculadora: de Control
q2q1q0=000
q2q1q0=000
S0
0
S0
0
Xs
Xs
q2q1q0=001
S1
q2q1q0=010
S2
C0,
CAC+T
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB
0
CAC-T
WAC
0
CAC-T
q2q1q0=100
IR0
1
r
RAC
S4
IR0
q2q1q0=101
EC
SF
1
WB
WA
SF
IR1
S4
0
1
r
S3
IR1
IR2
q2q1q0=011
CAC+T
q2q1q0=101
S1
IR2
S3
0
q2q1q0=100
q2q1q0=001
B
0
q2q1q0=011
FIN
CARTAS ASM
HDL bsico (FSMD:Finite State Machine with Data path)
FORMATO GENERAL:
Acciones
condiciones
op actual
f0(x)
f1(x)
... ... ...
fk(x)
T0/z0
T1/z1
N0
N1
Tk/zk
Nk
prxima op
CASOS PARTICULARES:
N
fi(x)
Ti/zi
[N+1]
NOP
Nk
f(x)
f(x)
T0/z0
T1/z1
N0
N1
NOP
Nk
EC
CARTAS ASM
RELACIN ENTRE CARTAS ASM Y HDL
Tipo Moore
M
4
Tipo Mealy
0
4
P
5
EC
M/P
M/N
CARTAS ASM
HDL de la Calculadora
q2q1q0=000
000
S0
0
Xs
000
Xs
001
001
ZAC/WT/RA
010
010
IR2
WT/RB/WAC/s
011
IR2
WT/RB/WAC/r
011
IR1
WAC/s
100
IR1
WAC/r
100
IR0
RAC/WA
101
IR0
RAC/WB
101
FIN
000
Xs
1
q2q1q0=001
S1
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB
0
IR2
1
r
q2q1q0=011
WAC
S3
011
0
IR1
q2q1q0=100
100
RAC
S4
0
IR0
1
WB
WA
101
q2q1q0=101
SF
FIN
EC
Diseo de una calculadora: organizacin Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexin va buses; realizacin de la unidad de datos; desarrollo de la calculadora a nivel
RT.
Descripcin con cartas ASM: la construccin de cartas ASM; la carta de datos y la de control.
El uso de la calculadora.
Bibliografa bsica
**
**
C. Baena, I. Gmez, J.I. Escudero, M. Valencia: Sistemas Digitales. Servicio de publicaciones del Dpto.
Tecnologa Electrnica, 1997. Cap. 1 y 2
C. Baena, M.J. Bellido, A. J. Molina, M.P. Parra, M. Valencia: Problemas de Circuitos y Sistemas Digitales. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.
19/2/09
Manuel Valencia
Contenido:
UNIDAD DE CONTROL
Generalidades
Objetivo: Disear la Unidad de control
El punto de partida es el microprograma, bien como carta ASM, bien en HDL
Nuestro inters: automatizar proceso de diseo y lograr buen circuito.
Tcnicas:
CSS estndar, con biestables y puertas (Random logic): Proceso clsico para CSS
Con 1 biestable por estado
Control Microprogramado en ROM o PLA (firmware)
Comparacin:
Tcnica
CSS estndar
1 biestable por estado
Firmware
Proceso diseo
Prestaciones
Repetibilidad
Complejo
Muy sencillo
Sencillo
Muy buenas
Buenas, pero mejorables
Regulares
Compleja
Algo compleja
Fcil
EC
Unidad de Control - 2
UNIDAD DE CONTROL
Calculadora: Carta ASM y HDL
CARTA ASM DE LA CALCULADORA
q2q1q0=000
HDL DE LA CALCULADORA
000
S0
0
Xs
000
Xs
001
001
ZAC/WT/RA
010
010
IR2
WT/RB/WAC/s
011
IR2
WT/RB/WAC/r
011
IR1
WAC/s
100
IR1
WAC/r
100
IR0
RAC/WA
101
IR0
RAC/WB
101
FIN
000
Xs
1
q2q1q0=001
S1
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB
0
IR2
1
r
q2q1q0=011
WAC
S3
0
IR1
q2q1q0=100
RAC
S4
0
IR0
WA
q2q1q0=101
011
100
1
WB
101
SF
EC
Unidad de Control - 3
UNIDAD DE CONTROL
1 biestable por estado
Los estados tienen codificacin one-hot, salvo el de espera que tiene cdigo 00...0:
op
1
2
3
4
q1q2q3q4...
1 0 0 0...
0 1 0 0...
0 0 1 0...
0 0 0 1...
Una visin intuitiva: con xS se introduce un 1 en el biestable de op1 y ese 1 va circulando conforme se pasa de una op a otra
Se puede automatizar el paso desde carta ASM al circuito
m
m
Sk
ASM
0
v0
m
Circuito
D K
m0
1
v1
Clk
m0
qk
>1
v
m1
v1
EC
mp
B
Sk
v0
v
m1
>1
B
mp
Unidad de Control - 4
UNIDAD DE CONTROL
CARTA ASM DE LA CALCULADORA
q5-q1=0...0
S0
0
Xs
>1
1
q1=1
S1
ZAC, WT, RA
q2=1
S2
WAC, WT, RB
0
IR2
WT
1
D q
2
D q
3
D q
Clk
WAC
S3
0
IR1
RA ZAC
RB
RAC
F(5)
D q
4
D q
FIN
IR2
q4=1
WAC
WAC
q3=1
Xs
WT WAC
WT
r s
IR1
r s
IR0 WBWA
RAC
S4
>1
0
IR0
r
WB
WA
>1
s
q5=1
SF
FIN
EC
Unidad de Control - 5
UNIDAD DE CONTROL
Control microprogramado (firmware)
Unidad de control
ROM/PLA
f0(x) T0/z0
f1(x) T1/z1
... ... ...
fk(x) Tk/zk
Cualificadores
x
N0
N1
Salidas
Entradas
Prxima
op
Salidas
de control
zk
Nk
Nk
N+
Reg
El valor de N y fk(x)
dan la direccin de
entrada en cuya palabra
N = [Reg]: actual op
estn escritas Nk y zk
Comandos
EC
Unidad de Control - 6
UNIDAD DE CONTROL
CONTROL CON PLA
q2q1q0
S0
000
0
ZAC, WT, RA
q2q1q0=010
S2
WAC, WT, RB
0
IR2
000
Xs
NOP
001
Xsq2q1q0
001
ZAC/WT/RA
010
q2q1q0
010
IR2
WT/RB/WAC/s 011
IR2q2q1q0
Q1Q0, WT/RB/WAC/s
IR2
WT/RB/WAC/r 011
IR2q2q1q0
Q1Q0, WT/RB/WAC/r
IR1
WAC/s
100
IR1q2q1q0
Q2, WAC/s
IR1
WAC/r
100
IR1q2q1q0
Q2, WAC/r
IR0
RAC/WA
101
IR0q2q1q0
Q2Q0, RAC/WA
IR0
RAC/WB
101
IR0q2q1q0
Q2Q0, RAC/WB
FIN
000
q2q1q0
q2q1q0=011
011
IR1
Q1, ZAC/WT/RA
RAC
S4
0
WA
IR0
100
1
WB
101
q2q1q0=101
Q0
WAC
S3
0
q2q1q0=100
Salidas afectadas
NOP
1
S1
Trmino P
Xs
Xs
q2q1q0=001
Q2Q1Q0
SF
EC
FIN
Unidad de Control - 7
UNIDAD DE CONTROL
PERSONALIZACIN DEL PLA
Trminos P Salidas afectadas (D=Q)
Xsq2q1q0
q2q1q0
Plano AND
Plano OR
Q0
Xsq2q1q0
Q1, ZAC/WT/RA
q2q1q0
IR2q2q1q0
Q1Q0, WT/RB/WAC/s
IR2q2q1q0
IR2q2q1q0
Q1Q0, WT/RB/WAC/r
IR2q2q1q0
IR1q2q1q0
Q2, WAC/s
IR1q2q1q0
IR1q2q1q0
Q2, WAC/r
IR0q2q1q0
Q2Q0, RAC/WA
IR0q2q1q0
Q2Q0, RAC/WB
q2q1q0
IR1q2q1q0
IR0q2q1q0
IR0q2q1q0
q2q1q0
FIN
Xs
IR2
IR1
0
D q
IR0
1
D q
2
D q
q1 q0
q2
Clk
FIN WB
EC
ZAC
WT
RA
RB
WAC
s
r
RAC
WA
Unidad de Control - 8
UNIDAD DE CONTROL
DISEO CON ROM
A2A1A0 A3
q2q1q0
000
Salidas
Salidas
Xs
D2D1D0
IR2
IR1
IR0
Q2Q1Q0
Xs
000
Xs
001
001
ZAC/WT/RA
010
010
0
1
2
3
4
5
6
7
100
101
IR1 WAC/s
100
IR1 WAC/r
100
IR0 RAC/WA
101
IR0 RAC/WB
101
000
FIN
E
3
2
1
0
Salidas [14]
D2D1D0
ROM 24x14
0
D q
1
D q
ZAC
WT
RA
RB
WAC
s
r
RAC
WA
WB
FIN
2
D q
Clk
0000
00
0000
0000
0000
1000
00
1000
0000
0000
0001
01
0111
0000
0000
1001
01
0111
0000
0000
EC
Unidad de Control - 9
UNIDAD DE CONTROL
Contenidos de la ROM
$A={A3A2A1A0}
$H3={D2D1}
$H2={D0 ZAC WT RA}
$H1={RB WAC s r}
$H0={RAC WA WB FIN}
$A
$H3H2H1H0
0000
1700
1AE0
2060
280C
0001
(0000)
(0000)
0800
1700
1AD0
2050
280A
0001
(0000)
(0000)
EC
(Ejemplos Anteriores)
Unidad de Control - 10
Descripcin con cartas ASM: la construccin de cartas ASM; la carta de datos y la de control.
Manuel Valencia
D El uso de la calculadora.
Bibliografa bsica
**
**
C. Baena, I. Gmez, J.I. Escudero, M. Valencia: Sistemas Digitales. Servicio de publicaciones del Dpto.
Tecnologa Electrnica, 1997. Cap. 1 y 2
C. Baena, M.J. Bellido, A. J. Molina, M.P. Parra, M. Valencia: Problemas de Circuitos y Sistemas Digitales. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.
EC
19 / February / 09
USO DE LA CALCULADORA
Problema a resolver con la Calculadora:
Programa a ejecutar:
Valores en A/B
A
B
Valores iniciales:
A0
B0
Instruccin 1 : B A-B
A0
A0-B0
Instruccin 2 : B A+B
A0
2A0-B0
Instruccin 3 : A A+B
3A0-B0
EC
2A0-B0
USO DE LA CALCULADORA
XS
XS
XS
EC