158
José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 7: Módulos secuenciales básicos Fundamentos de computadores

Tema 7: Módulos secuenciales básicos - fdi.ucm.es · Rutas de datos y controladores. ... tc 1 salidade fin de cuenta cl 1 entrada de inicialización asíncrona clk 1 entrada de

  • Upload
    vutuong

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

José Manuel Mendías CuadrosDpto. Arquitectura de Computadores y AutomáticaUniversidad Complutense de Madrid

Tema 7:Módulos secuenciales básicosFundamentos de computadores

2

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Registro. Registro de desplazamiento. Contadores. Banco de registros. RAM (Random‐Access Memory). Rutas de datos y controladores.

Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.• D. Gajsky. Principios de diseño digital.

3

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG

Registro de n bits

si la entrada ld vale 1, almacena la entrada, si no, conserva el valor almacenado

x 1 entrada de datos de n bits

q 1 salida de datos de n bits

ld 1 entrada de carga paralela

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

x

q

cl

n

n

ldclk

si cl(t) = 1  q(t+t) = 0

si cl(t) = 0  q(t+1) =q(t) si ld(t)=0

x(t) si ld(t)=1

4

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

10

q2

D

Q

10

q1

D

Q

10

q0

D

Q

ld

10

Implementación directaRegistro de 4 bits

5

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

x3

q2

D

Q

x2

q1

D

Q

x1

q0

D

Q

ld

x0

Implementación directaRegistro de 4 bits

10 10 10 10

6

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

Implementación directaRegistro de 4 bits

7

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

Implementación directaRegistro de 4 bits

8

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

Implementación directaRegistro de 4 bits

9

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

clk

REG

x

q

cl

8

8

ldclk

z

10

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

clk

REG

x

q

cl

8

8

ldclk

z XX

11

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

clk

REG

x

q

cl

8

8

ldclk

z XX 8A

12

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

clk

REG

x

q

cl

8

8

ldclk

z XX 8A 17

13

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

z XX 8A 17 00

clk

REG

x

q

cl

8

8

ldclk

14

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

x FF 8A 17 23

ld

cl

z XX 8A 17 00 23

clk

REG

x

q

cl

8

8

ldclk

15

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

SHIFT REG

Registro de desplazamiento de n bits

x 1 entrada paralela de datos de n bits

q 1 salida de datos de n bits

srsi 1 entrada serie de datos para desplazamiento a la derecha

slsi 1 entrada serie de datos para desplazamiento a la izquierda

op 1 entrada de selección de operación

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

x

q

cl

n

n

opclk

si cl(t) = 1  q(t+t) = 0

q(t+1) =

q(t) si op(t)=(00) sin cambio

si cl(t) = 0 (srsi, qn‐1(t)... q1(t)) si op(t)=(01) desplaza a la derecha

(qn‐2(t)... q0(t), slsi) si op(t)=(10) desplaza a la izquierda

x(t) si op(t)=(11) carga paralela

slsisrsi

2

16

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

D Q D Q D Qsrsi

clk

cl

qn-1 qn-2 q0

Desplazamientoa la derecha

17

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

D Q D Q D Qsrsi

clk

cl

qn-1 qn-2 q0

DQDQDQ slsi

clk

cl

q0q1qn-1

Desplazamientoa la derecha

Desplazamientoa la izquierda

18

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

30

q2

D

Q

q1

D

Q

q0

D

Q

1 2 30 1 230 1 2 30 1 2

Implementación directaRegistro de desplazamiento de 4 bits

op

19

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

30

q2

D

Q

q1

D

Q

q0

D

Q

1 2

srsi30 1 230 1 2 30 1 2

Implementación directaRegistro de desplazamiento de 4 bits

op

20

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

30

q2

D

Q

q1

D

Q

q0

D

Q

op

1 2

srsi30 1 230 1 2 30 1 2

slsi

Implementación directaRegistro de desplazamiento de 4 bits

21

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

30

x3

q2

D

Q

x2

q1

D

Q

x1

q0

D

Q

op

x0

1 2

srsi30 1 230 1 2 30 1 2

slsi

Implementación directaRegistro de desplazamiento de 4 bits

22

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

30

x3

q2

D

Q

x2

q1

D

Q

x1

q0

D

Q

op

x0

1 2

srsi30 1 230 1 2 30 1 2

slsi

Implementación directaRegistro de desplazamiento de 4 bits

23

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

30

x3

q2

D

Q

x2

q1

D

Q

x1

q0

D

Q

op

x0

1 2

srsi30 1 230 1 2 30 1 2

slsi

Implementación directaRegistro de desplazamiento de 4 bits

24

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Aplicaciones al diseño:1. Convertir datos serie en datos paralelo y viceversa.2. Implementar reconocedores de patrones.

2

Reconocedor del patrón = "011"como máquina de Moore

DQDQDQ x

clk

cl

z

Reconocedor del patrón = "011"como máquina de Mealy

DQDQ x

clk

cl

z

25

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC

Contador ascendentemódulo 2n

q

cln

ceclk

tc

si cl(t) = 1  q(t+t) = 0

si cl(t) = 0  q(t+1) =[q(t)+1] mod 2n si ce(t)=1

q(t) en caso contrario

si cl(t) = 1  tc(t+t) = 0

si cl(t) = 0  tc(t+t) =1 si q(t)=2n‐1 y ce(t)=1

0 en caso contrario

q 1 salida de datos de n bits

ce 1 entrada de capacitación de cuenta

tc 1 salida de fin de cuenta

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

26

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

+

0n n

n

arraybiestables D

q

cl

clk

tc ce

27

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

+

0n n

n

arraybiestables D

q

cl

clk

0qi

cico

di

FA

tc ce

28

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

+

0n n

n

arraybiestables D

q

cl

clk

