9T3

57
Dpto. Tecnología Electrónica EC 10/March/09 Manuel Valencia EC: Sistemas digitales a nivel RT REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RT Contenido: D Diseño de sistemas digitales: organización Datos&Control; macro y micro-opera- ciones; 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. Control microprogramado. 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 Digi- tales”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.

description

cartas asm

Transcript of 9T3

Page 1: 9T3

Dpto. Tecnología Electrónica EC 10/March/09

Man

uel V

alen

cia

EC: Sistemas digitales a nivel RT

REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RTContenido:

Diseño de sistemas digitales: organización Datos&Control; macro y micro-opera-ciones; 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.

Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.

Diseño de la unidad de control: mediante un biestable por estado. Control microprogramado.

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 Digi-tales”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.

Page 2: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 2

NIVEL RT: DATOS Y CONTROL

CIRCUITOS VERSUS SISTEMAS

Máquina de estados finitos Instrucciones: OperacionesFuncionalidad

0, 1

Líneas (cables)

De conmutación

Combinacional yalmacenamiento (memoria)

Información

Conexión

Nivel/Lenguaje

Organización

Palabras de datos

Buses

RT (Register Transfer)

Procesado de datos y control

CIRCUITOS SISTEMAS

Puertas y biestablesComponentes MUX, ALU, ..., registros, ...

CircuitoCombinacional

z1zk

x1

xn

y1

yr

reloj

B1

Br

Unidad de Control

Unidad deProcesado

XIN

X Z

ZOUT

DIN DOUT

X : cualificadores o entradas de controlZ : comandos o salidas de controlD: datos

reloj

Page 3: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 3

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 realizaautomá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).

∗ Cuestiones de interés general:

• • • La forma de diseñar los Sistemas Digitales• • • Las formas de describir los Sistemas Digitales

Page 4: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 4

NIVEL RT: DATOS Y CONTROL

METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)

0/ Punto de partida: Descripción funcional a través del ISP

1/ Diseñar la Unidad/Ruta de DatosProceso en varios pasos: Se establece una arquitectura básica, se desarrollan las operaciones/instrucciones a nivel de micropoeraciones y se modifica la arquitectura básica de la unidad/ruta de datos

2/ Describir formalmente el comportamiento de datos y de control mediante un algoritmo (algoritmo del flujo de datos y de control)

3/ Diseñar la Unidad de Control

Page 5: 9T3

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É DESCRIBIREstructura de la Unidad de Datos

Componentes secuenciales (registros), llamados también de memoriaComponentes combinacionales, llamados también unidades funcionales orecursos de cálculoComponentes de conexión (buses)

Microprograma de controlEstructura del controlador

FORMAS DE DESCRIPCIÓN:Gráficas

Orientadas al nivel estructural: dibujos/diagramas de circuitosOrientadas al nivel funcional: cartas ASM (Algorithmic State Machine)

HDL: Hardware Description Language

Page 6: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 6

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 • B ← A + B • A ← A - B • B ← A - B• A ← -A + B • B ← -A + B • A ← -A - B • B ← -A - B

CONTROL A

B

U. PROCESADO

Z

IR[3]

XS

Usuario Sistema

FIN• Organización del sistema

Page 7: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 7

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.

Page 8: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 8

NIVEL RT: DATOS Y CONTROL

NOTACIÓN RT. TIPOS DE OPERACIÓN

Operación Notación RT

Carga en paralelo Α ← DINDesplazamiento a dcha. An-1 ← Dr , Ai ← Ai+1 ∀i≠n-1 ; A ← ShR(A,Dr)Desplazamiento a izda. A0 ← Dl , Ai ← Ai-1 ∀i≠0 ; A ← ShL(A,Dl)Incremento (Decremento) A ← A+1 (A ← A-1)Puesta a 0 (ó a 1) A ← 0 (A ← 1...1)Inhibición (NOP) A ← A

De escritura

Operación Señal de control

Carga en paralelo W (T, L)Desplazamiento a dcha. / izda. SR / SLIncrementa / Decrementa I / DPuesta a 0 / 1 CL (Z) / SInhibición Ninguna activaLectura R

De controlIncondicional: Condicional

Dout = A R = 1 : Dout = AR = 0 : Dout = HI

