EC: Sistemas digitales a nivel RT REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT Contenido: D Descripción con cartas ASM
Views 26 Downloads 0 File size 1MB
EC: Sistemas digitales a nivel RT REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT Contenido:
D
Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.
D
Diseño de la unidad de control: mediante un biestable por estado. Control microprogramado.
D
El uso de la calculadora.
Manuel Valencia
D Diseño de sistemas digitales: organización Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexión vía buses; realización de la unidad de datos. Un ejemplo: calculadora; desarrollo de la calculadora a nivel RT.
Bibliografía básica ** **
C. Baena, I. Gómez, J.I. Escudero, M. Valencia: “Sistemas Digitales”. Servicio de publicaciones del Dpto. Tecnología Electrónica, 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.
Dpto. Tecnología Electrónica
EC
/ /2014
NIVEL RT: DATOS Y CONTROL CIRCUITOS VERSUS SISTEMAS CIRCUITOS Información
Palabras de datos
0, 1
Nivel/Lenguaje
RT (Register Transfer)
De conmutación
Funcionalidad
Máquina de estados finitos
Instrucciones: Operaciones
Componentes
Puertas y biestables
MUX, ALU, ..., registros, ...
Conexión
x1 Circuito Combinacional
Buses
Líneas (cables)
Organización
xn
SISTEMAS
Combinacional y almacenamiento (memoria)
Procesado de datos y control XIN
z1 zk
reloj y1
yr
B1
DIN
Br
X
ZOUT
Z Unidad de Procesado
DOUT
X : cualificadores o entradas de control Z : comandos o salidas de control D: datos
reloj
Dpto. Tecnología Electrónica
Unidad de Control
EC
Nivel RT Datos y Control - 2
NIVEL RT: DATOS Y CONTROL MACRO Y MICRO OPERACIONES ∗ Macro-operación: También llamada instrucción • Es cada tarea que especifica previamente el usuario y que el sistema realiza automáticamente • En general el sistema tarda varios ciclos de reloj en su ejecución.
∗ Micro-operación 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).
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 3
NIVEL RT: DATOS Y CONTROL EJEMPLO DE SISTEMA DIGITAL •
Especificación inicial:
CALCULADORA DE SUMAS Y RESTAS: Cualquier posibilidad de suma o resta entre dos datos, A y B, y de almacenar el resultado en el registro que ocupaba uno de ellos •
Conjunto de instrucciones (ISP: Instruction Set Processor). Hay 8, que son: •A← A+B • A ← -A + B
•
•B← A+B • B ← -A + B
•A← A-B • A ← -A - B
•B← A-B • B ← -A - B
Organización del sistema XS
U. PROCESADO CONTROL
Z
A B
IR[3]
Usuario Dpto. Tecnología Electrónica
FIN
EC
Sistema Nivel RT Datos y Control - 4
NIVEL RT: DATOS Y CONTROL •
Modo de operación de calculadora ÍÍÍ EL USUARIO: Ä Especifica en IR (Instruction Register) una de las ocho instrucciones. Ä Suministra la señal de comienzo XS. ÁÁÁ EL SISTEMA: Ä Ejecuta la instrucción especificada. Ä Genera señal "FIN" y espera nueva XS.
Cuestiones de interés general: •••
Las formas de describir los Sistemas Digitales
•••
La forma de diseñar los Sistemas Digitales
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 5
NIVEL RT: DATOS Y CONTROL FORMAS DE DESCRIPCIÓN UTILIDAD: Ä En el proceso de diseño
Ä Como documentación
QUÉ DESCRIBIR Ä Estructura de la Unidad de Datos F Componentes secuenciales (registros), llamados también de memoria F Componentes combinacionales, llamados también unidades funcionales o recursos F Componentes de conexión (buses) Ä Microprograma de control Ä Estructura del controlador FORMAS DE DESCRIPCIÓN: Ä Gráficas F Orientadas al nivel estructural: dibujos/diagramas de circuitos F Orientadas al nivel funcional: cartas ASM (Algorithmic State Machine) Ä HDL: Hardware Description Language
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 6
NIVEL RT: DATOS Y CONTROL TIPOS DE OPERACIÓN. NOTACIÓN RT De escritura
Operación
Notación RT
Carga en paralelo Desplazamiento a dcha. Desplazamiento a izda. Incremento (Decremento) Puesta a 0 (ó a 1) Inhibición (NOP)
Α ← DIN An-1 ← Dr , Ai ← Ai+1 ∀i≠n-1 ; A ← ShR(A,Dr) A0 ← Dl , Ai ← Ai-1 ∀i≠0 ; A ← ShL(A,Dl) A ← A+1 (A ← A-1) A←0 (A ← 1...1) A←A
De control Operación Carga en paralelo Desplazamiento a dcha. / izda. Incrementa / Decrementa Puesta a 0 / 1 Inhibición Lectura
Dpto. Tecnología Electrónica
De lectura Señal 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
Las operaciones de lectura pueden afectar a: Todo el dato: Parte del dato: Una función del dato:
EC
Dout = A Outa = A3 Cero = 0 si A≠0 1 si A=0
{
Nivel RT Datos y Control - 7
NIVEL RT: DATOS Y CONTROL IMPLICACIÓN DE DATOS EN TRANSFERENCIA ENTRE REGISTROS f(x):
A ← G(B, C, ...) Operación RT
Condición de ejecución 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 condición de control, f(x)
COMPONENTES DE CONEXIÓN: Caminos físicos y lógicos para el flujo de datos desde cada registro fuente al de destino: • Líneas de conexión (buses) • Circuitos combinacionales ADEMÁS, LA UC: Establece la secuencia de µOps Genera las señales de control en UD Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 8
NIVEL RT: DATOS Y CONTROL Descripción estructural del Sistema digital CONTROL
DATOS R ∆
• Evalúa f(x)
x
• Genera señales de control • Establece secuencia de RT
∇
B Circuito Combinacional que realiza
RB C
∆ •
WA
G(B, C, ...)
••• W
∆
A
CK
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 9
NIVEL RT: DATOS Y CONTROL Operación temporal 1 CONTROL
Ciclo K
•
A ← G(B, C, ...)
f(x):
x
Evalúa f(x)
• Genera señales de control • Establece secuencia de RT
Inicialmente los datos son: A0, B0 y C0 Suponemos f(x) = 1
DATOS R ∆
∇
B Circuito Combinacional que realiza G(B, C, ...)
RB
WA
C
∆ • •••
C0 W
∆
A
CK
ciclo K
ciclo K-1
ciclo K+1
Ck: WA: RB: Sal B: Sal G: A:
HI
B0
???
G(B0, C0, ...)
HI ??? G(B0, C0, ...)
A0
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 10
NIVEL RT: DATOS Y CONTROL Operación temporal 2 CONTROL
Ciclo K A ← G(B, C, ...)
f(x):
•
x
Evalúa f(x)
• Genera señales de control • Establece secuencia de RT
Inicialmente los datos son: A0, B0 y C0 Suponemos f(x) cambia
DATOS R ∆
∇
B Circuito Combinacional que realiza G(B, C, ...)
RB
WA
C
∆ • •••
C0 W
∆
A
CK
f(x): Ck: WA: RB: Sal B: Sal G: A:
HI
B0 G(B0, C0, ...)
???
??? G(B0, C0, ...)
A0
Dpto. Tecnología Electrónica
HI
EC
Nivel RT Datos y Control - 11
NIVEL RT: DATOS Y CONTROL FORMA DE DISEÑO: ESTILO TOP-DOWN • Conjunto de instrucciones • Modo de ejecución
1
Especificación global del sistema a nivel ISP:
2
Desarrollo de cada macro-operación en una secuencia de micro-operaciones (µOp): • Instrucción o macro-operación: Ejecución en varios ciclos de Clk • Micro-operación: Una o más primitivas RT que se ejecutan en solo ciclo de Clk Nivel ISP
Nivel RT µOp RT1
Instrucción K
Cada macro-operación
µOp RT2
Secuencia de micro-operaciones
··· µOp RTN
Este paso afecta y depende de la Unidad de Datos Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 12
NIVEL RT: DATOS Y CONTROL 3
Ensamblaje y depuración de los algoritmos para obtener: 3.1
Unidad de Datos (o de Procesado): Ejecutará todas las primitivas RT.
3.2
Microprograma de control: Un único programa de µOp que ensamble todos los algoritmos de desarrollo de todas las instrucciones
4
Realización de las Unidades de Datos (UD) y de Control (UC).
5
Implementación, verificación y documentación del sistema digital realizado.
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 13
NIVEL RT: DATOS Y CONTROL INTERCONEXIÓN VÍA BUSES •
•
Bus: Conjunto de “n líneas” conductoras con un protocolo para su manejo
BUS
{
B0 B1
n
B[n] = B0:n-1
Bn-1
n
B[n] = B0:n-1
Tipos de Buses Unidireccional Fuente
Compartidos
De / Fu
Dpto. Tecnología Electrónica
Estándar (0, 1) Salida estándar
Destino
Bidireccional Fu / De
Dedicados
3-state (0, 1, HI) Buffer 3-state
EC
Nivel RT Datos y Control - 14
NIVEL RT: DATOS Y CONTROL LECTURA DE BUS (con Escritura en Registro) A ← Bus = Dato Único bus: Conexión directa
Bus
Dato WA = 1
A
Bus
Uno entre varios buses (p. ej. 4): Conexión multiplexada
Bus 0 Bus 1 Bus 2 Bus 3 S1 S0
Ej.: Dato = 1011 1 1 0 1
Dato 1 0
1
0 1
2 3
0
WA = 1
WA = 1 0
A
A
1 2 3
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 15
NIVEL RT: DATOS Y CONTROL ESCRITURA DE BUS (con Lectura en Registro) Bus = [A] Sólo hay un registro fuente:
Hay varios registros fuente:
la salida del registro puede ser estándar o 3-state Bus único
deben ser 3-state
R3
Varios Buses
0
A3
R2 1
A2
R1 0
A1
A Como máximo, una señal Rj activa P. ej. R1R2R3 = 0 1 0 para
A
Bus = [A2]
Recordad: las salidas bidireccionales (in/out) conllevan el carácter 3-state
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 16
NIVEL RT: DATOS Y CONTROL EJEMPLO: • • •
Se dispone de 4 registros [n], A3, A2, A1, A0, con carga en paralelo (W3, W2, W1, W0) Hay que realizar la conexión para la trasnferencia AF → AD, con F, D ∈ {0, 1, 2, 3} La selección de Fuente está dada por F1F0 y la de Destino, por D1D0. Ejemplo, AD = A1 (D=1) D1D0 = 0 1
Solución del Destino:
0
D1
1
D0
DEC 2:4 3 1 2 1 0 0
0 0 0
1 [AF]
W
A0
W
W
A1
A2
W
A3
Hay que garantizar [AF] en las entradas paralelo de AD = A1
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 17
NIVEL RT: DATOS Y CONTROL CASO 1: Registros con entrada y salida separadas 1/ Con salida estándar D Solución Multiplexada 0
D1
1
D0
Ejemplo, A3 → A1 AD = A1
DEC 2:4 3 1 2 1 0 0
AF = A3; F1F0 = 1 1
0
W
1
A0
n
1 1
F1 F0
Dpto. Tecnología Electrónica
W
0
A1
W
n
1 0
0
0
A2
n
1
2
W
n
A3
[A3]
3
n x MUX 4 : 1
EC
Nivel RT Datos y Control - 18
NIVEL RT: DATOS Y CONTROL CASO 2: Registros con entrada y salida separadas 2/ Con salida 3-state D Solución Bus (HI) 0
D1
1
D0
Ejemplo, A3 → A1
DEC 2:4 3 1 2 1 0 0
0
1 1
F1 F0
DEC 2:4 0 1 1 2 0 3
0 0 0
Dpto. Tecnología Electrónica
W
A0
1
W
0
A1
W
A2
R ∇
R ∇
R ∇
n
n
n
0
W
A R ∇ 3 n
[A3]
1
EC
Nivel RT Datos y Control - 19
NIVEL RT: DATOS Y CONTROL CASO 3: Registros con terminales de entrada/salida Terminal bidireccional D Solución Bus (HI) 0
D1
1
D0
Ejemplo, A3 → A1
DEC 2:4 3 1 2 1 0 0
0 0 1 1
F1 F0
W
A0
R ∇
1 0
W
0
A1
R ∇
0
W
A2
R ∇
0 1
W
A R ∇ 3
DEC 2:4 0 1 1 2 0 3
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 20
NIVEL RT: DATOS Y CONTROL DISEÑO DE Data Path Reg
Entradas
Reg
•
Reg
Salidas
Bloque de Interconexión
Unidad Funcional • •
Reg
COMPONENTES
Unidad Funcional
El Data Path tiene que poder ejecutar todas las µops La organización del Data Path puede ser de propósito: ∗ Específico: Para una tarea concreta (p. ej. sumador serie de pág. siguiente) ∗ General: Para muchas tareas (p. ej. el computador simple que diseñaremos) Estructura: nos centramos en Data Path síncronos disparados por flanco.
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 21
NIVEL RT: DATOS Y CONTROL REGISTROS VISIBLES POR EL USUARIO •
Registros visibles por el usuario: Aquéllos que aparecen en la descripción de las macrooperaciones (instrucciones)
•
Los registros visibles son los únicos que el usuario necesita conocer.
•
Registros visibles de la calculadora (pág. 4): A y B.
•
Cuando se ejecuta una macrooperación no debe modificarse el contenido de ningún registro visible, a no ser que dicho registro aparezca como destino en una transferencia de la descripción de la macrooperación.
•
Puede modificarse el contenido de cualquier registro no visible.
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 22
NIVEL RT: DATOS Y CONTROL DATA PATH ESPECÍFICO: EJ. SUMADOR SERIE
Data Path
Din [n] xr
WA SRA
Pin DA[n]
CD
0
D in q
W
xr
WB SRB
ai Ci+1
Pin DB[n]
0
Start
Dpto. Tecnología Electrónica
CNT mod. n
Cy
bi
FA Ci si
SRS
Cy
CL UP
xr
SUM[n]
WA WB CL SRA SRB UP CD W SRS
Control Unit
EC
End
Nivel RT Datos y Control - 23
NIVEL RT: DATOS Y CONTROL ORGANIZACIONES GENÉRICAS BASADAS EN ALU: 1. BUS SIMPLE Ck R1
Ck
Ck
R2
Rk ALU
. . .
Ck
RT
Ck
ACC
Sumar R1 con R2 en Rk requiere varias µops: 1 RT ← R1 2 ACC ← RT + R2 3 Rk ← ACC
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 24
NIVEL RT: DATOS Y CONTROL 2. DOBLE BUS B1 RT
. . .
Ck
Ck
R1
Ck
Ck
R2
Rk ALU
B2
Sumar R1 con R2 en Rk requiere varias µops, pero menos: 1 RT ← R1 2 Rk ← RT + R2
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 25
NIVEL RT: DATOS Y CONTROL 3. TRIPLE BUS
ALU Ck
R1
Ck
R2
Ck
Rk
Sumar R1 con R2 en Rk requiere sólo 1 µop: Rk ← R1 + R2
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 26
NIVEL RT: DATOS Y CONTROL DISEÑO DE LA CALCULADORA Descripción de componentes DB
Ejemplo: Registro A (B)
Todo de n bits T
Estructural
WT ∆
a
b a±b
s r ∆
RB WB
B
RAC WAC ZAC
UNIDAD DE PROCESADO
RA WA RB
V
∆
A
RA WA
Funcional
[AC] AC ∆
RA WA
A
WB WT
s
r
RA WA
A←
V=
0
0
A←A
V = HI
0
1
A←V
V = DIN
1
0
A←A
V = [A]
1
1
Prohibida
RAC WAC ZAC
(del controlador)
Dpto. Tecnología Electrónica
EC
Nivel RT Datos y Control - 27
NIVEL RT: DATOS Y CONTROL INSTRUCCIONES → SECUENCIA DE MOPS µOP
Α←Α+Β
T0
ΑC←0, Τ←Α
T1
Τ←B , ΑC←AC+T
T2
Β←Α−Β
Α←Α−Β
Β←Α+Β
ΑC←AC+T
ΑC←AC-T
T3
Α←ΑC
Β←ΑC
Α←ΑC
Β←ΑC
µOP
Α←(−Α)+Β
Β←(−Α)+Β
Α←(−Α)−Β
Β←(−Α)−Β
T0
ΑC←0, Τ←Α
T1
Τ←B , ΑC←AC-T
T2 T3
ΑC←AC+T Α←ΑC
Dpto. Tecnología Electrónica
ΑC←AC-T Α←ΑC
Β←ΑC
EC
Β←ΑC
Nivel RT Datos y Control - 28
EC: Sistemas digitales a nivel RT REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT Contenido: Diseño de sistemas digitales: organización Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexión vía buses; realización de la unidad de datos. Un ejemplo: calculadora; desarrollo de la calculadora a nivel RT.
D
Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.
D
Diseño de la unidad de control: mediante un biestable por estado.
D
El uso de la calculadora.
Manuel Valencia
D
Bibliografía básica ** **
C. Baena, I. Gómez, J.I. Escudero, M. Valencia: “Sistemas Digitales”. Servicio de publicaciones del Dpto. Tecnología Electrónica, 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.
Dpto. Tecnología Electrónica
EC
3/March/08
CARTAS ASM CARTA ASM: DEFINICIONES Caja de Estado Camino de entrada
Caja de Decisión Camino de entrada
Símbolo S de estado
Acciones
bbb Código binario
Sí
No
Condición
Camino de salida
Camino de salida
Camino de salida
Caja de Acción Condicional Camino de entrada Acciones
Uniones de caminos:
Camino de salida
Dpto. Tecnología Electrónica
EC
Nivel RT Cartas ASM - 2
CARTAS ASM Bloque ASM Un camino de entrada Una y sólo una caja de estados
Carta ASM
Número variable de cajas de decisión o de acción condicional
Grafo orientado y cerrado que interconecta bloques ASM
... ... ... Número variable de caminos de salida ...
Dpto. Tecnología Electrónica
EC
Nivel RT Cartas ASM - 3
CARTAS ASM Contador ascendente mód. 8 Binario(G=0)/Gray(G=1) Moore
z0 1
G 0 z1
1
G 0 z1 z0 G
1
0 z2 1
G 0 z2 z0 G
1
0 z2 z1 z2 z1 z0 G
1 0
Dpto. Tecnología Electrónica
EC
Nivel RT Cartas ASM - 4
CARTAS ASM Contador ascendente mód. 8 Binario(G=0)/Gray(G=1) Moore
Mealy z0 z1
z0 1
0
1 z0
G 0 z1
1
G
z1 0
G 0 z1 z0 G
z0
G
1
z2 1
0
G
1 z1
0 z2 z2 z0
1
G
0
0 z2 z0 G
1
1 z1
z2 0
0 z2 z1
z1
z2 z1 z0 G
G
G
1 z0
z2 1
0
0
Dpto. Tecnología Electrónica
G
1
z1 z0
EC
Nivel RT Cartas ASM - 5
CARTAS ASM Máquina expendedora Carta ASM
ESPECIFICACIÓN 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
1
1
•
Producto de valor 4 €.
•
Admite billete de 5 y monedas de 2 y 1 €.
•
Con 5 € da cambio (para ello, activa C=1).
•
Se accede al producto (para ello, activa A=1).
3
•
R causa directamente el retorno de las monedas (el controlador no tiene que activar C).
0
Dpto. Tecnología Electrónica
R
R
0 10 s s 00 1 0 01
EC
1
01
2
4
R
≠ 00 s s = 00 1 0
1
0 01 s s 00 1 0 10
R
1
A
Nivel RT Cartas ASM - 6
CARTAS ASM Errores comunes en la construcción de cartas ASM Cartas con error Próximo estado sin determinar
Cerrar lazos sin cajas de estado A
A
No garantizar la posibilidad lógica de todos los caminos A
1 x 0 C
B
A 0 x 1
B
0
1 y 0 A 0
1 x 1 0 y C
1
A 1
0 x 1
1 x 0 B
B
x⋅y
x+y
0
B
D
Dpto. Tecnología Electrónica
B
EC
Nivel RT Cartas ASM - 7
CARTAS ASM Consideraciones temporales SISTEMA
OPERACIÓN ASM: Datos y Control A ∇
RA CONTROL
X
RA WM WN
SK
WM M
WN
FORMAS DE ONDA
0
X 1
X 1
N←A
N
•
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
Dpto. Tecnología Electrónica
[M]
M0
M0
A0
[N]
N0
N0
A0
EC
Nivel RT Cartas ASM - 8
CARTAS ASM Inicio y Fin de operación NOP
S0
0
XS 1 Carta ASM del ejemplo
SF
Dpto. Tecnología Electrónica
Puede ser un estado útil o una acción condicional
FIN
EC
Nivel RT Cartas ASM - 9
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
0
Α← Α+Β
Β←Α+Β
S1
q2q1q0=010
S2
Α←Α−Β
2
Τ←B , ΑC←AC+T
4
Α←ΑC
Β←ΑC
0
ΑC←AC-T
IR1
ΑC←AC+T q2q1q0=100
0
Β←ΑC
Α←ΑC q2q1q0=101
EC
1
ΑC←AC-T
S4
ΑC←AC-T Α←ΑC
1
IR2
S3
Β←Α−Β
Si es AoB ← - A+B, en µOP 2 se hará ΑC←AC-T
Dpto. Tecnología Electrónica
Τ←B
ΑC←AC+T
ΑC←0, Τ←Α ΑC←AC+T
ΑC←0, Τ←Α
0
1
3
Xs 1
q2q1q0=001
q2q1q0=011
µOP
S0
IR0
1
Β←ΑC
SF
Nivel RT Cartas ASM - 10
CARTAS ASM Carta ASM de la Calculadora: de Control q2q1q0=000
q2q1q0=000
S0 0
S0 0
Xs
Xs
1
q2q1q0=001
S1
q2q1q0=010
S2
ΑC←0, Τ←Α
ΑC←AC+T
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB 0
ΑC←AC-T
WAC 0
ΑC←AC-T q2q1q0=100 IR0
Α←ΑC
1 r
RAC
S4
1
0
Β←ΑC
IR0
q2q1q0=101
EC
SF
1 WB
WA
SF
Dpto. Tecnología Electrónica
IR1
s
S4 0
1 r
S3
1
IR1
IR2
s
q2q1q0=011
ΑC←AC+T
q2q1q0=101
S1
1
IR2
S3 0
q2q1q0=100
q2q1q0=001
Τ←B 0
q2q1q0=011
1
FIN
Nivel RT Cartas ASM - 11
CARTAS ASM HDL básico (FSMD:Finite State Machine with Data path) FORMATO GENERAL: Acciones
condiciones µop actual
N
f0(x) f1(x) ... ... ... fk(x)
T0/z0 T1/z1
N0 N1
Tk/zk
Nk
próxima µop
CASOS PARTICULARES: N
fi(x)
Ti/zi
[N+1]
Puede eliminarse la próxima µOP si es N+1
N
t
NOP
Nk
Sin condición es “t” (true); sin acción es NOP
N
f(x) f(x)
T0/z0 T1/z1
N0 N1
Puede ponerse N IF f(x) THEN T0/z0 goto N0 ELSE T1/z1 goto N1
N
t
NOP
Nk
Puede ponerse N goto Nk
Dpto. Tecnología Electrónica
EC
Nivel RT Cartas ASM - 12
CARTAS ASM RELACIÓN ENTRE CARTAS ASM Y HDL Tipo Moore M 1
x
N
4
Tipo Mealy
0 4
P 5
Dpto. Tecnología Electrónica
6
EC
x
M/P
x
M/N
6
Nivel RT Cartas ASM - 13
CARTAS ASM HDL de la Calculadora q2q1q0=000
Xs
-
000
Xs
-
001
001
t
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
t
FIN
000
000
S0 0
Xs 1
q2q1q0=001
S1
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB 0
IR2
1 r
s
q2q1q0=011
WAC
S3 0
IR1
s
q2q1q0=100
011
1 r
100
RAC
S4 0
IR0
1 WB
WA
101 q2q1q0=101
SF
FIN
Dpto. Tecnología Electrónica
EC
Nivel RT Cartas ASM - 14
REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT D
Diseño de una calculadora: organización Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexión vía buses; realización de la unidad de datos; desarrollo de la calculadora a nivel RT.
D
Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.
D Diseño de la unidad de control: mediante un biestable por estado. D
El uso de la calculadora.
Bibliografía básica ** **
C. Baena, I. Gómez, J.I. Escudero, M. Valencia: “Sistemas Digitales”. Servicio de publicaciones del Dpto. Tecnología Electrónica, 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.
Dpto. Tecnología Electrónica
EC Sistemas Digitales a nivel RT
3/3/08
Manuel Valencia
Contenido:
UNIDAD DE CONTROL Generalidades ∗ Objetivo: Diseñar la Unidad de control ∗∗ El punto de partida es el microprograma, bien como carta ASM, bien en HDL ∗∗ Nuestro interés: automatizar proceso de diseño y lograr buen circuito.
∗ Técnicas: ∗∗ CSS estándar, con biestables y puertas (Random logic): Proceso clásico para CSS ∗∗ Con 1 biestable por estado ∗∗ Control Microprogramado en ROM o PLA (firmware)
∗ Comparación: Técnica CSS estándar 1 biestable por estado Firmware
Dpto. Tecnología Electrónica
Proceso diseño
Prestaciones
Repetibilidad
Complejo Muy sencillo Sencillo
Muy buenas Buenas, pero mejorables Regulares
Compleja Algo compleja Fácil
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
t
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
t
FIN
000
Xs 1
q2q1q0=001
S1
ZAC, WT, RA
q2q1q0=010 S2
WAC, WT, RB 0
IR2
1 r
s
q2q1q0=011
WAC
S3 0
IR1
s
q2q1q0=100
r
RAC
S4 0
IR0
WA
q2q1q0=101
011
1
100 1 WB
101
SF
Dpto. Tecnología Electrónica
EC
Unidad de Control - 3
UNIDAD DE CONTROL 1 biestable por estado ∗ Los estados tienen codificación one-hot, salvo el de espera que tiene código 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 visión 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
v
v0
q
Circuito
m
D K
0
x
m0 1
B
v1
v
v0 v
Clk
Dpto. Tecnología Electrónica
m0
m x
m
m1
m1
v1
EC
>1
v
mp B
Sk v
qk mp
>1 B
Unidad de Control - 4
UNIDAD DE CONTROL CARTA ASM DE LA CALCULADORA
CONTROL CON 1 BIESTABLE POR ESTADO >1
q5-q1=0...0
S0 0
Xs
>1
1
q1=1
S1
ZAC, WT, RA
q2=1
S2
WAC, WT, RB 0
IR2
WT
IR1
3 D q
RAC F(5) D q
4 D q
FIN
RB
0
0
0
1
1
1
r
IR2
RAC
S4 0
IR0
r s
IR1
r s
IR0 WBWA >1
1 WB
WA
SF
RA ZAC
1
s
q5=1
2 D q
Clk
WAC
S3 0
q4=1
1 D q
WAC
WAC
r
s
q3=1
Xs
1
WT WAC
WT
>1
FIN
Dpto. Tecnología Electrónica
EC
r
s
Unidad de Control - 5
UNIDAD DE CONTROL Control microprogramado (firmware) Unidad de control
N
f0(x) T0/z0 f1(x) T1/z1 ... ... ... fk(x) Tk/zk
Cualificadores x
Salidas Entradas
Instrucción genérica en HDL
ROM/PLA
N0 N1 Nk
Próxima µop
Nk
N+
Comandos
N = [Reg]: actual µop
están escritas Nk y zk
Dpto. Tecnología Electrónica
zk
Reg
El valor de N y fk(x) dan la dirección de entrada en cuya palabra
Salidas de control
Reg: Registro de carga en paralelo
EC
Unidad de Control - 6
UNIDAD DE CONTROL CONTROL CON PLA
CARTA ASM DE LA CALCULADORA q2q1q0=000
q2q1q0
S0
000 0
ZAC, WT, RA
q2q1q0=010
S2
WAC, WT, RB 0
IR2
1
000
Xs
NOP
001
Xsq2q1q0
001
t
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
t
FIN
000
q2q1q0
r
s
q2q1q0=011
IR1
Q1, ZAC/WT/RA
r
RAC
S4 0 WA
011
1
s
q2q1q0=101
Q0
WAC
S3 0
q2q1q0=100
Salidas afectadas
NOP
1 S1
Término P
Xs
Xs
q2q1q0=001
Q2Q1Q0
IR0
100 1 WB
SF
Dpto. Tecnología Electrónica
101
EC
FIN
Unidad de Control - 7
UNIDAD DE CONTROL PERSONALIZACIÓN DEL PLA Términos 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
2 D q
q1 q0 Clk
Dpto. Tecnología Electrónica
1 D q
q2 FIN WB
EC
ZAC WT RA RB WAC s r RAC WA
Unidad de Control - 8
UNIDAD DE CONTROL DISEÑO CON ROM A2A1A0 A3 q2q1q0
000
E
Salidas Salidas
Xs
D2D1D0
IR2 IR1 IR0
Q2Q1Q0
Xs
-
000
Xs
-
001
001
t
ZAC/WT/RA
010
010
IR2 WT/RB/WAC/s 011
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
t
000
FIN
Dpto. Tecnología Electrónica
E
3 2 1 0 Salidas [14]
D2D1D0
IR2 WT/RB/WAC/r 011 011
ROM 24x14
0 D q
1 D q
ZAC WT RA RB WAC s r RAC WA WB FIN
2 D q
Clk
Ejemplos de contenidos de la ROM: {A3A2A1A0} {D2D1}{D0 ZAC WT RA} {RB WAC s r} {RAC WA WB FIN}
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}
Dpto. Tecnología Electrónica
$A
$H3H2H1H0
0
0000
1
1700
2
1AE0
3
2060
4
280C
5
0001
6
(0000)
7
(0000)
8
0800
9
1700
A
1AD0
B
2050
C
280A
D
0001
E
(0000)
F
(0000)
EC
(Ejemplos Anteriores)
(0000): No importa en este caso
Unidad de Control - 10
EC: Sistemas digitales a nivel RT REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT Contenido: Diseño de una calculadora: organización Datos&Control; macro y micro-operaciones; componentes; lenguaje RT; interconexión vía buses; realización de la unidad de datos; desarrollo de la calculadora a nivel RT.
D
Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.
D
Diseño de la unidad de control: mediante un biestable por estado.
Manuel Valencia
D
D El uso de la calculadora. Bibliografía básica ** **
C. Baena, I. Gómez, J.I. Escudero, M. Valencia: “Sistemas Digitales”. Servicio de publicaciones del Dpto. Tecnología Electrónica, 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.
Dpto. Tecnología Electrónica
EC
3 / March / 08
USO DE LA CALCULADORA Problema a resolver con la Calculadora: •
Calcular 3A-B y poner el resultado en A
•
Programa a ejecutar: Valores en A/B A B Valores iniciales:
A0
B0
Instrucción 1 : B ← A-B
A0
A0-B0
Instrucción 2 : B ← A+B
A0
2A0-B0
3A0-B0
Instrucción 3 : A ← A+B
Dpto. Tecnología Electrónica
EC
2A0-B0
Nivel RT Uso de la calculadora- 2
USO DE LA CALCULADORA •
Funcionamiento ‘operativo’ de este sistema: Modo Calculadora X “Alguien” pone IR=011 ( Β ← A - B ) $ “Alguien” da :
XS
y espera a que se active FIN
Y “Alguien” pone IR=001 ( Β ← A + B ) $ “Alguien” da:
XS
y espera a que se active FIN
Z “Alguien” pone IR=000 ( Α ← A + B ) $ “Alguien” da:
XS
y espera a que se active FIN
Problemas de funcionamiento del Modo Calculadora:
ª
¬
No hay programa almacenado (X, Y, Z)
¬
Hay que generar la orden XS ($)
Solución a estos problemas en el Modo Computador de operación (Tema próximo) Dpto. Tecnología Electrónica
EC
Nivel RT Uso de la calculadora- 3