0qi

cico

di

FA

tc ce

29

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

cico

di

HA

qi

qi ci co di0 0 0 00 1 0 11 0 0 11 1 1 0

di = qi cico = qi·ci

+

0n n

n

arraybiestables D

q

cl

clk

tc ce

30

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

q2

D

Q

q1

D

Q

q0

D

Q

Implementación directaContador ascendente módulo 16

HAHAHAHA cetc

31

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT DESC

Contador descendentemódulo 2n

q

cln

ceclk

tc

si cl(t) = 1  q(t+t) = 0

si cl(t) = 0  q(t+1) =[q(t)‐1] mod 2n si ce(t)=1

q(t) en caso contrario

si cl(t) = 1  tc(t+t) = 0

si cl(t) = 0  tc(t+t) =1 si q(t)=0 y ce(t)=1

0 en caso contrario

q 1 salida de datos de n bits

ce 1 entrada de capacitación de cuenta

tc 1 salida de fin de cuenta

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

32

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

0

ce

n n

n

arraybiestables D

q

cl

clk

tc

33

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

qi

cico

di

FS

-

0

ce

n n

n

arraybiestables D

q

cl

clk

tc

0

34

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

qi

cico

di

FS

-

0

ce

n n

n

arraybiestables D

q

cl

clk

tc

0

35

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

0n n

n

arraybiestables D

q

cl

clk

tc

qi ci co di0 0 0 00 1 1 11 0 0 11 1 0 0

co = qi·ci

di = qi ci

cico

di

HS

qi

ce

36

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

q2

D

Q

q1

D

Q

q0

D

Q

Implementación directaContador descendente módulo 16

HSHSHSHS cetc

37

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC/DES

Contador ascendente/descendentemódulo 2n

q

cln

opclk

tc

q 1 salida de datos de n bits

op 1 entrada de selección de operación

ce 1 entrada de capacitación de cuenta

tc 1 salida de fin de cuenta

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

ce

si cl(t) = 1  q(t+t) = 0

si cl(t) = 0  q(t+1) =

[q(t)+1] mod 2n‐1 si op(t)= 0 y ce(t)=1

[q(t)‐1] mod 2n‐1 si op(t)= 1 y ce(t)=1

q(t) en otro caso

si cl(t) = 1  tc(t+t) = 0

si cl(t) = 0  tc(t+t) =1 si ( q(t)=2n‐1 y op(t)= 1 y ce(t)=1 )

ó ( q(t)=0 y op(t)= 0 y ce(t)=1 )

0 en caso contrario

38

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

+/-

0

op

n n

n

arraybiestables D

q

cl

clk

tc ce

39

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

+/-

0

op

n n

n

arraybiestables D

q

cl

clk

tc ce

di = qi cico = op·qi·ci+ op·qi·ci

op qi ci co di0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 01 0 1 1 11 1 0 0 11 1 1 0 0

40

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

ci

di

HAS

qi

op

co

+/-

0

op

n n

n

arraybiestables D

q

cl

clk

tc

di = qi cico = op·qi·ci+ op·qi·ci

op qi ci co di0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 01 0 1 1 11 1 0 0 11 1 1 0 0

ce

41

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

q2

D

Q

q1

D

Q

q0

D

Q

Implementación directaContador ascendente/descendente  módulo 16

HASHASHASHAS cetc

op

42

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT

Contador ascendente concarga paralela módulo 2n

x

q

cl

n

nce

clk ld

tc

si cl(t) = 1  q(t+t) = 0

si cl(t) = 0  q(t+1) =

x(t) si ld(t)=1

[q(t)+1] mod 2n‐1 si ld(t)=0 y ce(t)=1

q(t) en caso contrario

si cl(t) = 1  tc(t+t) = 0

si cl(t) = 0  tc(t+t) =1 si q(t)=2n‐1 y ld(t)=0 y ce(t)=1

0 en caso contrario

x 1 entrada de datos de n bits

q 1 salida de datos de n bits

ld 1 entrada de carga paralela

ce 1 entrada de capacitación de cuenta

tc 1 salida de fin de cuenta

cl 1 entrada de inicialización asíncrona

clk 1 entrada de reloj

43

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

10

q2

D

Q

10

q1

D

Q

10

q0

D

Q

ld

10

44

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

10

q2

D

Q

10

q1

D

Q

10

q0

D

Q

ld

10

x3 x2 x1 x0

45

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

HAHAHAHA cetc

46

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

HAHAHAHA cetc

47

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

q3

clclk

D

Q

10

x3

q2

D

Q

10

x2

q1

D

Q

10

x1

q0

D

Q

ld

10

x0

HAHAHAHA cetc

Implementación directaContador ascendente con carga paralela módulo 16

48

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Varios contadores  se pueden componer en serie para para comportarse como un contador de mayor anchura.

Implementación serieContador ascendente con carga paralela módulo 256

CONTce

CONT

4

q3..0

4

q7..4tc

4

x3..04

x7..4

clkcl

ld

ldcetc tc

ldce

49

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Aplicaciones al diseño:1. Generar secuencias (secuenciador).2. Generar patrones.

CONT

0

cl

clkld

ce ce

cl q3 q2 q1 q0

x3 x2 x1 x0

0 00

tcContador ascendente BCD

CONT ASC cecl q1 q0

z

1cl

clk

Generador del patrón "0001"

1 2

z3 z2 z1 z0

50

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Aplicaciones al diseño:3. Dividir frecuencias.4. Medir tiempo (temporizador).

CONT ASC ce

q3 q2 q1 q0

3 4

1

fCLK = 200 MHz

100 MHz

0

50 MHz25 MHz

12,5 MHz

cl CONT

0

cl26

ld

ce

q

e1

cl

= 49.999.999

fCLK = 50 MHz (tCLK = 20 ns)