Las operaciones de lectura pueden afectar a:

Todo el dato: Dout = AParte del dato: Outa = A3Una función del dato: Cero ={ 0 si A≠0

1 si A=0

De lectura

Page 9: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 9

NIVEL RT: DATOS Y CONTROL

IMPLICACIÓN DE DATOS EN TRANSFERENCIA ENTRE REGISTROS

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 μOpsGenera las señales de control en UD

Operación RTf(x): A ← G(B, C, ...)

Condición de ejecución

Page 10: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 10

NIVEL RT: DATOS Y CONTROL

Descripción estructural del Sistema digital

• Evalúa f(x)

• Genera señales de control

• Establece secuencia de RT

CircuitoCombinacional

que realiza

G(B, C, ...)

Δ

Δ

Δ

CK

RB

WA

x

CONTROL DATOS

B

C

A

R

W

• • •

Page 11: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 11

NIVEL RT: DATOS Y CONTROL

Operación temporal 1

• Evalúa f(x)

• Genera señales de control

• Establece secuencia de RT

CircuitoCombinacional

que realiza G(B, C, ...)

Δ

Δ

Δ

CK

RB

WA

x

CONTROL DATOS

B

C

A

R

W

• • •

Ciclo K

Inicialmente los datos son: A0, B0 y C0

Suponemos f(x) = 1

Ck:

RB:

Sal B: Sal G:

A:

f(x): A ← G(B, C, ...)

G(B0, C0, ...)

HI HIB0G(B0, C0, ...)???

A0???

C0

WA:

ciclo K ciclo K+1ciclo K-1

Page 12: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 12

NIVEL RT: DATOS Y CONTROL

Operación temporal 2

• Evalúa f(x)

• Genera señales de control

• Establece secuencia de RT

CircuitoCombinacional

que realiza G(B, C, ...)

Δ

Δ

Δ

CK

RB

WA

x

CONTROL DATOS

B

C

A

R

W

• • •

Ciclo K

Inicialmente los datos son: A0, B0 y C0

Suponemos f(x) cambia

Ck:

RB:

Sal B: Sal G:

A:

f(x): A ← G(B, C, ...)

G(B0, C0, ...)

HI HI???A0

???

C0

WA:

f(x):

B0G(B0, C0, ...)

Page 13: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 13

NIVEL RT: DATOS Y CONTROL

METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)

Tras elegir el ISP del Sistema Digital:

1/ Diseñar la Unidad/Ruta de Datos (Data Path)Proceso en varios pasos:

Tratemos en primer lugar las interconexiones.

Bloque de

Registros

Interconexión

UnidadesFuncionales

Entradas Salidas

∗ Se establece una arquitec-tura básica,

∗ se desarrollan las opera-ciones/instrucciones a nivel de micropoera-ciones, y

∗ se modifica la arquitec-tura básica de la unidad/ruta de datos

Page 14: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 14

NIVEL RT: DATOS Y CONTROL

INTERCONEXIÓN VÍA BUSES

B0B1

Bn-1

n

n

