Tema 7: Módulos secuenciales básicos - fdi.ucm.es · Rutas de datos y controladores. ... tc 1...
Transcript of Tema 7: Módulos secuenciales básicos - fdi.ucm.es · Rutas de datos y controladores. ... tc 1...
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.