20 ns1 s

26

(num. ciclos) = tiempo / tclk tiempo × fclk

1 s 1·109 ns(1·109 ns) / (20 ns/ciclo) = 50.000.000 ciclos

51

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG FILE

Banco de 2k registros de n bits

di

do

n

n

weclk

rak

di 1 entrada de datos de n bits

do 1 salida de datos de n bits

wa 1 entrada de dirección de escritura de k bits 

ra 1 entrada de dirección de lectura de k bits 

we 1 entrada de capacitación de escritura

clk 1 entrada de reloj

wak

52

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG0

REG1

REG2

REG3

ld

ld

ld

ld

Implementación directaRegistro de 4 registros de n bits

clk

53

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG0

REG1

REG2

REG3

din

clk

ld

ld

ld

ld

n

n

n

n

Implementación directaRegistro de 4 registros de n bits

54

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

wa1

wa0

REG0

REG1

REG2

REG3

din

clkwe

Eld

ld

ld

ld

n

n

n

n

Implementación directaRegistro de 4 registros de n bits

55

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

wa1

wa0

REG0

REG1

REG2

REG3

din

clk

0

3

1

2

ndo

1 0

ra1 ra0we

Eld

ld

ld

ld

n

n

n

n

n

n

n

n

Implementación directaRegistro de 4 registros de n bits

56

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

wa1

wa0

REG0

REG1

REG2

REG3

din

clk

0

3

1

2

ndo

1 0

ra1 ra0we

Eld

ld

ld

ld

n

n

n

n

n

n

n

n

Implementación directaRegistro de 4 registros de n bits

57

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

RA

M

CE

RAM 2k×n(2k palabras de n bits)

dak n

WE OE

d 1 entrada/salida de datos de n bits

a 1 entrada de dirección de k bits 

CE 1 entrada de capacitación

OE 1 entrada de capacitación de lectura

WE 1 entrada de capacitación de escritura

memoria volátil de capaz de almacenar2k palabras de n bits cada una

58

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

SRAM (Static RAM)– Cada bit se almacena en un latch. – No requiere refresco.

DRAM (Dynamic RAM)– Cada bit se almacena en un condensador.– Requiere refresco.

SDRAM (Synchronous Dynamic RAM)– Cada bit se almacena en un condensador.– Requiere refresco.– El interfaz de lectura/escritura es síncrono.

D QG

I O

W S

celda elementalde SRAM

59

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

RAM 4×4

60

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

d0d1d3 d2

RAM 4×4

61

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

a1

a0

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

d0d1d3 d2

RAM 4×4

62

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

a1

a0

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

CEOE

d0d1d3 d2

RAM 4×4

63

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

a1

a0

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

CEOE

d0d1d3 d2WE

RAM 4×4

64

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

0

3

1

21

0

a1

a0

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

I OSW

CEOE

d0d1d3 d2WE

RAM 4×4

65

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Varias RAM se pueden componer para comportarse como una RAM de mayor anchura de palabra.

ak k k

n

...RAM 2k×n

RAM 2k×n

n

RAM 2k×n

n...

n·m

m

Implementación multimóduloRAM 2k×(n∙m) usando m RAM 2k×n

ceweoe

66

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Varias RAM se pueden componer para comportarse como una RAM de mayor profundidad.

ak-1..0

k k k

n

...RAM 2k×n

RAM 2k×n

n

RAM 2k×n

n

n

2m-k

0 2m‐k‐1

am-1...k

...1

m-k

Implementación multimóduloRAM 2m×n usando 2m‐k RAM 2k×n

bus

CE CE CE

weoe

67

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cuando un sistema secuencial realiza un algoritmo complejo no es viable especificarlo mediante un diagrama de estados.

Diseño algorítmico: implementa un algoritmo en hardware.o Ruta de datos: realiza las operaciones y almacena resultados parciales.o Controlador: secuencia la realización de las operaciones según lo indicado 

por el algoritmo.

Ruta de datos

Controlador

Señales decontrolSeñales de

estado

Entradade datos

Salidade datos

Salidade control

Entradade control

módulos aritméticoslógica discretaregistroscontadores ...

máquina de estados

68

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: interfaz

Multiplicador

A B

iniciofin

clk

R

64

32 32

rst

110101

000110000000

+ 011000

011110

a2a1a0

b2b1b0

(000a2a1a0) b0(00a2a1a00) b1

+ (0a2a1a000) b2

1. Especificación de alto nivel

XXXXXXXX 0000001E

00000006

00000005

A

B

inicio

fin

R

clk

r5r4r3r2r1r0

Algoritmo para operandos de 3 bits

carga operandos

vuelcaresultado

69

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

2. Especificación del algoritmo

Algoritmo para operandos de 3 bits

Para operandos de 32 bits el bucle sería de 0 to 31

70

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐

2. Especificación del algoritmo

71

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 1

2. Especificación del algoritmo

72

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1

2. Especificación del algoritmo

73

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1

2. Especificación del algoritmo

74

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1

2. Especificación del algoritmo

75

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0

2. Especificación del algoritmo

76

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0

2. Especificación del algoritmo

77

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0

2. Especificación del algoritmo

78

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 06. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1

2. Especificación del algoritmo

79

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 06. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 14. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1

2. Especificación del algoritmo

80

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 06. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 14. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 15. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1

2. Especificación del algoritmo

81

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 06. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 14. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 15. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 16. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0

2. Especificación del algoritmo

82

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Especificación de alto nivel: algoritmo

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 2 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0

1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 13. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 14. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 15. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 16. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 04. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 05. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 06. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 14. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 15. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 16. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0

2. Especificación del algoritmo

83

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Diseño de la ruta de datos

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

3. Diseño de la ruta de datos

Algoritmo para operandos de 32 bits