B[n] = B0:n-1{BUSB[n] = B0:n-1

• Bus: Conjunto de “n líneas” conductoras con un protocolo para su manejo

• Tipos de Buses

Estándar (0, 1)Unidireccional

Fuente Destino

Fu / De De / Fu

Bidireccional

Dedicados

Compartidos 3-state (0, 1, HI)

Salidaestándar

Buffer3-state

Page 15: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 15

NIVEL RT: DATOS Y CONTROL

LECTURA DE BUS (con Escritura en Registro)A ← Bus = Dato

Único bus: Uno entre varios buses (p. ej. 4):Conexión directa Conexión multiplexada

WA = 1

A

DatoBus

Ej.: Dato = 1011Bus

WA = 1

A012

3

Bus 0Bus 1Bus 2

1

11

0

Bus 3

S1S0

00

1 1 2 3

WA = 1

A

Dato

10

Page 16: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 16

NIVEL RT: DATOS Y CONTROL

ESCRITURA DE BUS (con Lectura en Registro) Bus = [A]

Sólo hay un registro fuente: la salida del registro puedeser estándar o 3-state

Hay varios registros fuente: deben ser 3-state

Bus único

A

Varios Buses

A

A3 A2 A1R1R2R3

Como máximo, una señal Rj activaP. ej. R1R2R3 = 0 1 0 para

Bus = [A2]

Recordad: las salidas bidireccionales(in/out) conllevan el carácter 3-state

0 01

Page 17: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 17

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.

A3W

A2W

A1W

A0W

D1

D0

DEC2 : 4 3

2100

1

Ejemplo, AD = A1 (D=1)D1D0 = 0 1

01

000

1

Solución del Destino:

[AF]

Hay que garantizar [AF] en las entradas paralelo de AD = A1

Page 18: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 18

NIVEL RT: DATOS Y CONTROL

CASO 1: Registros con entrada y salida separadas

1/ Con salida estándar Solución Multiplexada

A3W

n

A2W

n

A1W

n

A0W

n

D1

D0

DEC2 : 4 3

2100

101

0 0 01

F1F0 n x MUX 4 : 1

10

3210

AF = A3; F1F0 = 1 1

11

[A3]

Ejemplo, A3 → A1AD = A1

Page 19: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 19

NIVEL RT: DATOS Y CONTROL

CASO 2: Registros con entrada y salida separadas

2/ Con salida 3-state Solución Bus (HI)

A3W

n

A2W

n

A1W

n

A0W

n

D1

D0

DEC2 : 4 3

2100

101

0 0 01

Ejemplo, A3 → A1

F1

F0

DEC2 : 4

3210

1

0

R R R R∇ ∇ ∇ ∇

11 1

000

[A3]

Page 20: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 20

NIVEL RT: DATOS Y CONTROL

CASO 3: Registros con terminales de entrada/salida

Terminal bidireccional Solución Bus (HI)

A3W

A2W

A1W

A0W

D1

D0

DEC2 : 4 3

2100

101

0 0 01

Ejemplo, A3 → A1

F1

F0

DEC2 : 4

3210

1

0

R R R R∇ ∇ ∇ ∇

11

100 0

Page 21: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 21

NIVEL RT: DATOS Y CONTROL

DISEÑO DE Data Path

• 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.

Bloque de

Reg RegReg Reg

Interconexión

UnidadFuncional

UnidadFuncional

Entradas Salidas COMPONENTES

Page 22: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 22

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. 6): 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.

Page 23: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 23

NIVEL RT: DATOS Y CONTROL

DATA PATH ESPECÍFICO: EJ. SUMADOR SERIE

xrWASRA 0DA[n]

Pin

ai biCiCi+1 FA

si

xrWBSRB 0DB[n]

Pin

xrSRS SUM[n]

inq

CNT mod. nCLUP

Cy

Din [n]

CD

WD

Control Unit

Data Path

Start End

Cy WA WB CL SRA SRB UP CD W SRS

Page 24: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 24

NIVEL RT: DATOS Y CONTROL

ORGANIZACIONES GENÉRICAS BASADAS EN ALU:1. BUS SIMPLE

Ck R1 Ck R2 Ck Rk

. . .

Ck ACC

ALU

RTCk

Sumar R1 con R2 en Rk requiere varias μops:1 RT ← R12 ACC ← RT + R23 Rk ← ACC

Page 25: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 25

NIVEL RT: DATOS Y CONTROL

2. DOBLE BUS

RT

ALU

B1

B2

Ck R1 Ck R2 Ck Rk

Ck

. . .

Sumar R1 con R2 en Rk requiere varias μops, pero menos:1 RT ← R12 Rk ← RT + R2

Page 26: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 26

NIVEL RT: DATOS Y CONTROL

3. TRIPLE BUS

Sumar R1 con R2 en Rk requiere sólo 1 μop:Rk ← R1 + R2

ALU

Ck R1 Ck R2 Ck Rk

Page 27: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 27

NIVEL RT: DATOS Y CONTROL

METODOLOGÍA DE DISEÑO EN EL NIVEL RT (Top Down)

1/ Diseñar la Unidad/Ruta de Datos (Data Path)∗ Elección de una arquitectura básica

∗ 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

∗ Cambios en la arquitectura básica de la unidad de datos para que ejecute todas las micro-operaciones.

Nivel ISP Nivel RTμOp RT1

Instrucción K μOp RT2

