T0708_Tema3_ Sistemas Digitales a Nivel RT

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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



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