84

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Elementos de almacenamiento

REG R

REG A

REG B

ld

ldcl

cl

clld

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;64

64

32

64

64

32

CONT ASC0‐31 ce

cl

5

3. Diseño de la ruta de datos

85

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC0‐31

Desplazamiento de operandos

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

lsh

rsh

64

64

32

cecl

5

3. Diseño de la ruta de datos

86

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC0‐31

Conexión con el exterior

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

lsh

rsh

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

64

64

32

32

A B

0

R

32

cecl

5

3. Diseño de la ruta de datos

87

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Suma de productos parciales

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

lsh

rsh

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

64

64

64

+

32

32

32

A B

0

R

cecl

5

3. Diseño de la ruta de datos

CONT ASC0‐31

88

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Inicialización y almacenaje

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

lsh

rsh

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

64

64

64

+

32

32

A B

0

R

64

10

0 64

32

cecl

5

3. Diseño de la ruta de datos

CONT ASC0‐31

89

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Chequeo de condiciones

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

lsh

rsh

64

64

64

+

32

32

A B

0

R

64

10

0 64

B032

31

cecl

5

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

3. Diseño de la ruta de datos

CONT ASC0‐31

90

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Detección del fin del bucle

REG R

SHT REG A

SHT REG B

ld

ldcl

cl

clld

64

64

32

lsh

rsh

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:=0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

64

64

64

+

32

32

A B

0

R

64

10

0 64

B032

31

cecl

= 0

5

5C C=0

3. Diseño de la ruta de datos

CONT ASC0‐31

91

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Señales de control

6464

64

REG R

64

SHT REG A

10

64

64

32

32 SHT REG B

32

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

64+

ld

ldB

ldA

selR

ldR

lshA

rshB

B032

31

ceCcecl

= 0

5

4. Identificación de las señales de control

CONT ASC0‐31

92

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Señales de estado

6464

64

REG R

64

SHT REG A

10

64

64

32

32 SHT REG B

32

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

64+

ld

ldB

ldA

selR

ldR

lshA

rshB

B032

31B0

Cz

ceCcecl

= 0

5

5. Identificación de las señales de estado

CONT ASC0‐31

93

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Conexión del reloj y reset

6464

64

REG R

64

SHT REG A

10

64

64

32

32 SHT REG B

32

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

64+

ld

ldB

ldA

selR

ldR

lshA

rshB

B0

Cz

clk rst

B032

31

ceCcecl

= 0

5

CONT ASC0‐31

94

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONTR

OLADO

R

inicio

fin

Conexión con el controlador

6464

64

REG R

64

SHT REG A

10

64

64

32

32 SHT REG B

32

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

64+

ld

ldB

ldA

selR

ldR

lshA

rshB

B0

Cz

clk rst

cl

B032

31

ceCcecl

= 0

5

CONT ASC0‐31

95

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC0‐31

Estructura del sistema completo

CONTR

OLADO

R

6464

64

REG R

64

SHF REG A

10

64

64

32

32 SHT REG BldB

32

ld

ldcl

cl

cl

A B

0

0

R

ldA

selR

ldR

lsh lshA

B0

rsh rshB

B0

Cz

clk rst

cl

inicio

fin

64+

ld

RUTA DE DATOS

32

31

ceCcecl

= 0

5

96

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Formalismo ASM (Algorithmic State Maquine)

Para facilitar la expresión del algoritmo como una FSM usaremos un diagrama ASM como formalismo intermedio.

Un diagrama ASM es un grupo de bloques interconectados.o Cada bloque se corresponde con un estado de la FSM e indica las 

acciones que se realizan en paralelo en dicho estado. 

Todo bloque (recuadro azul) esta formado por:o 1 caja de estado (rectangular): que indica las transferencias entre 

registros que se realizan incondicionalmente en el estado.o 0..n cajas de selección (romboidales): indican las condiciones bajo 

las cuales se que se determina el estado siguiente del sistema o se realizan ciertas transferencias entre registros.

o 0..n cajas condicionales (ovaladas): indica las trasferencias entre registros que se realizan condicionalmente en un estado.

97

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

S0

Algoritmo en ASM

1

0inicio

RA AinRB Bin

fin 1begin

1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

98

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

S1

Algoritmo en ASM

1

0

RR 0fin 0

inicio

RA AinRB Bin

fin 1begin

1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;10

B0

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

99

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo en ASM

1

0

RR 0fin 0

inicio

RA AinRB Bin

fin 1begin

1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;RA RA << 1RB RB >> 1RC RC + 1

fin 0

10B0

S2

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

100

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo en ASM

1

0

RR 0fin 0

inicio

RA AinRB Bin

fin 1begin

1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;RR RA + RRRA RA << 1RB RB >> 1RC RC + 1

fin 0

RA RA << 1RB RB >> 1RC RC + 1

fin 0

10B0

S3

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

101

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo en ASM

(Cz,B0)0100

1X

1

0

S4

RR 0fin 0

inicio

RA AinRB Bin

fin 1begin

1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;RR RA + RRRA RA << 1RB RB >> 1RC RC + 1

fin 0

RA RA << 1RB RB >> 1RC RC + 1

fin 0

fin 0

10B0

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

102

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo en ASM

6. Reformulación del algoritmo como unasecuencia de transferencias entre registros

RR RA + RRRA RA << 1RB RB >> 1RC RC + 1

fin 0

RA RA << 1RB RB >> 1RC RC + 1

fin 0

(Cz,B0)

fin 0

10

0100

1X

1

0S0

S1

S3S2

S4

RR 0fin 0

inicio

RA AinRB Bin

fin 1

B0

begin1. A := Ain;2. B := Bin;3. R := 0;

for C:= 0 to 31 do begin4. if B0=1 then R := R+A;5. A := A << 1;6. B := B >> 1;