μOp RTN···

Cada macro-operación Secuencia de micro-operaciones

Este paso afecta y dependede la Unidad de Datos

Page 28: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 28

NIVEL RT: DATOS Y CONTROL

DISEÑO DE LA CALCULADORA

a b

a±b

ACΔ

T

ΔWT

A

ZACWACRAC

WARA

Δ BWBRB

sr

[AC]

DBTodo de n bits

UNIDAD DE PROCESADO

WT sWB RAC WACrWA RBRA ZAC

(del controlador)

Descripción de componentes

Ejemplo: Registro A (B)

Δ AWARAV

Estructural

Funcional

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

Page 29: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 29

NIVEL RT: DATOS Y CONTROL

INSTRUCCIONES → SECUENCIA DE MOPS

Α←Α+Β Β←Α+Β Α←Α−Β Β←Α−Β

ΑC←0, Τ←Α

ΑC←AC+T ΑC←AC-T

Α←ΑC Β←ΑC Α←ΑC Β←ΑC

μOP

T0

T1

T2

T3

Τ←B , ΑC←AC+T

Α←(−Α)+Β Β←(−Α)+Β Α←(−Α)−Β Β←(−Α)−Β

ΑC←0, Τ←Α

ΑC←AC+T ΑC←AC-T

Α←ΑC Β←ΑC Α←ΑC Β←ΑC

μOP

T0

T1

T2

T3

Τ←B , ΑC←AC-T

Page 30: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Datos y Control - 30

NIVEL RT: DATOS Y CONTROL

TAREAS PENDIENTES

Realizar los siguientes pasos de la Metodología de diseño, que son:

2/ Describir formalmente el comportamiento de datos y de control mediante un algoritmo (algoritmo del flujo de datos y de control)

3/ Diseñar la Unidad de Control

Page 31: 9T3

Dpto. Tecnología Electrónica EC 19/February/09

Man

uel V

alen

cia

EC: Sistemas digitales a nivel RT

REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RTContenido:

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 calcu-ladora a nivel RT.

Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.

Diseño de la unidad de control: mediante un biestable por estado.

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 Digi-tales”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.

Page 32: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 2

CARTAS ASM

CARTA ASM: DEFINICIONES

Caja de EstadoCaja de Decisión

Caja de Acción Condicional

Símbolode estado

Camino deentrada

Caminode salida

Accionesbbb Código binario

S CondiciónSí No

Caminode salida

Caminode salida

Camino de entrada

Acciones

Camino de entrada

Camino de salidaUniones de caminos:

Page 33: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 3

CARTAS ASM

Bloque ASM

. . . . . . . . .

. . .

Un camino de entrada

Una y sólo una

caja de estados

Número variable

de acción condicional

de cajas de decisión o

Número variable de caminos de salida

Carta ASM

Grafo orientadoy cerrado

que interconectabloques ASM

Page 34: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 4

CARTAS ASMContador ascendente mód. 8

Binario(G=0)/Gray(G=1)

G

G

G

G

G

G

z0

z1

z1 z0

z2

z2 z0

z1z2

z2 z1 z0

1

0

1

0

0

1

0

1

1

0

0

1

Moore

Page 35: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 5

CARTAS ASMContador ascendente mód. 8

Binario(G=0)/Gray(G=1)

G

G

G

G

G

G

z0

z1

z1 z0

z2

z2 z0

z1z2

z2 z1 z0

1

0

1

0

0

1

0

1

1

0

0

1

Moore

G

z1

10

z0

z0

z1

z2

Mealy

G0 1

z0

G10

z1

z2 z0

G10

z1

z2

G10

z0z1

z2

G

z1 z0

10

Page 36: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 6

CARTAS ASM

Máquina expendedora

s1A

CK

s0

R

C

s1 s0 Moneda

0 0 Ninguna0 1 11 0 21 1 5

ESPECIFICACIÓN

• 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).

• R causa directamente el retorno de las mone-das (el controlador no tiene que activar C).

Rs1s0

0 1

C, A5 11 00

01102 1

R R 1

s1s0s1s0

1

0 000 000110

01 10

3

R 10

s1s0= 00≠ 00

4A

Carta ASM

Page 37: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 7

CARTAS ASM