end for;7. Rout := R;

end;

103

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo en ASM

RR RA + RRRA RA << 1RB RB >> 1RC RC + 1

fin 0

RA RA << 1RB RB >> 1RC RC + 1

fin 0

(Cz,B0)

fin 0

10

0100

1X

1

0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

S0

S1

S3S2

S4

RR 0fin 0

inicio

RA AinRB Bin

fin 1

B0

tiempo de cálculo: 2+32×2 = 66 ciclos

104

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Algoritmo como una FSM

S2 S3

S0

S1

S4 estado ldB rshB ldA lshA ceC selR ldR finS0 1 0 1 0 0 ‐ 0 1S1 0 0 0 0 0 0 1 0S2 0 1 0 1 1 ‐ 0 0S3 0 1 0 1 1 1 1 0S4 0 0 0 0 0 ‐ 0 0

Estado inicial

(1,X,X)

(X,X,1)(X,X,0)

(X,1,X)

(X,0,1)(X,0,0)

(X,X,X) (X,X,X)

estado inicio Cz B0 estado'S0 0 X X S0S0 1 X X S1S1 X X 0 S2S1 X X 1 S3S2 X X X S4S3 X X X S4S4 X 0 0 S2S4 X 0 1 S3S4 X 1 X S0

(0,X,X)

entradas del controlador: (inicio, Cz, B0) 7. Especificación del controlador como FSM

Función de transición de estados

Función de salida

105

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

6464

64

64

64

64

32

32

32

64

32

31

B0

CONTR

OLADO

R

ldB

ldA

selR

ldR

lshA

rshB

B0

Cz

cl

Diseño del controlador

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC ceCcecl

= 0

5

8. Diseño del controlador

106

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

ROM + registro de estado

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

6464

64

64

64

64

32

32

32

64

32

31

B0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC cecl

= 0

5

8. Diseño del controlador

107

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Generación del contenido de la ROMq 2 q 1 q 0

inicio

Cz B0 q 2'

q 1'

q 0'

ldB

rshB ldA

lshA

ceC

selR

ldR fin

a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d00 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 10 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 0 2 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 1 3 0 0 0 1 0 1 0 0 0 0 10 0 0 1 0 0 40 0 0 1 0 1 50 0 0 1 1 0 60 0 0 1 1 1 70 0 1 0 0 0 80 0 1 0 0 1 90 0 1 0 1 0 100 0 1 0 1 1 110 0 1 1 0 0 120 0 1 1 0 1 130 0 1 1 1 0 140 0 1 1 1 1 15

... ... ...1 1 1 1 1 1 63

estado ldB rshB ldA lshA ceC selR ldR finS0 1 0 1 0 0 ‐ 0 1S1 0 0 0 0 0 0 1 0S2 0 1 0 1 1 ‐ 0 0S3 0 1 0 1 1 1 1 0S4 0 0 0 0 0 ‐ 0 0

estado inicio Cz B0 estado'S0 0 X X S0S0 1 X X S1S1 X X 0 S2S1 X X 1 S3S2 X X X S4S3 X X X S4S4 X 0 0 S2S4 X 0 1 S3S4 X 1 X S0

ROM 64×11 8. Diseño del controladordirección

108

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Generación del contenido de la ROMq 2 q 1 q 0

inicio

Cz B0 q 2'

q 1'

q 0'

ldB

rshB ldA

lshA

ceC

selR

ldR fin

a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d00 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 10 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 0 2 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 1 3 0 0 0 1 0 1 0 0 0 0 10 0 0 1 0 0 4 0 0 1 1 0 1 0 0 0 0 10 0 0 1 0 1 5 0 0 1 1 0 1 0 0 0 0 10 0 0 1 1 0 6 0 0 1 1 0 1 0 0 0 0 10 0 0 1 1 1 7 0 0 1 1 0 1 0 0 0 0 10 0 1 0 0 0 80 0 1 0 0 1 90 0 1 0 1 0 100 0 1 0 1 1 110 0 1 1 0 0 120 0 1 1 0 1 130 0 1 1 1 0 140 0 1 1 1 1 15

... ... ...1 1 1 1 1 1 63

estado ldB rshB ldA lshA ceC selR ldR finS0 1 0 1 0 0 ‐ 0 1S1 0 0 0 0 0 0 1 0S2 0 1 0 1 1 ‐ 0 0S3 0 1 0 1 1 1 1 0S4 0 0 0 0 0 ‐ 0 0

estado inicio Cz B0 estado'S0 0 X X S0S0 1 X X S1S1 X X 0 S2S1 X X 1 S3S2 X X X S4S3 X X X S4S4 X 0 0 S2S4 X 0 1 S3S4 X 1 X S0

ROM 64×11 8. Diseño del controladordirección

109

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Generación del contenido de la ROMq 2 q 1 q 0

inicio

Cz B0 q 2'

q 1'

q 0'

ldB

rshB ldA

lshA

ceC

selR

ldR fin

a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d00 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 10 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 0 2 0 0 0 1 0 1 0 0 0 0 10 0 0 0 1 1 3 0 0 0 1 0 1 0 0 0 0 10 0 0 1 0 0 4 0 0 1 1 0 1 0 0 0 0 10 0 0 1 0 1 5 0 0 1 1 0 1 0 0 0 0 10 0 0 1 1 0 6 0 0 1 1 0 1 0 0 0 0 10 0 0 1 1 1 7 0 0 1 1 0 1 0 0 0 0 10 0 1 0 0 0 8 0 1 0 0 0 0 0 0 0 1 00 0 1 0 0 1 90 0 1 0 1 0 10 0 1 0 0 0 0 0 0 0 1 00 0 1 0 1 1 110 0 1 1 0 0 12 0 1 0 0 0 0 0 0 0 1 00 0 1 1 0 1 130 0 1 1 1 0 14 0 1 0 0 0 0 0 0 0 1 00 0 1 1 1 1 15