Errores comunes en la construcción de cartas ASM

Próximo estado

Cartas con error

A

B C

x y

A

B C D

0 1 0 1

sin determinar

x

A

B

01

Cerrar lazos sincajas de estado

x

A

B

01

x

A

10

y 01

x 10

B

x⋅y

A

0 1

x+y

B

01

No garantizar la posibilidad lógicade todos los caminos

Page 38: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 8

CARTAS ASM

Consideraciones temporales

A

M N

XRAWMWN

CK

RA

WM WN

DATOS∇C

ON

TR

OL

SISTEMA OPERACIÓN ASM: Datos y Control

X

SK

0 1

N←A

M←Α

SK+1. . . .

X

SK

0 1

WN

RA,WM

SK+1. . . .

SKSK-1 SK+1

CkSX

RA

WM

WN

[M]

[N]

M0 A0M0

N0 N0 A0

[A] = A0

FORMAS DE ONDA

Page 39: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 9

CARTAS ASM

Inicio y Fin de operación

XS

Carta ASM del ejemplo

FINSF

0

1

S0 NOP

Puede ser unestado útil o unaacción condicional

Page 40: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 10

CARTAS ASM

Carta ASM de la Calculadora: de Datos

IR210

Xs0

1

IR110

IR010

ΑC←0, Τ←Α

Τ←B

ΑC←AC+T

S0

S1

S2

S3

S4

SF

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101

IR2:0 μOP0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

A ← A+BΒ ← A+BA ← A -BΒ ← A -BA ← -A+BΒ ← -A+BA ← -A -BΒ ← -A -B

Α← Α+Β Β←Α+Β Α←Α−Β Β←Α−Β

ΑC←0, Τ←Α

ΑC←AC+T ΑC←AC-T

Α←ΑC Β←ΑC Α←ΑC Β←ΑC

μOP

1

2

3

4

Τ←B , ΑC←AC+T

Si es AoB ← - A+B, en μOP 2 se hará ΑC←AC-T

ΑC←AC-T

ΑC←AC+T ΑC←AC-T

Β←ΑCΑ←ΑC

Page 41: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 11

CARTAS ASM

Carta ASM de la Calculadora: de Control

IR210

Xs0

1

IR110

IR010

ZAC, WT, RA

WAC, WT, RB

s r

s r

WA WB

S0

S1

S2

S3

S4

SF

WAC

RAC

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101

IR210

Xs0

1

IR110

IR010

ΑC←0, Τ←Α

Τ←B

ΑC←AC+T

S0

S1

S2

S3

S4

SF

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101

ΑC←AC-T

ΑC←AC+T ΑC←AC-T

Β←ΑCΑ←ΑC

FIN

Page 42: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 12

CARTAS ASM

HDL básico (FSMD:Finite State Machine with Data path)FORMATO GENERAL:

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) T0/z0 N0 Puede ponerse N IF f(x) THEN T0/z0 goto N0f(x) T1/z1 N1 ELSE T1/z1 goto N1

N t NOP Nk Puede ponerse N goto Nk

N f0(x) T0/z0 N0 f1(x) T1/z1 N1 ... ... ...fk(x) Tk/zk Nk

μop actual próxima μop

condicionesAcciones

Page 43: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 13

CARTAS ASM

RELACIÓN ENTRE CARTAS ASM Y HDL

4M

N P

5 6

x

4 x M/P 6

1 0

x M/N

Tipo Moore

Tipo Mealy

Page 44: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Cartas ASM - 14

CARTAS ASM

HDL de la Calculadora

000 Xs - 000

Xs - 001

001 t ZAC/WT/RA 010

010 IR2 WT/RB/WAC/s 011

IR2 WT/RB/WAC/r 011

011 IR1 WAC/s 100

IR1 WAC/r 100

100 IR0 RAC/WA 101

IR0 RAC/WB 101

101 t FIN 000

IR210

Xs0

1

IR110

IR010

ZAC, WT, RA

WAC, WT, RB

s r

s r

WA WB

S0

S1

S2

S3

S4

SF

WAC

RAC

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101 FIN

Page 45: 9T3

Dpto. Tecnología Electrónica EC Sistemas Digitales a nivel RT 19/2/09

Man

uel V

alen

cia

REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RTContenido:

Diseño de una calculadora: organización Datos&Control; macro y micro-operaciones; componentes; len-guaje RT; interconexión vía buses; realización de la unidad de datos; desarrollo de la calculadora a nivel RT.

Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.

Diseño de la unidad de control: mediante un biestable por estado. 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 Digita-les”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.

Page 46: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 2

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 Proceso diseño Prestaciones Repetibilidad

CSS estándar Complejo Muy buenas Compleja1 biestable por estado Muy sencillo Buenas, pero mejorables Algo complejaFirmware Sencillo Regulares Fácil

Page 47: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 3

UNIDAD DE CONTROL

Calculadora: Carta ASM y HDL HDL DE LA CALCULADORA

000 Xs - 000

Xs - 001

001 t ZAC/WT/RA 010

010 IR2 WT/RB/WAC/s 011

IR2 WT/RB/WAC/r 011

011 IR1 WAC/s 100

IR1 WAC/r 100

100 IR0 RAC/WA 101

IR0 RAC/WB 101

101 t FIN 000

IR210

Xs0

1

IR110

IR010

ZAC, WT, RA

WAC, WT, RB

s r

s r

WA WB

S0

S1

S2

S3

S4

SF

WAC

RAC

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101

CARTA ASM DE LA CALCULADORA

Page 48: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 4

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 q1q2q3q4...1 1 0 0 0...2 0 1 0 0...3 0 0 1 0...4 0 0 0 1...

∗ Una visión intuitiva: con xS se introduce un 1 en el biestable de μop1 y ese 1 va circu-lando conforme se pasa de una μop a otra∗ Se puede automatizar el paso desde carta ASM al circuito

m

v

Sk

D

q

Clk

vm

m

KB

v0x

v1

0 1

x

mv0

v1

m0 m1

v

>1v

m0

m1

m1

Bmp

m

v

SkB

>1qk

mp

ASM

Circuito

Page 49: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 5

UNIDAD DE CONTROL

IR210

Xs0

1

IR110

IR010

ZAC, WT, RA

WAC, WT, RB

s r

s r

WA WB

S0

S1

S2

S3

S4

SF

WAC

RAC

q5-q1=0...0

q1=1

q2=1

q3=1

q4=1

q5=1

CARTA ASM DE LA CALCULADORA CONTROL CON 1 BIESTABLE POR ESTADO

D q1

D q2

D q3

D q4

D qF(5)

Xs

RA ZAC

IR2

0

1

r s IR1

0

1

r s

WT WT

>1 WT

FIN

IR0

0

1

WBWA

RB

>1 WAC

WACWAC

>1r

>1s

RAC

FIN

Clk

Page 50: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 6

UNIDAD DE CONTROL

Control microprogramado (firmware)

N f0(x) T0/z0 N0 f1(x) T1/z1 N1 ... ... ...fk(x) Tk/zk Nk

Instrucción genérica en HDL

ROM/PLA

Ent

rada

s

Salidas

Próxima Salidasde controlμop

x

N = [Reg]: actual μop

N+

Reg

Reg: Registro de carga en paralelo

Comandos

Nk zk

Unidad de control

Cualificadores

El valor de N y fk(x)dan la dirección deentrada en cuya palabra

están escritas Nk y zk

Page 51: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 7

UNIDAD DE CONTROL

IR210

Xs0

1

IR110

IR010

ZAC, WT, RA

WAC, WT, RB

s r

s r

WA WB

S0

S1

S2

S3

S4

SF

WAC

RAC

q2q1q0=000

q2q1q0=001

q2q1q0=010

q2q1q0=011

q2q1q0=100

q2q1q0=101

CARTA ASM DE LA CALCULADORA CONTROL CON PLA

q2q1q0 Q2Q1Q0 Término P Salidas afectadas

000 Xs NOP 000

Xs NOP 001 Xsq2q1q0 Q0

001 t ZAC/WT/RA 010 q2q1q0 Q1, ZAC/WT/RA

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

011 IR1 WAC/s 100 IR1q2q1q0 Q2, WAC/s

IR1 WAC/r 100 IR1q2q1q0 Q2, WAC/r

100 IR0 RAC/WA 101 IR0q2q1q0 Q2Q0, RAC/WA