... ... ...1 1 1 1 1 1 63

estado ldB rshB ldA lshA ceC selR ldR finS0 1 0 1 0 0 ‐ 0 1S1 0 0 0 0 0 0 1 0S2 0 1 0 1 1 ‐ 0 0S3 0 1 0 1 1 1 1 0S4 0 0 0 0 0 ‐ 0 0

estado inicio Cz B0 estado'S0 0 X X S0S0 1 X X S1S1 X X 0 S2S1 X X 1 S3S2 X X X S4S3 X X X S4S4 X 0 0 S2S4 X 0 1 S3S4 X 1 X S0

ROM 64×11 8. Diseño del controladordirección

110

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Generación del contenido de la ROMq 2 q 1 q 0

inicio

Cz B0 q 2'

q 1'

q 0'

ldB

rshB ldA

lshA

ceC

selR

ldR fin

a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d00 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 10 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 10 0 0 0 1 0 2 0 0 0 1 0 1 0 0 1 1 10 0 0 0 1 1 3 0 0 0 1 0 1 0 0 1 1 10 0 0 1 0 0 4 0 0 1 1 0 1 0 0 1 1 10 0 0 1 0 1 5 0 0 1 1 0 1 0 0 1 1 10 0 0 1 1 0 6 0 0 1 1 0 1 0 0 1 1 10 0 0 1 1 1 7 0 0 1 1 0 1 0 0 1 1 10 0 1 0 0 0 8 0 1 0 0 0 0 0 0 0 1 00 0 1 0 0 1 9 0 1 1 0 0 0 0 0 0 1 00 0 1 0 1 0 10 0 1 0 0 0 0 0 0 0 1 00 0 1 0 1 1 11 0 1 1 0 0 0 0 0 0 1 00 0 1 1 0 0 12 0 1 0 0 0 0 0 0 0 1 00 0 1 1 0 1 13 0 1 1 0 0 0 0 0 0 1 00 0 1 1 1 0 14 0 1 0 0 0 0 0 0 0 1 00 0 1 1 1 1 15 0 1 1 0 0 0 0 0 0 1 0

... ... ...1 1 1 1 1 1 63

estado ldB rshB ldA lshA ceC selR ldR finS0 1 0 1 0 0 ‐ 0 1S1 0 0 0 0 0 0 1 0S2 0 1 0 1 1 ‐ 0 0S3 0 1 0 1 1 1 1 0S4 0 0 0 0 0 ‐ 0 0

estado inicio Cz B0 estado'S0 0 X X S0S0 1 X X S1S1 X X 0 S2S1 X X 1 S3S2 X X X S4S3 X X X S4S4 X 0 0 S2S4 X 0 1 S3S4 X 1 X S0

ROM 64×11 8. Diseño del controladordirección

111

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

000

XXXXXX

000000

0000

1

1

0

0

0

0

0000000

000000

XXXXXX

XXXXXX

000

1

B0

cecl

= 0

0

00

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC0‐2

112

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

000

000000

XXXXXX

000000

001

1

1

0

0

0

0

1101110

000110

XXXXXX1

B0000

0

cecl

= 0

0

00

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC0‐2

113

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

001

000110

0

0

0

0

1

0

XXXXXXX

XXXXXX

XXXXXX

000000

XXXXXX

011

0

B0101

1

cecl

= 0

0

00

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC0‐2

114

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

011

000110

0

0

1

1

1

1

XXXXXXX

XXXXXX

000110

000110

000000

100

0

B0101

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

1

00

1

CONT ASC0‐2

115

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

100

001100

0

0

0

0

0

0

XXXXXXX

XXXXXX

010010

000000

000110

010

0

B0010

0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

0

01

0

CONT ASC0‐2

116

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

010010

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

010

001100

0

0

1

0

0

1

XXXXXXX

XXXXXX

000000

000110

110

0

B0010

0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

1

0

01

CONT ASC0‐2

117

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

011110

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

100

011000

0

0

0

0

0

0

XXXXXXX

XXXXXX

000000

000110

011

0

B0001

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

0

10

0

CONT ASC0‐2

118

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

011110

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

110

011000

0

0

1

1

1

1

XXXXXXX

XXXXXX

011110

000110

100

0

B0001

1

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

1

0

10

CONT ASC0‐2

119

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

001110

Simulación del sistema (operandos de 3 bits) 

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

100

110000

0

0

0

0

0

0

XXXXXXX

XXXXXX

000000

011110

000

0

B0000

0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

0

00

1

CONT ASC0‐2

120

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

001110

Simulación del sistema (operandos de 3 bits)

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

000

110000

1

1

0

0

0

0

XXXXXXX

XXXXXX

000000

011110

000

1

B0000

0

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

cecl

= 0

0

00

1

CONT ASC0‐2

121

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

A

B

inicio

fin

R

clk

estado

RB

RC

RA

000

000

XXXXXX

110

101

000

00

101

000000 000110

S0 S1 S3 S4 S2 S4 S3 S4 S0

010 001 000

001100 011000 110000

01 10 00

000110 011110

101

000110

000000

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

tiempo de cálculo: 2+3×2 = 8 ciclos

122

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Otro posible controlador: ROM + contador

S2 S3

S0

S1

S4

Estado inicial

(1,X,X)

(X,X,1)(X,X,0)

(X,1,X)

(X,0,1)(X,0,0)

(X,X,X) (X,X,X)

(0,X,X)

entradas del controlador: (inicio, Cz, B0)

ROM64×13

a5 a2

ldrselRceClshAldA

rshBldB

fin d0

d1

d2

d3

d4

d5

d6

a4 a3 a0a1

inic

ioB

0 Cz

d10

d7

d8

d9

d12d11

CONTcl e2 e1 e0

q2 q1 q0 celd

q inicio Cz B0 e ld ceS0 0 X X ‐ 0 0S0 1 X X ‐ 0 1S1 X X 0 ‐ 0 1S1 X X 1 S3 1 0S2 X X X S4 1 0S3 X X X ‐ 0 1S4 X 0 0 S2 1 0S4 X 0 1 S3 1 0S4 X 1 X S0 1 0

123

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del coste y tiempo de ciclo

+6464

64

10

64

64

64

FAFA64

64

área: 64×29.49 = 1887 m2

retardo: 64×226 = 14464 ps

área: 64×11.05 = 707.2 m2

retardo: 1×223 = 223 ps

REGcl

ld

n

n

n

n

área: n×11.05 + n×32.26 = n×43.31 m2

retardo CLKQ: 1×167 = 167 psretardo inD: 1×223 = 223 ps

ROM64×11

CONT ASC cecl tc

5

SHT REG ldcl

n

sh

n

64

área: n×23.04 + n×32.26 = n×55.3 m2

retardo CLKQ: 1×167 = 167 psretardo inD: 1×250 = 250 ps

HAHA5

5

área: 5×15.77 + 5×32.26 = 240.6 m2

retardo CLKQ: 1×167 = 167 psretardo inD: 5×114 = 570 ps

área: 971 m2

retardo: 573 ps= 0

área: 15,67 m2

retardo: 126 ps

124

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

6464

64

64

64

64

32

32

32

64

32

31

B0

14464

573

167 250

167 250

167 223

223

167

223

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (B0=0) ir a S2;si (B0=1) ir a S3;

S2 RA RA << 1; RB RB >> 1;RC RC + 1; fin 0;ir a S4;

S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0;ir a S4;

S4 fin 0; si (Cz=1) ir a S0;si (Cz=0 y B0=0) ir a S2;si (Cz=0 y B0=1) ir a S3;

CONT ASC cecl

= 0

5

167 570

126

125

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

SHT REG A ldcl

A

0

lsh

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

64

32

32

573

250

167

transferencia retardo

RA Ain 990 ps

126

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

SHT REG B ldcl

B

rsh

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

32

573

250

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

127

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

fin

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

573

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

128

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

REG R

10

cl

0

ld

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

64

64

64

573

223

223

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

129

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

SHT REG A ldcl lsh

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

573

250

167

167 transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

130

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

SHT REG B ldcl rsh

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

573

250

167

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

131

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

REG R

SHT REG A

10

ldcl

cl

0

R

lsh

+

ld

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

6464

64

64

64

64

14464

573

167

167 223

223

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

RR RA + RR 15077ps

132

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONT ASC

Cálculo del tiempo de ciclo

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

573

167

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

RR RA + RR 15077ps

RC RC + 1 1350 ps

cecl

570

133

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

REGcl

ROM64×11

3

a5 a0d10

d0

. . .

. . .

573

167

3

223

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

RR RA + RR 15077ps

RC RC + 1 1350 ps

cálculo de estado 1089 ps

CONT ASC cecl

= 0

5

167

126

SHT REG B ldcl rsh

inicio

32

31

B0

167

134

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del tiempo de ciclo

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

6464

64

64

64

64

32

32

32

64

32

31

B0

14464

573

167 250

167 250

167 223

223

167

223

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

RR RA + RR 15077ps

RC RC + 1 1350 ps

cálculo de estado 1089 ps

máximo 15077ps

1 115077 ∙ 10 s

CONT ASC cecl

= 0

5

167 570

126

tiempo de cálculo: 1 s(66 ciclos × 15077 ps/ciclo)

135

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Cálculo del coste

REG R

SHT REG A

10

SHT REG B

ld

ldcl

cl

cl

A B

0

0

R

lsh

rsh

+

ld

inicio

fin

REGcl

ROM64×11

3

3

a5 a0d10

d0

. . .

. . .

6464

64

64

64

64

32

32

32

64

32

31

B0

1770

transferencia retardo

RA Ain 990 ps

RB Bin 990 ps

fin X 740 ps

RR 0 1186 ps

RA RA << 1 990 ps

RB RB >> 1 990 ps

RR RA + RR 15077ps

RC RC + 1 1350 ps

cálculo de estado 963 ps

máximo 15077ps

1 115077 ∙ 10 s

3539

1887

707

2772

241

130

971

área: 12033 m2

CONT ASC cecl

= 0

516

tiempo de cálculo: 1 s(66 ciclos × 15077 ps/ciclo)

136

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Máximo comúndivisor

A B

iniciofin

clk

R

n

n n

rst

algoritmo de Euclides

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

A3A2A1A0 B3 B2B1B0 R3R2R1 R0

1. 1 0 0 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐2. 1 0 0 1 0 1 1 0 ‐ ‐ ‐ ‐3. 1 0 0 1 0 1 1 0 0 0 0 04. 0 0 1 1 0 1 1 0 0 0 0 05. 0 0 1 1 0 0 1 1 0 0 0 06. 0 0 1 1 0 0 1 1 0 0 1 1

137

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

138

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG A ldcl

REG B ldcl

REG R

n

cl ld

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

n

n

139

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

REG A ldcl

n

REG B ldcl

REG R

n

cl

R

ld

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

n

n

140

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

REG B ldcl

n

REG R

n

cl

R

ld

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

n

n

n

141

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

REG R

n

cl

R

ld

A

n

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

n

142

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

n

n

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

143

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

A<>0 y B<>0

n

n

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

n

n A<>0 y B<>0

A

B

144

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

A ? B

A<>0 y B<>0

n

n

01

0n

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

2