IR0 RAC/WB 101 IR0q2q1q0 Q2Q0, RAC/WB

101 t FIN 000 q2q1q0 FIN

Page 52: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 8

UNIDAD DE CONTROL

PERSONALIZACIÓN DEL PLA

Términos P Salidas afectadas (D=Q)

Xsq2q1q0 Q0

q2q1q0 Q1, ZAC/WT/RA

IR2q2q1q0 Q1Q0, WT/RB/WAC/s

IR2q2q1q0 Q1Q0, WT/RB/WAC/r

IR1q2q1q0 Q2, WAC/s

IR1q2q1q0 Q2, WAC/r

IR0q2q1q0 Q2Q0, RAC/WA

IR0q2q1q0 Q2Q0, RAC/WB

q2q1q0 FIN

Xs

D q0

D q1

D q2IR2

IR1

IR0

q2

q1 q0

ZACWTRARBWACsrRACWAFIN WB

Plano AND Plano OR

Xsq2q1q0

q2q1q0

IR2q2q1q0

IR2q2q1q0

IR1q2q1q0

IR1q2q1q0

IR0q2q1q0

IR0q2q1q0

q2q1q0

Clk

Page 53: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 9

UNIDAD DE CONTROL

DISEÑO CON ROM

A2A1A0 A3 Salidas D2D1D0

q2q1q0 E Salidas 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

011 IR1 WAC/s 100

IR1 WAC/r 100

100 IR0 RAC/WA 101

IR0 RAC/WB 101

101 t FIN 000

D q0

D q1

D q2

Clk

6

012345

7

Xs

IR2IR1IR0

EROM 24x14

3210

Salidas [14]

{A3A2A1A0} {D2D1}{D0 ZAC WT RA} {RB WAC s r} {RAC WA WB FIN}

D2D1D0

ZACWTRARBWACsrRACWAWBFIN

Ejemplos de contenidos de la ROM:

0000 00 0000 0000 00001000 00 1000 0000 00000001 01 0111 0000 00001001 01 0111 0000 0000

Page 54: 9T3

Dpto. Tecnología Electrónica EC Unidad de Control - 10

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

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)

(Ejemplos Anteriores)

(0000): No importa en este caso

Page 55: 9T3

Dpto. Tecnología Electrónica EC 19 / February / 09

Man

uel V

alen

cia

REALIZACIÓN DE SISTEMAS DIGITALES A NIVEL RTContenido:

Diseño de una calculadora: organización Datos&Control; macro y micro-operaciones; componentes; len-guaje RT; interconexión vía buses; realización de la unidad de datos; desarrollo de la calculadora a nivel RT.

Descripción con cartas ASM: la construcción de cartas ASM; la carta de datos y la de control.

Diseño de la unidad de control: mediante un biestable por estado.

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 Digi-tales”. Ed. McGraw-Hill Interamericana, 1997. Caps 11 y 12.

EC: Sistemas digitales a nivel RT

Page 56: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Uso de la calculadora- 2

USO DE LA CALCULADORA

Problema a resolver con la Calculadora:

• Calcular 3A-B y poner el resultado en A

• Programa a ejecutar:

A0 B0

A BValores en A/B

Instrucción 1 : B ← A-B

Instrucción 2 : B ← A+B

Instrucción 3 : A ← A+B

A0 A0-B0

A0 2A0-B0

3A0-B0 2A0-B0

Valores iniciales:

Page 57: 9T3

Dpto. Tecnología Electrónica EC Nivel RT Uso de la calculadora- 3

USO DE LA CALCULADORA

• Funcionamiento ‘operativo’ de este sistema: Modo Calculadora

Problemas de funcionamiento del Modo Calculadora:

No hay programa almacenado ( , , )

Hay que generar la orden XS ( )

Solución a estos problemas en el Modo Computador de operación (Tema próximo)

“Alguien” pone IR=011 ( Β ← A - B )

“Alguien” da : XS

“Alguien” pone IR=001 ( Β ← A + B )

“Alguien” da: XS

“Alguien” pone IR=000 ( Α ← A + B )

“Alguien” da: XS

y espera a que se active FIN

y espera a que se active FIN

y espera a que se active FIN