zA=B 00A>B 10A<B 01

145

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

A ? B

A<>0 y B<>0

n

n

01

0n

2

selA

ldA

seli

selR

selB

ldB

seld

ldR

146

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

A ? B

A<>0 y B<>0

n

n

01

0n

2

selA

ldA

seli

selR

selB

ldB

seld

ldR

cmp

nz

147

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

CONTR

OLADO

R

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

n

0 1

REG R

n

cl

R

ld

A B

A ? B

A<>0 y B<>0

n

n

selA

cmp

ldA

seli

selR

nz

selB

cl

ldB

seld

2

01

0n

ldR

fin

inicio

RUTA DE DATOS

148

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

inicio

1

0S0

RA AinRB Bin

fin 1

149

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

RR 0fin 0

nz0

inicio

1

0

S1

RA AinRB Bin

fin 1

1

150

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

fin 0

cmp0110

S2

RB RB-RARA RA-RB

00

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

RR 0fin 0

nz0

inicio

1

0

RA AinRB Bin

fin 1

1

151

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

RR 0fin 0

nz

1

0

inicio

1

0

fin 0

cmp0110

RB RB-RARA RA-RB

RR RAS3

00

RA AinRB Bin

fin 1

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

152

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

RR 0fin 0

nz

1

0

inicio

1

0S0

S1

fin 0

cmp0110

S2

RB RB-RARA RA-RB

RR RAS3

00

RA AinRB Bin

fin 1

begin1. A := Ain;2. B := Bin;3. R := 0;

if (A<>0 and B<>0) thenbegin

while (A<>B) doif A>B then

4. A := A – B;else

5. B := B – A;6. R := A;

end if;7. Rout := R;

end;

153

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

RR 0fin 0

nz

1

0

inicio

1

0S0

S1

fin 0

cmp0110

S2

RB RB-RARA RA-RB

RR RAS3

00

RA AinRB Bin

fin 1

S0 RA Ain; RB Bin; RR 0; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 fin 0;si (nz=0) ir a S0;si (nz=1) ir a S2;

S2 fin 0;si (cmp=00) ir a S3;si (cmp=10) RA RA-RB, ir a S2;si (cmp=01) RB RB-RA, ir a S2;

S3 RR RA; ir a S0;

154

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

entradas del controlador:

S2

S0

S1

Estado inicial

(1,X,X)

(X,0,X)

(inicio, nz, cmp)

estado inicio nz cmp1 cmp0 estado'S0 0 X X X S0S0 1 X X X S1S1 X 0 X X S0S1 X 1 X X S2S2 X X 0 0 S0S2 X X 0 1 S2S2 X X 1 0 S2S3 X X X X S0

(0,X,X)

(X,1,X)

S3

(X,X,10)

(X,X,X)

(X,X,00)(X,X,01)

estado cmp1 cmp0 selA selB ldA ldB seli seld selR ldR finS0 X X 0 0 1 1 ‐ ‐ ‐ 0 1S1 X X ‐ ‐ 0 0 ‐ ‐ 1 1 0S2 0 0 ‐ ‐ 0 0 ‐ ‐ ‐ 0 0S2 0 1 ‐ 1 0 1 0 0 ‐ 0 0S2 1 0 1 ‐ 1 0 1 1 ‐ 0 0S2 1 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐S3 X X 0 0 0 0 ‐ ‐ 0 1 0

compatibles compatibles

155

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

entradas del controlador:

S2

S0

S1

Estado inicial

(1,X,X)

(X,0,X)

(inicio, nz, cmp)

estado inicio nz cmp1 cmp0 estado'S0 0 X X X S0S0 1 X X X S1S1 X 0 X X S0S1 X 1 X X S2S2 X X 0 0 S0S2 X X 0 1 S2S2 X X 1 0 S2S3 X X X X S0

(0,X,X)

(X,1,X)

S3

(X,X,10)

(X,X,X)

(X,X,00)(X,X,01)

estado cmp1 cmp0selAselBselR

ldAseliseld

ldB ldR fin

S0 X X 0 1 1 0 1S1 X X 1 0 0 1 0S2 0 0 ‐ 0 0 0 0S2 0 1 1 0 1 0 0S2 1 0 1 1 0 0 0S2 1 1 ‐ ‐ ‐ ‐ ‐S3 X X 0 0 0 1 0

156

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

-

01

1 0

REG A ldcl

n

n

01

REG B ldcl

n

0 1

REG R

n

cl

R

ld

A B

A ? B

A<>0 y B<>0

n

n2

01

0n

REGcl

2

3

ROM64×7

a5 a0d6

d0

. . .

. . .

fin

inicio

n

selA

cmp

ldA

seli

selR

nz

selB

ldB

seld

ldR

157

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

A

B

inicio

clk

estado

RB

RA

0000

0000

1001

0110

0000 0110

0000 1001

S0 S1 S2 S3 S0

0011 0110

0011 1001

S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0;si (inicio=1) ir a S1;

S1 RR 0; fin 0;si (nz=0) ir a S0;si (nz=1) ir a S2;

S2 fin 0;si (cmp=00) ir a S3;si (cmp=10) RA RA-RB, ir a S2;si (cmp=01) RB RB-RA, ir a S2;

S3 RR RA; ir a S0;

fin

R XXXX 00110000

cmp 00 00 1010 01

158

FC

vers

ión

12/0

9/14

tema 7:

Mód

ulos secue

nciales bá

sicos

Licencia CC (Creative Commons)o Ofrece algunos derechos a terceras personas bajo ciertas 

condiciones. Este documento tiene establecidas las siguientes:

Más información: https://creativecommons.org/licenses/by‐nc‐sa/4.0/

Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licenciahará falta reconocer la autoría. 

No comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales.

Compartir igual (Share alike):La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas.