Vous êtes sur la page 1sur 478

TDM I - SISTEMAS DIGITAIS

CIRCUITOS LGICOS
SISTEMAS E SUBSISTEMAS DIGITAIS
MICROELETRONICA
+
=
MOTIVAO
MOTIVAO
TDM I - SISTEMAS DIGITAIS
CIRCUITOS LGICOS
SISTEMAS E SUBSISTEMAS DIGITAIS
MICROELETRONICA

SISTEMAS OPERACIONAIS
+
=
MOTIVAO
TDM I - SISTEMAS DIGITAIS
CIRCUITOS LGICOS
SISTEMAS E SUBSISTEMAS DIGITAIS
MICROELETRONICA

SISTEMAS OPERACIONAIS
REDES
+
=
TDM I - SISTEMAS DIGITAIS
CIRCUITOS LOGICOS
+ =
PROJETO DE SISTEMAS
COMBINACIONAIS E SEQUENCIAIS
SIMPLES
TDM I - SISTEMAS DIGITAIS
SISTEMAS DIGITAIS
Combinacionais e Sequenciais
nfase em Automao
PROJETO DE CIRCUITOS
COMPLEXOS ?
EMENTA
TDM I - SISTEMAS DIGITAIS
MODULOS COMBINACIONAIS FIXOS
MODULOS COMBINACIONAIS ARITMTICOS FIXOS
REPRESENTAO NUMRICA BINRIA EM PONTO FIXO
ARITMTICA BINRIA EM PONTO FIXO
MODULOS SEQUENCIAIS FIXOS
PROJETOS DE SISTEMAS DIGITAIS
SUBSISTEMA DE CONTROLE
BIBLIOGRAFIA
TDM I - SISTEMAS DIGITAIS
INTRODUO AOS SISTEMAS DIGITAIS
MILOS ERCEGOVAC, TOMAS LANG, JAIME MORENO
BOOKMAN
PRINCIPLES OF DIGITAL DESIGN
DANIEL D. GAJSKI
PRENTICE HALL
SISTEMAS DIGITAIS FUNDAMENTOS E APLICAES
T. L. FLOYD
BOOKMAN
Apostilas no site:
www.corradi.junior.nom.br
EXERCICIO 1
(CIRC. LOGICOS)
TDM I - SISTEMAS DIGITAIS
EXPRESSES DE CHAVEAMENTO E
CIRCUITO

OBS: ESTA ESPECIFICAO TAMBEM
PODERIA SER ATENDIDA POR UM PROJETO
BASEADO EM MODULOS FIXOS, MODULOS
PROGRAMAVEIS E EM
MICROCOMPUTADOR
EM UM PROGRAMA DE PERGUNTAS E RESPOSTAS, O APRESENTADOR FAZ UMA
PERGUNTA PARA 3 PARTICIPANTES. AQUELE QUE SOUBER A RESPOSTA,
PRESSIONA UM BOTO COLOCADO A SUA FRENTE, QUE, POR SUA VEZ, FAZ COM
QUE UM LED ASSOCIADO AO BOTO SEJA ACESO, CASO NENHUM OUTRO
CANDIDATO TENHA, PREVIAMENTE, PRESSIONADO O SEU CORRESPONDENTE
BOTO. O LED DEVE FICAR ACESO AT QUE O APRESENTADOR PRESSIONE UM
BOTO DE RESET.
CASO HAJA BOTES PRESSIONADOS SIMULTANEAMENTE A PRIORIDADE DEVE SER
: BOTO 1 , DEPOIS, BOTO 2 E, FINALMENTE BOTO 3.
PROJETE UM CIRCUITO QUE ATENDA AS ESPECIFICAES ACIMA, USANDO
PORTAS LOGICAS E FLIP-FLOPs TIPO D COM PRESET E CLEAR, SABENDO QUE : OS
LEDs DEVEM SER ACESOS EM NIVEL 0; O CIRCUITO DEVE SER SINCRONO;
APENAS O BOTO DO APRESENTADOR ASSINCRONO; DEVE EXISTIR UM FLIP-
FLOP POR CANDIDATO E O CLOCK NO PODE SER DESABILITADO.

SISTEMAS DIGITAIS
PROJETO DE SISTEMAS
COMBINACIONAIS E SEQUENCIAIS
SIMPLES
CIRCUITOS INTEGRADOS
DISPONIVEIS
PROJETO DE SISTEMAS
COMBINACIONAIS E SEQUENCIAIS
COMPLEXOS
SISTEMAS DIGITAIS
MODULOS COMBINACIONAIS FIXOS
DECODIFICADORES
CODIFICADORES
CODIFICADORES DE PRIORIDADE
MULTIPLEXADORES
DEMULTIPLEXADORES
DESLOCADORES
SISTEMAS DIGITAIS
DECODIFICADORES
X
O
Y
0
X
1
Y
1
X
2
Y
2
. .
. .
X
N-1
Y
N-1
.
.
E Y
2
N
-1

ESPECIFICAO
ENTRADAS: X : X = (X
N-1
,......,X
0
) X
J
e {0,1}
E : E e {0,1}
SAIDAS : Y : Y = (Y
2
N
-1
,......,Y
0
) Y
J
e {0,1}
FUNO : Y
I
= 1 SE (X=I) E (E=1)
Y
I
= 0 CASO CONTRARIIO
N-1
EM QUE: X = X
J
2
J
E I = 0,1...,2
N
1
J= 0

REDES DECODIFICADORAS
SISTEMAS DIGITAIS
DECODIFICAO
COINCIDENTE
REDES DECODIFICADORAS
SISTEMAS DIGITAIS
E
E
DECODIFICAO
EM ARVORE
VANTAGEM ?
DESVANTAGEM ?
EXERCICIO 2
SISTEMAS DIGITAIS
GND
0
1
2
31
CHAVE
ROTATIVA
VCC
32
0 1 2 31
.....
EXERCICIO 2 CONTINUAO
SISTEMAS DIGITAIS
GND
0
1
2
31
CHAVE
ROTATIVA
VCC
BLOCO
CODIFICADOR
BLOCO
DECODIFICADOR
5
?
PROJETE O BLOCO DECOFICADOR ACIMA, USANDO
CIs 74LS138 E USE DECODIFICAO EM ARVORE
IO #O0
I1 #O1
I2 #O2
#E .
#E .
E #O7
74LS138
.....
CODIFICADOR
SISTEMAS DIGITAIS
X
0
Y
0
X
1
Y
1
X
2
Y2
. .
. .
X
N-1
Y
N-1


X
2
N
-1

E A

ESPECIFICAO
ENTRADAS: X : X = (X
2
N
-1
,......,X
0
) X
J
e {0,1}
E : E e {0,1}
SAIDAS : Y : Y = (Y
N-1
,......,Y
0
) Y
J
e {0,1}
A : A e {0,1}
FUNO : Y = I SE (X
I
=1) E (E=1)
Y = 0 CASO CONTRARIO
A = 1 SE (ALGUM X
I
= 1) E (E =1)
A = 0 CASO CONTRARIO
N-1
EM QUE: Y = Y
J
2
J
E I = 0,1...,2
N
1
J= 0
EXERCICIO 3
SISTEMAS DIGITAIS
GND
0
1
2
31
CHAVE
ROTATIVA
VCC
BLOCO
CODIFICADOR
BLOCO
DECODIFICADOR
5
?
PROJETE O BLOCO COFICADOR ACIMA, USANDO
CIs DO TIPO DESENHADO AO LADO
IO O0
I1 O1
I2 O2
I3 .
I4 .
I5
I6
I7
E A
CODIFICADOR
.....
EXERCICIO 4
SISTEMAS DIGITAIS
PROJETE UM SISTEMA COMBINACIONAL QUE TENHA UMA
ENTRADA X DE 3 BITS, REPRESENTANDO OS DIGITOS DE
0 A 7 E UMA SAIDA Y DE 3 BITS REPRESENTANDO O
MESMO CONJUNTO DE NUMEROS, SABENDO QUE A
FUNO DO SISTEMA Y = (3X) MOD 8.
OBS: USO OBRIGATORIO DE DECOD. E CODIFIC.
CODIFICADOR DE PRIORIDADE
SISTEMAS DIGITAIS
X
0
Y
0
X
1
Y
1
X
2
Y2
. .
. .
X
N-1
Y
N-1


X
2
N
-1

E A

ESPECIFICAO
ENTRADAS: X : X = (X
2
N
-1
,......,X
0
) X
J
e {0,1}
E : E e {0,1}
SAIDAS : Y : Y = (Y
N-1
,......,Y
0
) Y
J
e {0,1}
A : A e {0,1}
FUNO : Y = I SE (X
I
=1) E (X
K
= 0 , K < I) E (E=1)
Y = 0 CASO CONTRARIO
A = 1 SE (ALGUM X
I
= 1) E (E =1)
A = 0 CASO CONTRARIO
N-1
EM QUE: Y = Y
J
2
J
E I = 0,1...,2
N
1
J= 0
EXERCICIO 5
SISTEMAS DIGITAIS
PROJETE UM SISTEMA COMBINACIONAL QUE INDIQUE
QUANTOS DESLOCAMENTOS PARA ESQUERDA DEVEMOS
EFETUAR EM UM VETOR DE 8 BITS DE MODO QUE O BIT
MAIS A ESQUERDA SEJA 1(NORMALIZAO PARA
ESQUERDA).
OBS: USE O CI ABAIXO.
IO O0
I1 O1
I2 O2
I3 .
I4 .
I5
I6
I7
E A
CODIFICADOR
DE PRIORIDADE
MULTIPLEXADOR
SISTEMAS DIGITAIS
X
0

X
1

X
2

.
.
X
N-1
Z



X
2
N
-1

E S
N-1
.....S
1
S
0

ESPECIFICAO
ENTRADAS: X : X = (X
2
N
-1
,......,X
0
) X
J
e {0,1}
S : S = (S
N-1
,......,S
0
) S
J
e {0,1}
E : E e {0,1}
SAIDAS : Z : Z e {0,1}
FUNO : Z = X
S
SE (E=1)
Z = 0 CASO CONTRARIO
N-1
EM QUE: S = S
J
2
J
E I,J = 0,1...,2
N
1
J= 0
EXERCICIO 6
SISTEMAS DIGITAIS
PROJETE UM SISTEMA COMBINACIONAL PERMITA A
ESPIONAR ,POR MEIO DE UM PAINEL DE CHAVES, 4
LINHAS DE COMUNICAO
?
L0
L1
L2
L3
EXERCICIO 7
SISTEMAS DIGITAIS
PROJETE UM SISTEMA DIGITAL PARA IMPLEMENTAR A
FUNO (ABCD)= CONJUNTO-UM (1,3,4,9,14,15)
DEMULTIPLEXADOR
SISTEMAS DIGITAIS
YO
Y1
Y2
.
.
X YN-1



Y2
N
-1
E
SN-1 .....S1S0
ESPECIFICAO
ENTRADAS: X : X e {0,1}
E : E e {0,1}
S : S = (S
N-1
,......,S
0
) S
J
e {0,1}

SAIDAS : Y : Y = (Y
2
N
-1
,......,Y
0
) Y
J
e {0,1}
FUNO : Y
I
= X SE (I = S) E (E = 1)
Y
I
=0 CASO CONTRARIIO
N-1
EM QUE: S = S
J
2
J
E I,J = 0,1...,2
N
1
J= 0

DESLOCADOR P
SISTEMAS DIGITAIS
X-P
X-P+1
.
XO YO
X1 Y1
X2 Y2
. .
. .
XN-1 YN-1
XN
XN+1 .

.
XN+P-1
E
D
S
USO:MULT/DIV POTENCIA DE 2 ALINHAMENTO DE VETORES
ESPECIFICAO
ENTRADAS: X : X = (X
N+p -1
,..,X
N
....,X
0
...X
-P
) X
J
e {0,1}
E : E e {0,1}
S : S e { P,...,0 }
D : D e {0,1} D=0: ESQUERDA D=1: DIREITA

SAIDAS : Y : Y = (Y
N-1
,......,Y
0
) Y
J
e {0,1}
FUNO : Y
I
= X
I-S
SE (D=0) E (E = 1)
Y
I
= X
I+S
SE (D=1) E (E = 1)
Y
I
= 0

SE (E = 0)

USO:
-MULTIPLICAO/DIVISO
POTENCIA DE 2

-ALINHAMENTO DE
VETORES
EXERCICIO 8
SISTEMAS DIGITAIS
PROJETE UM SISTEMA DIGITAL QUE NORMALIZE O
VETOR DO EXERCICIO 5
EXERCICIO 9
SISTEMAS DIGITAIS
DOIS SD USAM CODIGOS NO CONVENCIONAIS PARA
REPRESENTAR NUMEROS INTEIROS ENTRE 0 E 15 DA
SEGUINTE MANEIRA:
O SIST. A REPRESENTA UM NUMERO INTEIRO N COMO
P = 3N MOD 16.
O SIST. B REPRESENTA UM NUMERO INTEIRO N COMO
Q = 7N MOD 16.

PROJETE UM CIRCUITO QUE REALIZE A CONVERSO DE
CODIGO DO SISTEMA A PARA O SISTEMA B USANDO 2
MUXs DE 8 ENTRADAS E UM XOR DE 2 ENTRADAS
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
NUMERO
BINARIO
NUMERO
HEXADECIMAL
NUMERO
DECIMAL
10011101 9D 157
NUMERO
DECIMAL
NUMERO
HEXADECIMAL
NUMERO
BINARIO
183 B7 10110111
1 x 2
7
+ 1 x 2
4
+ 1 x 2
3
+ 1 x 2
2
+ 1 x 2
0
= 128 + 16 + 8 + 4 + 1 = 157
9 x 16
1
+ 13 x 16
0
= 157
183/16
7 11/16
B 0
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SOMADOR
+
N
Y X
Z
C
IN
C
OUT
X = X
I
.2
I
I=0
N-1
NUMERO INTEIRO
DE O A 2
N
-1

RELACIONAMENTO ENTRADA E SAIDA
X + Y+ C
IN
= 2
N
C
OUT
+ Z




IDEM PARA Y E Z
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SOMADOR
ESPECIFICAO
ENTRADAS: X : X = (X
2
N
-1
,......,X
0
) X
J
e {0,1}
Y : Y = (Y
N-1
,......,Y
0
) Y
J
e {0,1}
C
IN
: C
IN
e {0,1}
SAIDAS : Z : Z = (Z
N-1
,......,Z
0
) Z
J
e {0,1}
C
OUT
: C
OUT
e {0,1}
FUNES : Z = (X + Y + C
IN
) MOD 2
N

C
OUT
= 1 SE (X + Y + C
IN
) 2
N

C
OUT
= 0 CASO CONTRARIO
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SOMADOR DE 1 BIT
+
1
X
I
C
I
C
I+1
Y
I
Z
I
FUNES
Z
I
= X
I
Y
I
C
I


C
I+1
= X
I
. Y
I
+ (X
I
Y
I
) .C
I

G
I
P
I
Z
I
= P
I
C
I


C
I+1
= G
I
+ P
I
.C
I

1
1
1
1
G: GERA CARRY
P: PROPAGA CARRY
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
IMPLEMENTAO DO SOMADOR DE 1 BIT
X
I
Y
I
C
I
G
I
Z
I C
I+1
SOMADOR
COMPLETO
FUNES
G
I
= X
I
. Y
I

P
I
= (X
I
Y
I
)

Z
I
= P
I


C
I
C
I+1
= G
I
+ P
I
.C
I


SOMADOR QUANDO NO
SE TEM CARRY DE
ENTRADA
P
I
MEIO
SOMADOR
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
MODULO SOMADOR DE N BITs COM
CARRY PROPAGADO
+
X
N-1
C
N
Y
N-1
Z
N-1
+
X
0
C
N-1
C
0
C
1
Z
0
SOMADDOR
DE 1 BIT
Y
0
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
RETARDO DO MODULO SOMADOR
C
I+1
= G
I
+ P
I
.C
I
E RETARDO DE QQ GATE
1
O
MODULO: C1= G0 +P0.C0 RETARDO: 3
2
O
MODULO: C2= G1 +P1.C1 RETARDO: 3 + 2 = 5
3
O
MODULO: C3= G2 +P2.C2 RETARDO: 5 + 2 = 7
4
O
MODULO: C4= G3+P3.C3 RETARDO: 7 + 2 = 9

..............................................................................................
N
O
MODULO: CN= GN-1 +PN-1.C1 RETARDO: (2N+1)
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
PROJETO DE UM NOVO MODULO SOMADOR COM
RETARDO MENOR
C
I+1
= G
I
+ P
I
.C
I
E RETARDO DE QQ GATE
1
O
MODULO: C1= G0 +P0.C0 RETARDO: 3
2
O
MODULO: C2= G1 +P1.C1 = G1+ P1(G0 +P0C0) = G1 +P1G0 +P1P0C0 RETARDO: 3
3
O
MODULO: C3= G2 + G1G2 + G0P1P2 + P0P1P2C0 RETARDO: 3
4
O
MODULO: C4= G3 + G2P3 + G1P2 P3 + POP1P2P3C0 RETARDO: 3

..............................................................................................
N
O
MODULO: .............. RETARDO: 3

G P
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
MODULO SOMADOR DE TRANSPORTE DE CARRY
ANTECIPADO (EXEMPLO COM 4 BITS)
X0 Y0 C0
G0 P0 S0
X1 Y1 C1
G1 P1 S1
X2 Y2 C2
G2 P2 S2
X3 Y3 C3
G3 P3 S3
C4 G3 P3 C3 G2 P2 C2 G1 P1 C1 G0P0
G P GERADOR DE CARRY ANTECIPADO C0
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
NUMEROS NO FORMATO BCD
BINARIO BCD
0000 0000
0001 0001
0010 0010
0011 0011
0100 0100
0101 0101
0110 0110
0111 0111
BINARIO BCD
1000 1000
1001 1001
1010 10000
1011 10001
1100 10010
1101 10011
1110 10100
1111 10101
+ 6
5 1
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SOMADOR BCD
X3 X2 X1 X0 Y3 Y2 Y1 Y0
COUT
Z3 Z2 Z1 Z0 CIN
+
X Y
Z
ESPECIFICAO
ENTRADAS E SAIDA
X 9 Y 9 Z 9
FUNES
1 SE X + Y + CIN > 9
COUT =
0 CASO CONTRARIO

X + Y + CIN SE (X + Y + CIN 9) E COUT=0
Z = X + Y + CIN + 6 SE (X + Y + CIN > 9) E COUT=0 COUT=1
X + Y + CIN + 6 SE (X + Y + CIN 9) E COUT=1

MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
EXEMPLO DE SOMA BCD
0100 4
+
0011 3
0 0111 7
0101 5
+
0111 7
0 1100 C
+ 0110
1 0010 12
1001 9
+
1000 8
1 0001 1
+ 0110
1 0111 17
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SUBTRATOR
-
N
Y X
Z
B
IN
B
OUT
X = X
I
.2
I
I=0
N-1
NUMERO INTEIRO
DE O A 2
N
-1

RELACIONAMENTO ENTRADA E SAIDA
X - Y- B
IN
= Z

- 2
N
B
OUT



IDEM PARA Y E Z
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
EXEMPLO DE SUBTRAO
1111 15
-
0111 7
0 1000 8
0101 5
-
0111 7
-2
-------------------
10101 21
-
0111 7
1 1110 14
14 16 = - 2
NO SE PODE REPRESENTAR
UM NUMERO
NEGATIVO,QUANDO SE
TRABALHA COM NUMEROS
POSITIVOS SEM SINAL
EMPRESTIMO
(BORROW)
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SUBTRATOR
ESPECIFICAO
ENTRADAS: X : X = (X
n-1
,......,X
0
) X
J
e {0,1}
Y : Y = (Y
N-1
,......,Y
0
) Y
J
e {0,1}
B
IN
: B
IN
e {0,1}
SAIDAS : Z : Z = (Z
N-1
,......,Z
0
) Z
J
e {0,1}
B
OUT
: B
OUT
e {0,1}
FUNES : Z = (X - Y - B
IN
) SE (X - Y - B
IN
) 0
Z = (X - Y - B
IN
) + 2
N
SE (X - Y - B
IN
) < 0
B
OUT
= 1 SE (X - Y - B
IN
) < 0


B
OUT
= 0 CASO CONTRARIO
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SUBTRATOR DE 1 BIT
-
1
X
I
B
I
B
I+1
Y
I
Z
I
FUNES
Z
I
= X
I
+ Y
I
+ B
I


B
I+1
= X
I
. Y
I
+ (X
I
+ Y
I
) .B
I

G
I
P
I
Z
I
= P
I
+ B
I


B
I+1
= G
I
+ P
I
.B
I

REPRESENTAO E OPERAES COM NUMERO
INTEIROS COM SINAL
SISTEMAS DIGITAIS
SISTEMA : SINAL/MAGNITUDE
NUMERO INTEIRO X REPRESENTADO COMO (XS,XM)
XS XM
SINAL
(1 BIT)
0 +
1 -
MAGNITUDE
(JBITS)
BIT + SIGNIFICATIVO
DO VETOR
REPRESENTAO E OPERAES COM NUMERO
INTEIROS COM SINAL
SISTEMAS DIGITAIS
REPRESENTAO DE NUMEROS DE N BITS
( 1 BIT DE SINAL E N-1 BITS DE MAGNITUDE )

- (2
N-1
1) X (2
N-1
1)
N = 8
- (2
7
1) X 2
7
1
- 127 X 127
ADIO COM NUMEROS EM SINAL E MAGNITUDE
SISTEMAS DIGITAIS
+ > - < + < - > - -
SOM SUB
+ +
+
SOM SUB
+
SOM SUB
-
SOM
-
SUB
A SUBTRAO ANALOGA
COMPLEMENTO A 2
SISTEMAS DIGITAIS
PARA AGILIZAR AS OPERAES

FOI CRIADO O SISTEMA COMPLEMENTO A 2
NUMERO INTEIRO X REPRESENTADO POR:
X SE X 0 X
X
R
=
2
N
- |X| SE X < 0 C2(X)
NUMERO DE BITS DO VETOR
EXEMPLO DE NUMERO EM COMPLEMENTO A 2
SISTEMAS DIGITAIS
N=8
X= 7
X= -7 C2(7) = 2
8
7 = 249

X=7 0 0 0 0 0 1 1 1
X= -7 1 1 1 1 1 0 0 1

REPRESENTAO DOS NUMEROS COM 8 BITS, EM
COMPLEMENTO A 2
SISTEMAS DIGITAIS

127 0 1 1 1 1 1 1 1
126 0 1 1 1 1 1 1 0
125 0 1 1 1 1 1 0 1
124 0 1 1 1 1 1 0 0
.
2 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
-1 1 1 1 1 1 1 1 1
-2 1 1 1 1 1 1 1 0
.
-126 1 0 0 0 0 0 1 0
-127 1 0 0 0 0 0 0 1
-128 1 0 0 0 0 0 0 0
-
+
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
1
X
C2(X)
+
BITS
2
N
8 BITS
0
ADIO EM COMPLEMENTO A 2
SISTEMAS DIGITAIS
X Y
SOM
X + Y
X C2(Y)
SOM
X -Y
2
N
- Y
1
2
N

C2(X) (Y)
SOM
Y - X
2
N
- X
1
2
N

C2(X) C2(Y)
SOM
-(X + Y)
2
N
- X
10
2
N+1

2
N
- Y
COUT
SUBTRAO EM COMPLEMENTO A 2
SISTEMAS DIGITAIS
X Y
SOM
X - Y
X C2(Y)
SOM
X +Y
Y
C2(X) (Y)
SOM
-X - Y
2
N
- X
10
2
N+1

C2(X) C2(Y)
SOM
-X + Y
2
N
- X
1
2
N

Y
C2
2
N
- Y
1
2
N

DC2
C2
2
N
- Y
DC2
NO SE USA MAIS O SUBTRATOR
2
N
- Y
C2 DC2
COMPLEMENTA DESCOMPLEMENTA
=
EXERCICIO: BLOCO PARA
COMPLEMENTAR E BLOCO PARA
DESCOMPLEMENTAR
MOSTRE QUE PARA COMPLEMENTAR A 2,
OU DESCOMPLEMENTAR, UM VETOR DE 8
BITS, BASTA INVERTER OS BITS DO
VETOR E SOMAR 1

SOLUO DO EXERCICIO
X + C2(X) = 2
N

X + #X = 2
N
- 1

C2(X) = #X + 1

X + C2(X) = 2
N

C2(X) + #C2(X) = 2
N
- 1

X = #C2(X) + 1

SOMADOR/SUBTRATOR P/ COMPLEMENTO A 2
SISTEMAS DIGITAIS
X Y
C2
1 0
MUX
+
0 SOMA
1 SUBTR.
COMPLEMENTADOR
SISTEMAS DIGITAIS
X + C2(X) = 2
N
X + #X = 2
N
1
C2(X) = #X + 1
X Y


1 0
MUX
+
0 SOMA
1 SUBTR.
CIN
ESTOURO EM COMPLEMENTO A 2
(OVERFLOW)
SISTEMAS DIGITAIS
ADIO:
OS 2 OPERANDOS SO POSITIVOS OU NEGATIVOS
0
0
+
BIT N-2
CARRY =1 P/ ESTOURAR
COUT=0 1
COUT
-1
= 1
1
1
BIT N-2
+
CARRY =0 P/ ESTOURAR
COUT
-1
= 0 0
COUT=1
P/ OCORRER OVERFLOW
1. NUMEROS COM MESMO SINAL
2. APS A OPERAO, O BIT DE
SINAL FICA INVERTIDO
OU
COUT XOR COUT
-1
=1
SUBTRAO:

RACIOCINIO
ANALOGO
ESTOURO EM COMPLEMENTO A 2
(OVERFLOW)
SISTEMAS DIGITAIS
EXEMPLOS
(+ 126) + (+126) VAI GERAR OVERFLOW
01111110
01111110
___________
C
OUT-1
= 1
(- 126) + (-126) VAI GERAR OVERFLOW
10000010
10000010
___________
C
OUT-1
= 0

+
SUBTRAO DE NUMEROS SEM SINAL
EM SOMADOR/SUBTRATOR C2
SISTEMAS DIGITAIS SISTEMAS DIGITAIS
X + C2(X) = 2
N
X + #X = 2
N
1
C2(X) = #X + 1
X Y


1 0
MUX
+
1 SUBTR.
CIN
0 0
#Y
X + #Y +1 = X + 2
N
- Y
COUT
1
X-Y
COUT
2
N
(2
N
+X) -Y
COUT
0
X <Y -> EMPRESTIMO
DE 2
N
( BORROW)

OK
BORROW = # COUT
INTERPRETAO DO
RESULTADO
SOMADOR/SUBTRATOR C2
SISTEMAS DIGITAIS SISTEMAS DIGITAIS


1 0
MUX
+
CIN
COUT
0 SOMA
1 SUBTR.
1
0
COUT
OV
COUT
-1
Y X
Z
FLAGS DE STATUS
SISTEMAS DIGITAIS


1 0
MUX
+
CIN
COUT
1
0
COUT
OV
COUT
-1
Y X
Q D
CLK
Q D
CLK FC
OV
FLAGS
Z
EXEMPLO
SISTEMAS DIGITAIS
NUMEROS S/SINAL
AL: 00001010 (10)
BL: 10001111 (143)
AL BL - > AL + #BL +1 =
01111011 (123) BO -> CY=1
123 256 = -133
-133
NUMEROS C/SINAL
AL: 00001010 (10)
BL: 10001111 (-113)
AL BL - > AL + #BL +1 =
:01111011 (123) OV=0

+123
EXERCICIO 10
SISTEMAS DIGITAIS
1. COMPLETE
A SEGUINTE
TABELA
NUMERO
INTEIRO COM
SINAL
NUMERO
INTEIRO SEM
SINAL
VETOR DE
BITS
COMPLEMENTO A 2,
VETOR COM 7 BITS
-37
COMPLEMENTO A 2,
VETOR COM 8 BITS
205
COMPLEMENTO A 2,
VETOR COM 5BITS
11011
COMPLEMENTO A 2,
VETOR COM 8 BITS
9
SINAL-MAGNITUDE ,
VETOR COM 5BITS
11011
EXERCICIO 10
SISTEMAS DIGITAIS
2. A representao de numeros inteiros pode ser generalizada
para a representao de numeros de ponto fixo. Ou seja , o
ponto binario , o qual se presume que para os numeros inteiros
esteja a direita do digito menos significativo , pode ser colocado
entre 2 digitos quaisquer. Para o vetor de bits x = (X6, X5,..., Xo)
e um ponto binario entre os bits X4 e X3, determine o numero
x
maximo
mais positivo e o numero x
minimo
mais negativo e mostre
a sua representacao em vetor de bits correspondente.
a. no sistema sinal e magnitude
b. no sistema complemento de 2

EXERCICIO 10
SISTEMAS DIGITAIS

3. Para os pares seguintes de vetores x e y de 8 bits representando numeros
inteiros no sistema COMPLEMENTO A 2 ,obtenha os vetores de bits z e d que
representam z = x + y e d=x-y ,respectivamente.
Verifique se obteve o resultado correto.

X: 01011011 y: 00100111
X: 10101010 y: 10100000


4. Para os pares seguintes de vetores x e y de 8 bits representando numeros
inteiros no sistema SEM SINAL ,obtenha os vetores de bits z e d que
representam z = x + y e d=x-y ,respectivamente.
Verifique se obteve o resultado correto.

X: 01011011 y: 00100111
X: 10101010 y: 10100000

EXERCICIO 10
SISTEMAS DIGITAIS
5. PROJETAR UM SUBTRATOR BCD USANDO O MODULO SOMADOR/SUBTRATOR
6. A EXTENSO DE FAIXA EXECUTADA QUANDO NECESSARIO REPRESENTAR
O VALOR X POR UM VETOR DE M BITS , DADA SUA REPRESENTAO POR UM
VETOR DE BITS DE N<M BITS. OU SEJA, Z=X E Z=(Zm-l,Zm-2,...ZO) , X=(Xn-l,Xn-
2,...XO)
NO SISTEMA DE COMPLEMENTO A 2 , A EXTENSAO DE FAIXA IMPLEMENTADA
POR :
Xn-1 para i = m-l,...n
Zi =
Xi para i= n-l,..0

PROVE QUE ESTA IMPLEMENTAO CORRETA
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SOMADOR
SUBTRATOR
UNIDADE ARITMETICA
UNIDADE ARITMETICA LOGICA
COMPARADOR
MULTIPLICADOR
DIVISOR
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
UNIDADE ARITMETICA
AU
X Y
Z
F
CIN
COUT
OV
ZERO
SINAL
N
3
COUT : CARRY OU BORROW
OV : OVERFLOW
ZERO : SE Z = 0
SINAL : SINAL DE Z
EXEMPLO DE FUNES :
SOMA
SOMA C/CIN
SUBRATAO
INCREMENTO DE X
TROCA DE SINAL DE X

STATUS DA AU
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
UNIDADE ARITMETICA
AU
X Y
Z
F
CIN
COUT
OV
ZERO
SINAL
N
3
ESPECIFICAO
ENTRADAS:
X =(X
N-1
,...X
0
) X
I
e {0,1}
Y =(X
N-1
,...X
0
) X
I
e {0,1}
CIN e {0,1}
F = (F
2
,F
1
,F
0
) F
I
e {0,1}
SAIDAS:
Z =(Z
N-1
,...Z
0
) Z
I
e {0,1}
COUT,SGN,ZERO,OV e {0,1}

FUNES
F OPERAO
001 ADD Z = X + Y
011 SUB Z = X - Y
101 ADDC Z = X + Y + CIN
110 CS Z = - X
010 INC Z = X + 1
SGN =1 SE Z< 0, 0 CASO
CONTRARIO
ZERO =1 SE Z=0, 0 CASO
CONTRARIO
OV =1 SE Z ESTOURAR, 0 CASO
CONTRARIO (N
O
C / SINAL)
COUT =1 SE Z ESTOURAR, 0 CASO
CONTRARIO (N
O
S / SINAL)
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
PROJETO DA UNIDADE ARITMETICA
MODULOS BASICOS PARA O PROJETO
K
MUX
0 1
+
CIN
COUT
C0UT-1
COMPL
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
UNIDADE ARITMETICA
PROJETO
COMPL X COMPL Y
Kx
MUX
0 1
000.....00
Kmx
+
COUT
C0UT-1
C0
SGN
ZERO
MUX
1 0
OV
COUT
X Y
Z
F1= Ky
F2.F1= Kx
F0= Kmx
F1+ F2F0CIN = C0
F1.F0 = K2mx
F2 F1 F0 C
IN
XS
YS
FUNES
F2 F1 F0 OPERAO
0 0 1 ADD Z =X + Y
0 1 1 SUB Z = X - Y
1 0 1 ADDC Z = X + Y + CIN
1 1 0 CS Z = - X
0 1 0 INC Z = X + 1
1
0
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
UNIDADE ARITMETICA LOGICA
ALU
X Y
Z
COUT
OV
ZERO
SINAL
N
3
FUNES
F OPERAO
001 ADD Z = X + Y
011 SUB Z = X - Y
101 ADDC Z = X + Y + CIN
110 CS Z = - X
010 INC Z = X + 1

000 AND Z = X.Y
100 OR Z = X + Y
111 XOR Z = X Y
CIN
F
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
OV COUT
X
Y
F1= Ky
F2.F1= Kx
F0= Kmx
F1+ F2F0CIN = C0
F1.F0 = K2mx

K3mx1
K3mx
F2 F1 F0 C
IN
UNIDADE ARITMETICA LOGICA (PROJETO)
AU
MUX
0 1 2 3
Z
SGN
AU
ZERO
ALU
S1
S0
FLAGS DE STATUS ADICIONAIS
SISTEMAS DIGITAIS
Q D
CLK
Q D
CLK
Q D
CLK
ZERO
SGN
PARIDADE
Z C/ N
O
PAR DE 1s -> FP = 1
(PARIDADE PAR)
Z C/ N
O
IMPAR DE 1s -> FP = 0
(PARIDADE IMPAR)

EXEMPLO
SISTEMAS DIGITAIS
SINAL EM NIVEL O -> +
RESULTADO = ZERO
PARIDADE PAR
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
COMPARADORES (NUMEROS SEM SINAL)
G
OUT
G
IN
E
OUT
E
IN

S
OUT
S
IN
X Y
EXERCICIO 11
SISTEMAS DIGITAIS
COMPARE 2 VETORES DE 8 BITS USANDO
COMPARADORES DE 4 BITS
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
MULTIPLICADOR PARA NUMEROS S/SINAL



X Y
x
Z
N
M
N + M
ESPECIFICAO
ENTRADAS:
X : X = (X
n-1
,......,X
0
) X
J
e {0,1}
Y : Y = (Y
M-1
,......,Y
0
) Y
J
e {0,1}
SAIDAS :
Z : Z = (Z
N+M-1
,......,Z
0
) Z
J
e {0,1}
FUNO :
Z = X.Y
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
MULTIPLICADOR PARA NUMEROS S/SINAL
IMPLEMENTAO
Z = X . Y
M-1 M-1
Z = X . ( Y
I
2
I
) = ( XY
I
2
I
)
I=0 I=0
XY
I
= 0 SE Y
I
= 0
XY
I
= X SE Y
I
= 1
IMPLEMENTADO POR
ANDs
DESLOCAMENTO DE I
POSIES PARA A
ESQUERDA
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
MULTIPLICADOR PARA NUMEROS S/SINAL
X Y
4
3
X3Y0 X2Y0 X1Y0 X0Y0
X3Y1 X2Y1 X1Y1 X0Y1
X3Y2 X2Y2 X1Y2 X0Y2

+
Z
7
SISTEMAS DIGITAIS
MULTIPLICADOR PARA NUMEROS S/SINAL
(IMPLEMENTAO)
Z
Y
7
3
+
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
X3Y0 X2Y0 X1Y0 X0Y0
X3Y1 X2Y1 X1Y1 X0Y1

X3Y2 X2Y2 X1Y2 X0Y2

BLOCO
AND/SOMADOR
COM 3 ENTRADAS
E 2 SAIDAS
X
4
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
SISTEMAS DIGITAIS
DIVISOR PARA NUMEROS S/SINAL



EX

N
N/2
N/2
X
Y
Z R
ESPECIFICAO
ENTRADAS:
X =(X
N-1
,...X
0
) X
I
e {0,1}
Y =(X
N/2-1
,...X
0
) X
I
e {0,1}
SAIDAS:
Z =(Z
N/2-1
,...Z
0
) Z
I
e {0,1}
R =(R
N/2-1
,...R
0
) R
I
e {0,1}
EX e {0,1}
FUNES:
Z = X/Y
R = X MOD Y
EX =1 (se Z
N-1
+ Z
N-2
+ Z
N-3
+... + Z
N/2
=1)
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
OU
DIVISOR
N/2
MODULOS COMBINACIONAIS
ARITMETICOS FIXOS
SISTEMAS DIGITAIS
IMPLEMENTAO
X7 X6 X5 X4 X3 X2 X1 X0 Y3 Y2 Y1Y0
X7
Y3Y2Y1Y0
- B
X6
1 0
Z7
Y3Y2Y1Y0
- B
X5
Z6
1 0
- B
1 0
Z5
Y3Y2Y1Y0
X4
Y3Y2YY0
- B
Z5
1 0
X3
MODULOS ARITMETICOS FIXOS
X4
X3
X6 X5
SISTEMAS DIGITAIS

Y3Y2Y1Y0
- B
X2
1 0
Z3
Y3Y2Y1Y0
- B
X1
Z2
1 0
- B
1 0
Z1
Y3Y2Y1Y0
X0
Y3Y2Y1Y0
- B
Z0
1 0
R3 R2 R1R0
Z7Z6Z5Z4 Z3Z2Z1Z0
EX
MODULOS ARITMETICOS FIXOS
X2 X1
X0
SISTEMAS DIGITAIS
EXEMPLO
10001010 0111
X
Y
Z _ _ _ _ R
10001010 0111
0_ _ _
X
Y
Z _ _ _ _ R
<
_ _ _ _ _ _ _ _
_ _ _ _
10001010 0111
00 _ _
X
Y
Z _ _ _ _ R
<
_ _ _ _
MODULOS ARITMETICOS FIXOS
SISTEMAS DIGITAIS
10001010 0111
X
Y
Z _ _ _ _ R
10001010 0111
0001
X
Y
Z
0001
R
>
000_ _ _ _ _
_ _ _ _
MODULOS ARITMETICOS FIXOS
<
0111
-
10001010 0111
0001
X
Y
Z
0001
R
<
0 _ _ _
0111
-
1
SISTEMAS DIGITAIS
MODULOS ARITMETICOS FIXOS
10001010 0111
0001
X
Y
Z
0001
<
00 _ _
0111
-
R
10
10001010 0111
0001
X
Y
Z
0001
>
001 _
0111
R
101
0 111
0 110
-
10001010 0111
0001
X
Y
Z
0001
>
0011
0111
101
0 111
0 1100
SISTEMAS DIGITAIS
MODULOS ARITMETICOS FIXOS
-
-
0111
-
0101 R
5
19 VERIFICAO
19 x 7 +5 = 138
138
7
# 0 -> EXCEO
SISTEMAS DIGITAIS
MODULOS ARITMETICOS FIXOS
0700H = 1792
1792/02 = 896 > 255 -> ESTOURO
SISTEMAS DIGITAIS
MODULOS ARITMETICOS FIXOS
25
RESTO QUOCIENTE
0700H -> 1792
30H -> 48
25H -> 37
10H -> 16
1792 / 48 = 37 R 16
10
SISTEMAS DIGITAIS
EXERCICIO 11A
PREENCHA A TABELA ABAIXO:


SOMA FC FO FS FZ FP
SOMA
SUB
SUB
MUL
MUL
DIV
DIV
SEM
SINAL
COM
SINAL
SEM
SINAL
COM
SINAL
SEM
SINAL
COM
SINAL
SEM
SINAL
COM
SINAL
10101010 01010101
BINARIO DECIMAL
SISTEMAS DIGITAIS
EXERCICIO 11B
PREENCHA A TABELA ABAIXO


FC FO FS FZ FP
AND
OR
XOR
10101010 01010101
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
REPRESENTAO BINARIA EM PONTO FLUTUANTE
_ . _ _ _ _ _ _ _ ...... _ _ _ 2
_ _ _ _ _ _ _ _ ...... _ _ _
SINAL DO
NUMERO
PONTO
BINARIO
MANTISSA
SINAL DO EXPOENTE
EXPOENTE
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
COMO REPRESENTAR + 5 EM PONTO FLUTUANTE ?
MANTISSA : 9 BITS ( INCLUINDO O BIT DE SINAL)
EXPOENTE : 6 BITS ( INCLUINDO O BIT DE SINAL)
0.00000101 2
001000
+ +
0.00001010 2
000111
+ +
0.00010100 2
000110
+ +
0.10100000 2
000011
+ +
.........................................
OU
OU
OU
QUAL A MELHOR
REPRESENTAO ?
NO TEM COMPL A 2
EM PT. FLUTUANTE
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
COMO REPRESENTAR +0,25 EM PONTO FLUTUANTE ?
MANTISSA : 9 BITS ( INCLUINDO O BIT DE SINAL)
EXPOENTE : 6 BITS ( INCLUINDO O BIT DE SINAL)
0.01000000 2
000000
0.10000000 2
100001
OU QUAL A MELHOR
REPRESENTAO ?
0,25 = 1 / 4 = 1 / 2
2
+ +
+
-
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
MULTIPLICAO: (+ 5 X + 5) EM PONTO FLUTUANTE ?
0.00000101 2
001000
0.00000101 2
001000
X
0.00000000 00011001 2
010000
OU
0.00000001 11001000 2
001100
OU
0.11001000 00000000 2
000101
MELHOR REPRESENTAO
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
FORMATO NORMALIZADO
_ . 1 _ _ _ _ _ _ ..... _ _ 2
_ _ _ _ _ _ _ ...... _ _ _
SINAL DO NUMERO
MANTISSA
SINAL DO EXPOENTE
EXPOENTE
FORMATO NORMALIZADO REAL
_ 1. _ _ _ _ _ _ ..... _ _ 2
_ _ _ _ _ _ _ _ ...... _ _ _
SEMPRE EXISTEM, NO NECESSITAM SER
ARMAZENADOS NA MEMORIA
ARMAZENAMENTO NA MEMORIA
SINAL DO N
O
| EXPOENTE C/SINAL| MANTISSA
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
COMO REPRESENTAR + 5 EM PONTO FLUTUANTE NO
FORMATO NORMALIZADO ?
01.01000000 2
000010
+
+
ARMAZENAMENTO NA MEMORIA
0| 000010| 01000000
SINAL
EXPOENTE MANTISSA
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
COMPARAO ENTRE 2 NUMEROS EM PONTO FLUTUANTE
SINAL N
O
| SINAL EXP| EXPOENTE|MANTISSA
SINAL N
O
| SINAL EXP| EXPOENTE|MANTISSA
1 2 3
4
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
MODIFICAO NO EXPOENTE PARA FACILITAR A
COMPARAO ENTRE 2 NUMEROS EM PONTO FLUTUANTE
+31

+0
-0

- 30
62

31


1
0
63
-31
+31
+31
+ PESO
APS A MODIFICAO, OS EXPOENTES SO POSITIVOS
USADOS
MAIS
ADIANTE
PESO =31
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
COMPARAO ENTRE 2 NUMEROS EM PONTO FLUTUANTE,
EXPOENTES COM PESO
SINALN
O
| EXPOENTE|MANTISSA
SINALN
O
| EXPOENTE|MANTISSA
1
2
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
REPRESENTAO DE + 5 EM PONTO FLUTUANTE NO
FORMATO NORMALIZADO SEM PESO
01.01000000 2
000010
+ +
ARMAZENAMENTO NA MEMORIA
0| 100001| 01000000
REPRESENTAO DE + 5 EM PONTO FLUTUANTE NO
FORMATO NORMALIZADO COM PESO
01.01000000 2
100001
+
+ 31
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
INTERVALOS DE REPRESENTAO DOS NUMEROS
0 +
-
MAIOR
VALOR
(MODULO)
MAIOR
VALOR
(MODULO)
MENOR
VALOR
(MODULO)
MENOR
VALOR
(MODULO)
OVERFLOW
OVERFLOW
UNDERFLOW
01.111111112
111110
01.000000002
000001
C/ PESO C/ PESO
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
01.000000002
100010
01.000000002
000001- 100010 + 011111
EXEMPLO DE GERAO DE UNDERFLOW
01.000000002
000001
=
1 - 34 + 31 = - 2
UNDERFLOW
PARA OS CASOS DE UNDERFLOW SO PERMITIDOS NUMEROS
NO NORMALIZADOS COM EXPOENTE ZERO
00.010000002
000000
/2
+2
REPRESENTAO DO ZERO :
00.000000002
000000
0
/2
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
01.000000002
111110
01.000000002
111110 +111110 - 011111
EXEMPLO DE GERAO DE OVERFLOW
01.000000002
111110
=
62 + 62 - 31 = + 93
OVERFLOW
X
REPRESENTAO DO OVERFLOW ( INFINITO):
00.000000002
111111
63
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
PADRO IEEE 754
PRECISO SIMPLES
(-1)
S
X ( 1 + M) X 2
E
IMPLICITO
(NO PRECISA
SER
ARMAZENADO)
S|EXPONTE|MANTISSA
1 | 8 BITS | 23 BITS 32 BITS
PESO: 127
PRECISO DUPLA
(-1)
S
X ( 1 + M) X 2
E
IMPLICITO
(NO PRECISA
SER
ARMAZENADO)
S|EXPONTE|MANTISSA
1 | 11 BITS | 52 BITS 64 BITS
PESO: 1023
SISTEMAS DIGITAIS
ARITMETICA EM PONTO FLUTUANTE
REPRESENTAO DE -0,75 NO PADRO IEEE 754,
PRECISO SIMPLES
- 0,75 = - 3 / 4 -> - 0.112
0
-> - 1.1 X 2
-1

1|01111110|10000000000000000000000
31 30................ 23 22 0
+ 127
QUAL O NUMERO QUE O VETOR BINARIO EST REPRESENTANDO
EM PRECISO SIMPLES ?
1|10000001|01000000000000000000000
-
129 127 = 2
1 1/4
- 1,25 X 2
2
= -5
SISTEMAS DIGITAIS
ADIO EM PONTO FLUTUANTE
S M

E
S M

E

+
S M
S M

E

+
00..0

E


E

M S
NORMALIZAO
OVERFLOW ?
UNDERFLOW ?
EXCEO
OBS: ARREDONDAR A MANTISSA
PODE DESNORMALIZAR
SISTEMAS DIGITAIS
EXEMPLO ADIO EM PONTO
FLUTUANTE
1.001
1.001
+
10.010
NORMALIZAR
1.001
0.010
-
0.111
NORMALIZAR
DEPOIS DE IGUALADOS OS EXPOENTES...
SISTEMAS DIGITAIS
ADIO EM PONTO FLUTUANTE
HARDWARE PARA SOMA EM PONTOFLUTUANTE
S| EXP|MANTISSA S| EXP|MANTISSA
UA EX -
MUX
C
MUX MUX
DESL. DIR.
UA MANT +
MUX
MUX
DIR/ESQ
INC/DEC
COMPARAO DE
EXPOENTES
DESLOCAMENTO DIREITA
DO MENOR NUMERO
SOMA
NORMALIZAO
SISTEMAS DIGITAIS
ADIO EM PONTO FLUTUANTE
HARDWARE PARA SOMA EM PONTOFLUTUANTE (CONTINUAO)
UAMANT +
DIR/ESQ
INC/DEC
NORMALIZAO
MUX
MUX
C
HARD. DE ARREDONDAMENTO
S| EXPOENTE| MANTISSA
ARREDONDAMENTO
REPETIDO
DO SLIDE
ANTERIOR
SISTEMAS DIGITAIS
MULTIPLICAO EM PONTO
FLUTUANTE
S M
X

E

M
NORMALIZAO
OVERFLOW ?
UNDERFLOW ?
EXCEO
OBS: ARREDONDAR A MANTISSA
PODE DESNORMALIZAR

E

E

S M
P + -
S
SISTEMAS DIGITAIS
EX. DE MULTIPLICAO DE
MANTISSAS EM PONTO FLUTUANTE
1.001
1.001
X
1001
0000
0000
1001
1.010001
1.100
1.100
X
1100
0000
1100
0000
10.010000
NORMALIZAR
SISTEMAS DIGITAIS
TIPOS NUMERICOS NO PADRO IEEE
NUMERO |SINAL |EXPOENTE | MANTISSA
NORMALIZADO|+/- |0 < ... < 11..111 | QUALQUER = 0
NO NORMAL |+/- | 0 | QUALQUER = 0
ZERO |+/- | 0 | 0
INFINITO |+/- | 111............11 | 0
NaN |+/- |111 ...........11 | QUALQUER = 0
GERAO DE NaN : / , - , 0/0
SISTEMAS DIGITAIS
EXERCICIO 12

1. CONVERTA OS SEGUINTES NUMEROS PARA O FORMATO IEEE 754 ,
USANDO A PRECISAO SIMPLES. FORNEA O VETOR RESULTADO
COMPACTADO COM 8 DIGITOS HEXADECIMAIS
A. 9 B. 5/32 C.-5/32 D. 6,125
2. CONVERTA OS SEGUINTES NUMEROS, EXPRESSOS NO FORMATO
IEEE754 , PRECISAO SIMPLES , COMPACTADOS EM HEXADECIMAL, PARA
DECIMAL
A. 42E48000 B. 3F880000 C. C7F00000
3. SOME OS NUMEROS 3EE00000H E 3D800000H EXPRESSOS NO
FORMATO IEEE 754 , PRECISAO SIMPLES. O RESULTADO
NORMALIZADO DEVE SER FORNECIDO COMPACTADO EM HEXADECIMAL.
4. MULTIPLIQUE OS NUMEROS ACIMA
5. DIVIDA OS NUMEROS ACIMA
SISTEMAS DIGITAIS
EXERCICIO 12
6, UM PROGRAMA CALCULA REQ PELA EXPRESSAO R
EQ
=1/ ( 1/R1 +I/ R2 + 1/R3 )
SABENDO QUE R1=R2 = R3 = 0, E QUE OS NUMEROS ESTAO NO FORMATO IEEE
754 , PRECISAO SIMPLES , QUAIS SAO OS NUMEROS( NO FORMATO ACIMA)
UTILIZADOS E GERADOS PARA CALCULAR R
EQ
?


7. MOSTRE QUE A CONVERSO DE UM NUMERO FRACIONARIO DECIMAL EM
BINARIO ENVOLVE REPETIDAS MULTIPLICAES POR 2. A CADA PASSO, A PARTE
FRACIONARIA DO NUMERO DECIMAL MULTIPLICADA POR 2. O DIGITO A
ESQUERDA DA VIRGULA DECIMAL SER 0 OU 1 E CONTRIBUIR PARA A
CORRESPONDENTE PARTE BINARIA, COMEANDO PELO BIT MAIS SIGNIFICATIVO.
A PARTE FRACIONARIA DO PRODUTO USADA COMO MULTIPLICANDO NO
PROXIMO PASSO.
CONVERTA 0,5125 PARA O FORMATO IEEE 754, PRECISO SIMPLES.
SISTEMAS DIGITAIS
MODULOS SEQUENCIAIS FIXOS
REGISTRADOR
REGISTRADOR DE DESLOCAMENTO
CONTADOR
SISTEMAS DIGITAIS
REGISTRADORES
USO: ARMAZENAMENTO DE ESTADOS EM MAQUINAS SEQUENCIAIS
LD
CLK
CLR
REG
X
Z
N

ENTRADAS:
X =(X
N-1
,...X
0
) X
I
e {0,1}
LD, CLK, CLR e {0,1}
ESTADO:
S=(S
N-1
,...S
0
) S
I
e {0,1}
SAIDAS:
Z =(Z
N-1
,...Z
0
) Z
I
e {0,1}

FUNES
ESTAD0
S(T +1) = X(T) SE LD(T) =1 E CLR (T) =0
= S(T) SE LD(T) =0 E CLR (T) =0
= 0 SE CLR(T) = 1
SAIDA
Z(T) = S(T)
ESPECIFICAO
SISTEMAS DIGITAIS
IMPLEMENTAO DO BIT I DO REGISTRADOR
D Q
CLK
CLR
LD
0 1
X I
Z I
CLK
CLR
REGISTRADORES
SISTEMAS DIGITAIS
EXERCICIO 13

PROJETE UM SISTEMA COM A ESPECIFICAO
ABAIXO, USANDO:
1. FLIP-FLOPs TIPO D
2. REGISTRADORES
0
A =0
1
A =1
A =0
3
A =1
A =0
2
A =1
A =0
A=1
SISTEMAS DIGITAIS
EXERCICIO 13 SOLUO
S1S0 S1
+
A=0 A=1
0 0 0 0
0 1 0

1
1 1 1

1
1 0 1

0
S1S0 S0
+
A=0 A=1
0 0 0 1
0 1 1

1
1 1 1

0
1 0 0

0
S1
+
= S1. #A + S0.A S0
+
= S0. #A + #S1.A
SISTEMAS DIGITAIS
EXERCICIO 13 SOLUO
S1
+
= S1. #A + S0.A
S0
+
= S0. #A + #S1.A
IMPLEMENTAO COM FLIP-FLOPs
D Q
CLK
#Q
D Q
CLK
#Q
S1
+
S0
+
S1

S0

A

O
R
O
R
SISTEMAS DIGITAIS
EXERCICIO 13 SOLUO
S1
+
= S1. #A + S0.A
S0
+
= S0. #A + #S1.A
IMPLEMENTAO COM REGISTRADOR
LD X1 X0
CLK
CLR Z1 Z0
A
CLK
CLR
REG
SISTEMAS DIGITAIS
REGISTRADORES DE DESLOCAMENTO
USO: TRANSFERENCIA SERIAL DE BITS
XR XL
CLK
CTRL
REG
X
Z
N
ENTRADAS:
X =(X
N-1
,...X
0
) X
I
e {0,1}
XR, XL ,CLK e {0,1}
CTRL e {CARGA,ESQUERDA, DIR,NADA}
ESTADO:
S=(S
N-1
,...S
0
) S
I
e {0,1}
SAIDAS:
Z =(Z
N-1
,...Z
0
) Z
I
e {0,1}
FUNES
ESTAD0
S(T +1) =S(T) SE CTRL = NADA
= X(T) SE CTRL = CARGA
= (S
N-2
,...S
0
,
,
XL) SE CTRL = ESQ.
= (XR,S
N-1
, ...S
1
) SE CTLR = DIR
SAIDA
Z(T) = S(T)
ESPECIFICAO
2
SISTEMAS DIGITAIS
D Q
CLK

X I
Z I
REGISTRADORES DE
DESLOCAMENTO(IMPLEMENTAO BIT I)
D Q
CLK

IMPLEMENTAO
D Q
CLK

3 2 1 0
S1
S0
CTRL1
CTRL0
CTRL1 CTRLO
0 0 NADA
0 1 ESQ
1 0 DIR
1 1 CARGA
SISTEMAS DIGITAIS
EXERCICIO 14

1. PROJETE UM SISTEMA COM A SEGUINTE ESPECIFICAO:
ENTRADA: X(T) ,SAIDA: Y(T) FUNO: X(T).X(T-8) =1

2. PROJETE UM SISTEMA COM A SEGUINTE ESPECIFICAO:
ENTRADA: X(T) ,SAIDA: Y(T)
FUNO: X(T-8,T)) = 011101101
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD X
#OE REG
CLK Z
CONTROLE
DE ALTA
IMPEDANCIA
DBO
DB7
DB: DATA BUS
8
SISTEMAS DIGITAIS
CONTROLE DE ALTA IMPEDANCIA
VCC
GND #OE
CI
VCC
GND #OE
CI
VCC
GND #OE
CI
VCC
GND #OE
CI
GND
NIVEL
1
GND
NIVEL
0
VCC
NIVEL
Z
3
O
ESTADO
ALTA

IMPEDANCIA
ESTAGIO DE
SAIDA
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD X
#OE REGA
CLK
Z
#LD X
#OE REGB
CLK
Z
#LD X
#OE REGC
CLK
Z
N BITS
REPRESENTAO SIMPLIFICADA
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD X
#OE REGA
CLK
Z
#LD X
#OE REGB
CLK
Z
#LD X
#OE REGC
CLK
Z
N BITS
REPRESENTAO SIMPLIFICADA (METODO REUNIO DE LINHAS)
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
ESTADO DOS SINAIS PARA TRANSFERIR O CONTEUDO DO REG A PARA O REG C
# LDA| # LDB| #LDC| #OEA| #OEB|# OEC
1 1 0 0 1 1
A TRANSFERENCIA OCORRE NA TRANSIO DO CLOCK
DIAGR DE TEMPO DOS SINAIS NA TRANSFERENCIA DO DADO 1011 DO REG A PARA O
REG C
CLK
#LDC
#OEA
DB3
DB2
DB1
DB0
... ...
... ...
...
...
...
...
0
1
1
1
CLK
#LDC
DB3
#OEA
...
...
1011
DB0
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD
#OE REG
CLK X/Z
CONTROLE
DE ALTA
IMPEDANCIA
REGISTRADOR
BIDIRECIONAL
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD
#OE REG
CLK X/Z
CONTROLE
DE ALTA
IMPEDANCIA
REGISTRADOR
BIDIRECIONAL
REPRESENTAO SIMPLIFICADA
SISTEMAS DIGITAIS
INTERCONEXO ENTRE REGISTRADORES
VIA BARRAMENTO DE DADOS
#LD
#OE REG
CLK X/Z
CONTROLE
DE ALTA
IMPEDANCIA
REGISTRADOR
BIDIRECIONAL
REPRESENTAO SIMPLIFICADA
METODO REUNIAO DAS LINHAS
SISTEMAS DIGITAIS
EXERCICIO 15
1. OS REG`s A, B, C ESTO INICIALMENTE CARREGADOS COM 1011,1000,0111.
OS SINAIS DA FIG. SO ENTO APLICADOS AOS REGISTRADORES.
A. DETERMINE O CONTEUDO DE CADA REG NOS INSTANTES T1,T2,T3,T4
B. DESCREVA O QUE ACONTECERIA SE #LDA =0 QUANDO O TERCEIRO PULSO
DE CLOCK OCORESSE.
A B C
T3 T1 T2 T4
CLK
#0EA
#0EB
#0EC
#LDA
#LDB
#LDC
C. DESENHE O SINAL EM DB3
SISTEMAS DIGITAIS
EXERCICIO 15 CONTINUAO
2.A FIG. MOSTRA 2 DISPOSITIVOS EXTRAS QUE FORAM CONECTADOS AO BUS
DE DADOS. UM DELES UM CONJUNTO DE CHAVES COM BUFFERS, QUE
PODEM SER USADAS PARA ENTRADA DE DADOS MANUAL EM QQ DOS
REGs DO BUS. O OUTRO UM REG DE SAIDA QUE UTILIZADO PARA
ARMAZENAR QQ DADO QUE ESTEJA NO BUS DURANTE UMA
TRANSFERENCIA DE DADOS E APRESENT-LO A UM CONJUNTO DE LEDS.

A. SUPONHA QUE TODOS OS REGs
CONTENHAM 0000.FAA UM RESUMO
DA SEQUENCIA DE OPERAES
NECESSARIAS PARA CARREGAR OS REG`S
COM OS SEGUINTES DADOS, PELAS CHAVES:
A: 1011 B: 0001 C: 1110

B. QUAL SER O ESTADO DOS LEDS NO
FINAL DESTA SEQUENCIA ?
A B C
CLK
D Q
D Q
D Q
D Q
VCC
#ESW GND
VCC
CH0
CH3
CH1
CH2
CLK
L3
L2
L1
L0
SISTEMAS DIGITAIS
EXERCICIO 15 CONTINUAO
A B C
CLK
D Q
D Q
D Q
D Q
VCC
#ESW GND
VCC
CH0
CH3
CH1
CH2
CLK
L3
L2
L1
L0
A1 #O
3
A0 #O
2

#E #O
1

#O
0

A1 #O
3

A0 #O
2

#E #O
1
#O
0

DEC. DUAL
GND
GND
OS1
OS0
IS1
IS0
#ESW
#OEC
#OEB
#OEA
#LDC
#LDB
#LDA
T0 T1 T2 T3
OS1
OS0
IS1
IS0
CLK
3. SUPONDO QUE
TODOS OS REG`s
ESTO COM 0000 NO
INSTANTE TO E AS
CHAVES ESTO NA
POSIO MOSTRADA
NA FIGURA
A. QUAL O CONTEUDO
DE CADA REG. EM
T1, T2 E T3 ?
B. PODE OCORRER
CONTENO DE
BARRAMENTO NESTE
CIRCUITO ? EXPLIQUE
Lj: LED
SISTEMAS DIGITAIS
EXERCICIO 16
UMA MEMORIA CONTEM VARIOS REGISTRADORES, UMA VIA CODIFICADA PARA
SELECIONAR UM REGISTRADOR, UMA VIA BIDIRECIONAL PARA LEITURA OU
ESCRITA DE DADOS, UM SINAL DE COMANDO DE LEITURA , UM SINAL DE
COMANDO DE ESCRITA E UM SINAL DE SELEO DE MEMORIA, CONFORME
MOSTRADO NA FIG. ABAIXO:
REG1
....
REGN-1
REG0
J
B. END
2
J
= N
B. DADOS
B. DADOS
#RD
#CS
#WR
SISTEMAS DIGITAIS
EXERCICIO 16 - CONTINUAO
1. PROJETE UMA MEMORIA 8 x 8 ( OITO REGISTRADORES OITO
ENDEREOS OITO POSIES CADA UMA COM OITO BITS), USANDO OS
COMPONENTES ABAIXO:
I0 00
I1 01
I2 O2
I3 O3
I4 04
I5 05
I6 O6
I7 O7
STB
#OE
LATCH
STB #OE Q O
0 0 Q Q
0 1 Q Z
1 0 I I
1 1 I Z
I
O
Q
3
S
I0 #00
I1 #01
I2 #O2
#O3
#04
#05
#O6
#O7

#E
DECOD.
I
SISTEMAS DIGITAIS
EXERCICIO 16 - CONTINUAO
2. PROJETE UM MODULO DE MEMORIA 16 x 8,
USANDO MEMORIAS 8 x 8 :
3. PROJETE UM MODULO DE MEMORIA 8 x 16,
USANDO MEMORIAS 8 x 8 :

USO MAIS COMUM: CONTAR EVENTOS
REG
SISTEMAS DIGITAIS
CONTADOR MODULO P
CNT
| CLK
CLR TC
REG
Z
ENTRADAS:
CNT, CLR,CLK e {0,1}
ESTADO:
S: = S

e {0,1,2 ...P-1}
SAIDAS:
Z: = Z

e {0,1,2 ...P-1}
TC e {0,1}
FUNES
ESTAD0
S(T +1) =(S(T)+ CNT) MOD P SE CLR =0
S(T +1) = 0 SE CLR =1
SAIDA
Z(T) = S(T)
TC(T) = 1 SE S(T) = P-1 , CNT=1 E CLR =0
= 0 CASO CONTRARIO
ESPECIFICAO
CONTAGEM TERMINAL
ASSINCRONO
SISTEMAS DIGITAIS
CONTADOR MODULO P
TIPOS DE CONTADORES
COM RELAO A CONTAGEM
UP : CONTAR P/ CIMA
DOWN : CONTAR P/ BAIXO
UP / DOWN : CONTAR P/ CIMA E P / BAIXO
( NECESSITA DE SINAL DE CONTROLE ADICIONAL)
COM RELAO AO CODIGO
BINARIO
BCD
ANEL
SISTEMAS DIGITAIS
CONTADOR
MODULO P
ESTADO |BINARIO | BCD | ANEL
0 |0000 |0000 |00000001
1 |0001 |0001 |00000010
2 |0010 |0010 |00000100
3 |0011 |0011 |00001000
4 |0100 |0100 |00010000
5 |0101 |0101 |00100000
6 |0110 |0110 |01000000
7 |0111 |0111 |10000000
8 |1000 |1000 |
9 |1001 |1001 |
10 |1010
11 |1011
12 |1100
13 |1101
14 |1110
15 |1111
REG
SISTEMAS DIGITAIS
CONTADOR BINARIO COM ENTRADA
PARALELA, MODULO 16
CNT I3 I2 I1 I0
| CLK
CLR TC
LD O3 O2 O1 O0
REG
Z
ENTRADAS:
I : I = (I3,I2,I1,I0) I
J
{0,1} I e {0,1 ...15}
LD, CNT, CLR,CLK e {0,1}
ESTADO:
S : S = (S3,S2,S1,S0) S
J
{ 0,1} S e {0,1...15}
SAIDAS:
Z : Z = (Z3,Z2,Z1,Z0) Z
J
{0,1} Z e {0,1...15}
TC e {0,1}
FUNES
ESTAD0
S(T +1) =(S(T )+ CNT) MOD16 SE LD = 0
S(T +1) = I SE LD = 1
S(T +1) = 0 SE CLR = 1
S(T +1) = S(T) CASO CONTRARIO

ESPECIFICAO
I
SAIDA
Z(T) = S(T)
TC(T) = 1 SE S(T) = 15 E CNT = 1,CLR=0
= 0 CASO CONTRARIO
LD E CNT, SE
ATIVADOS AO MESMO
TEMPO, PREVALECE
O LD
SISTEMAS DIGITAIS
CONTADOR MODULO K (2 s k s 16)
CNT I3 I2 I1 I0
| CLK
CLR TC
LD O3 O2 O1 O0
EX: CONTADOR MODULO 12 USANDO CONTADOR MODULO 16
0 0 0 0
TC
NO USADA
SISTEMAS DIGITAIS
DIVISOR DE FREQUENCIA MODULO K
(2 s k s 16)
CNT I3 I2 I1 I0
| CLK
CLR TC
LD O3 O2 O1 O0
EX: DIVISOR DE FREQUENCIA MODULO 9 USANDO CONTADOR
MODULO 16
0 1 1 1 (16- 9)
X
Z
X
Z
7 8 9 10 11 12 13 14 15 7 8 9 10 11 12 13 14 15
FreqZ = FreqX / 9
1
0
SISTEMAS DIGITAIS
CONTADOR USO COMUM
CONTADOR DE EVENTOS
DOWN CLR
| CLK CONTADOR
UP
COMPARADOR
Eout Sout
NUMERO MAXIMO
DE ESPAOS
LOTADO VAGAS
SISTEMAS DIGITAIS
CONTADOR - USO COMUM
CONTROLAR UMA SEQUENCIA FIXA DE AES EM UM
SISTEMA DIGITAL
DECODIFIC.
0
1
2
3
4
5
CONTADOR
MODULO 6
| CLK
SEQUENCIA DE AES
0 ZERAR REGISTRADORES
1 ENTRADA A
2 ENTRADA B
3 COMPUTAR
4 COMPUTAR
5 SAIDA C
OR
ZERAR
ENTR. A
ENTR. B
COMPUTAR
SAIDA C
SISTEMAS DIGITAIS
CONTADOR - USO COMUM
GERAR SINAIS DE TEMPO
DECOD.
0
1
2
3
4
5
6
7
CONTADOR
MODULO 6
| CLK
S Q
| CLK
R #Q
TS0
S Q
| CLK
R #Q
TS1
S Q
| CLK
R #Q
TS2
ESTADO
TS0
TS1
TS2
7 0 2 1 3 4 5 6 7 0
MESMA FREQUENCIA
FASES DIFERENTES
FF SR
SINCRONO
SISTEMAS DIGITAIS
CONTADOR USO COMUM
GERAR SINAIS DE TEMPO
CONTADOR S0
MODULO 4
| CLK S1
CLK0
CLK
CLK0
CLK2
CLK4
AND
AND

CLK2
CLK4
FREQUENCIAS
DIFERENTES
0 1 2 3
SISTEMAS DIGITAIS
CONTADOR - USO NO CONVENCIONAL
CONTADOR USADO COMO REGISTRADOR DE ESTADO NA
IMPLEMENTAO DE UMA MAQUINA SEQUENCIAL
2 3
4
CNT = 1 LD = 0
CNT = 0 LD = 0
CNT = 0 LD = 1
CNT CONTADOR
LD
CLK
2 3 4
SISTEMAS DIGITAIS
EXERCICIO 17
PROJETAR A MAQUINA SEQUENCIAL ESPECIFICADA ABAIXO,
USANDO CONTADOR MODULO 16 , QUATRO MUX`s 8 x 1 E
INVERSORES
S0
S1
S2
S3 S4
S5
S6
#a/0
a/0
_ /0
_ /0
#b/1
b/0
c/0 #c/0
_ /0
#b/0
b/0
SISTEMAS DIGITAIS
EXERCICIO 17 SOLUO
S0
S1
S3
S4
S2
S5
S6
CNT I
3
I
2
I
1
I
0
CLK CONTADOR
LD O
3
O
2
O
1
O
0
#O
2
#O
1
#O
0
#O
2
#O
1
O
0
#O
2
O
1
#O
0
#O
2
O
1
O
0
O
2
#O
1
#O
0
O
2
#O
1
O
0
O
2
O
1
#O
0
CNT = #O
2
#O
1
#O
0
a + #O
2
#O
1
O
0
+ #O
2
O
1
#O
0
+
#O
2
O
1
O
0
b + O
2
#O
1
#O
0
#c + O
2
#O
1
O
0
LD = O
2
#O
1
#O
0
c + O
2
O
1
#O
0
I2 I1 I0 SAIDA
O
2
O
1
#O
0
b 0 0 0 #O
2
O
1
O
0
#b 1
O
2
#O
1
#O
0
c 0 0 1
O
2
O
1
#O
0
#b 0 0 1
SISTEMAS DIGITAIS
EXERCICIO 17 - SOLUO
S2
S1
S0
O2
O1
O0
0 1 2 3 4 5 6 7
a 1 1 b #c 1 0 0 0 0 0 0 c 0 1 0
CNT
LD
0 1 2 3 4 5 6 7
0 0 0 0 c 0#b 0
0 1 2 3 4 5 6 7
0 0 0#b 0 0 0 0
0 1 2 3 4 5 6 7
I0
SAIDA
O1
O0
O2
O0
O0
O1
O2
O1
O2
BIT MAIS SIGNIFICATIVO
SISTEMAS DIGITAIS
EXERCICIO 18
1. A FIG. MOSTRA COMO UM MUX PODE SER UTILIZADO PARA GERAR
FORMAS DE ONDA LOGICA COM QQ PADRO DESEJADO. O PADRO
PROGRAMADO USANDO CHAVES ON-OFF E UM CONTADOR.
DESENHE A FORMA DE ONDA Z PARA A POSIO DAS CHAVES DA FIGURA.
SUBSTITUA O CONTADOR MODULO 8 POR UM CONTADOR MODULO 16 E CONECTE O
BIT MSB DO CONTADOR NA ENTRADA #E DO MUX. DESENHE A FORMA DE
ONDA EM Z
CONTADOR
MODULO 8
| CLK
CLK
Z
I7 I6 I5 I4 I3 I2 I1 I0
#E
VCC
GND
SISTEMAS DIGITAIS
EXERCICIO 18 CONTINUAO
2. MOSTRE COMO CONECTAR 2 CIS, DO TIPO ABAIXO, PARA FORMAR
UM CONTADOR DE 8 BITS QUE DIVIDE A FREQUENCIA DO CLOCK POR
100. UTILIZE A SAIDA #TCD DE UM ESTAGIO COMO CLOCK DO
SEGUNDO ESTAGIO. ( ESPECIFICAO: O CONTADOR DEVE SER DOWN E
DEVE SER CARREGADO QUANDO AMBOS OS ESTAGIOS ESTIVEREM
SIMULTANEAMENTE EM SUAS CONTAGENS FINAIS)
#PL P0 P1 P2 P3
| CPU #TCU
| CPD #TCD
MR Q0 Q1 Q2 Q3
PL :carga paralela
CPU : clock para contagem UP
CPD:clock para cont agem DOWN
MR : master reset
MONOESTAVEL
Q
MONO ESTAVEL
|CLK #Q
VCC
R
C
T ~ RC
CLR
D #Q
|CLK Q
GND
VCC
Vref
VCC
A
B
S
COMPARADOR ANALOGICO
A=B -> S =1
A = B -> S =0
SISTEMAS DIGITAIS
SISTEMAS DIGITAIS
EXERCICIO 18 CONTINUAO
3. A FIG. MOSTRA COMO UM CONTADOR DECRESCENTE COM CARGA PODE SER USADO EM UM
CIRCUITO TEMPORIZADOR PROGRAMAVEL. A FREQ. DO CLOCK DE ENTRADA DE 1HZ. AS
CHAVES S1 AT S4 SO USADA PARA AJUSTAR O CONTADOR PARA UMA CONTAGEM INICIAL,
QUANDO UM PULSO APLICADO A #PL. A OPERAO DO TEMPORIZADOR INICIADA
PRESSIONANDO-SE O BOTO DE INICIO. O FFZ USADO PARA ELIMINAR OS EFEITOS DA
TREPIDAO (BOUNCE) DO CONTATO DO BOTO INICIO. O MONO USADO PARA FORNECER UM
PULSO BEM ESTREITO PARA #PL. A SAIDA DO FFX TER UMA FORMA DE ONDA QUE VAI PARA
NIVEL 1 POR UM NUMERO DE SEGUNDOS IGUAL AO NUMERO PRESENTE NAS CHAVES.
VCC
GND
MR P3 P2 P1 P0 |CPU
CONTADOR DOWN |CPD
#PL #TCD
1HZ
J
K
X
+CLK
#CLR
J
Z +CLK
#SET K
VCC
GND
GND
VCC
BOTO
INICIO
#Y MONO | CLK
Tp = 100 NS
ASSINCRONO
SISTEMAS DIGITAIS
EXERCICIO 18 CONTINUAO
A. ADMITA QUE TODOS OS FF`S E CONTADOR ESTO NO ESTADO
0. ANALISE E EXPLIQUE A OPERAO DO CIRCUITO,
MOSTRANDO AS FORMAS DE ONDA, PARA O CASO DAS
CHAVES PROGRAMADAS COM O NUMERO 4. NO DEIXE DE
EXPLICAR A FUNO DO FFX.
B. POR QUE A SAIDA DO TEMPORIZADOR NO PODE SER
TOMADA DA SAIDA DE #TCD?
C. POR QUE A CHAVE DE INICIO NO PODE SER USADA PARA
DISPARAR O MONO DIRETAMENTE?
D. O QUE ACONTECERIA SE CHAVE INICIO FOSSE MANTIDA
ACIONADA POR UM LONGO PERIODO? INCLUA A LOGICA
NECESSARIA PARA GARANTIR QUE A MANUTENO DO
ACIONAMENTO DA CHAVE INICIO NO V AFETAR A
OPERAO DO TEMPORIZADOR.
SISTEMAS DIGITAIS
CONTADOR JOHNSON
CONTADOR EM ANEL COM 3 BITS
D Q D Q D Q
CONTAGEM
100
010
001
100
010
001
CONTADOR EM JOHNSON COM 3 BITS
D Q D Q
D # Q
Q
CONTAGEM
100
110
111
011
001
000
CLK
Q
CLK
Q
SISTEMAS DIGITAIS
EXERCICIO 19
1. DETERMINE A FREQUENCIA DOS PULSOS NOS PONTOS W,X,Y,Z
NO CIRCUITO ABAIXO:
CONTADOR
EM ANEL
DE 16BITS
160KHZ
W
CONTADOR
PARALELO
DE 4 BITS
X CONTADOR
DE
PULSAO
MODULO 25
Y
CONTADOR
JOHNSON
DE 4 BITS
Z
2. MODIFIQUE O CIRCUITO DA FIGURA ABAIXO PARA GERAR UMA FORMA DE
CONTROLE QUE VAI PARA NIVEL 0 DESDE T20 AT T24. A MODIFICAO NO
REQUER LOGICA ADICIONAL.
CONTADOR UP + +CLK
Q2 Q1 Q0
CONTADOR UP + +CLK
Q2 Q1 Q0
A2 A1 A0 DECOD. E2 #E1 #E0
#O7 #O6 #O5 #O4 # O3 #O2 #O1 #O0
SAIDA
T0 T1 T2 ....
CONTADORES ZERADOS
SISTEMAS DIGITAIS
FREQUENCIMETRO
267
CLEAR
1S
0,1S
0,01S
INT.
AMOSTR.
FX
CLR
CONTADOR | CLK
DECODIFICADOR
CONTROLE DO
DISPLAY
FREQUENCIA DESCONHECIDA FX
PULSO DE AMOSTRAGEM PX
FX
PX
CLEAR
Z
Z
PAINEL
PLACA
SISTEMAS DIGITAIS
FREQUENCIMETRO
PARA A FREQUENCIA, DESCONHECIDA PELO FREQUENCIMETRO, DE 3792 PULSOS
POR SEGUNDO, DETERMINE A SAIDA DO CONTADOR APS O INTERVALO DE
AMOSTRAGEM DE:
A. 1s B. 0,1s C. 0,01s
___________________________________________________________________________________________
OBS:
FX = 2,4HZ
1 2
1 2 3
1s
CONTAGEM
CONTAGEM
0,4s
SISTEMAS DIGITAIS
FREQUENCIMETRO
INTERVALO DE AMOSTRAGEM
CLK
100KHZ
DIV10 DIV10 DIV10 DIV10 DIV10
10KHZ 1KHZ 100HZ 1HZ 10HZ
1
2
3
4
5
6
1s
0,1s
10ms 1ms
100us
10us
Q J
+CLK
#Q K
PX
CHAVE DE SELEO PARA
INTERVALO DE AMOSTRAGEM
VCC
VCC
CLK
TEMPO DE AMOSTRAGEM
SISTEMAS DIGITAIS
EXERCICIO 19-A:FREQUENCIMETRO
INTERVALO DE AMOSTRAGEM
ADMITA QUE O CONTADOR CONSTRUIDO COM 3 CONTADORES BCD EM
CASCATA, COM OS RESPECTIVOS DISPLAYS. SE A FREQUENCIA DESCONHECIDA
ESTIVER ENTRE 1KHZ E 10KHZ, QUAL A MELHOR ESCOLHA PARA A POSIO
DA CHAVE.
DISPLAY
1s 0,1s 10mS
1ms 100us 10us
MENOR FREQ.
MAIOR FREQ.
1KHZ -> 1ms
10KHZ -> 100us
SISTEMAS DIGITAIS
FREQUENCIMETRO (CLEAR AUTOMATICO)
267
CLEAR
1S
0,1S
0,01S
INT.
AMOSTR.
CLR |CLK
CONTADOR
DECODIFICADOR
CONTR. DISPLAY
Q J
+CLK
#Q K
VCC
VCC
Q J
+CLK
#Q K
VCC
VCC
MONO
Q |CLK
SISTEMAS DIGITAIS
FREQUENCIMETRO (CLEAR AUTOMATICO)
FORMAS DE ONDA
Q
+CLK
Q
+CLK
Q
|CLK
CONTADOR

CLEAR

CLK
CONTADOR
ZERADO
CONTADOR
CONTANDO
CONTADOR PARADO
DISPLAY EXIBINDO A FREQUENCIA
SISTEMAS DIGITAIS
FREQUENCIMETRO (CLEAR AUTOMATICO)
COMO O DISPLAY EST CONECTADO DIRETAMENTE NAS SAIDAS DO CONTADOR, O
DISPLAY MOSTRAR A OPERAO DE RESET E A CONTAGEM. ISTO TORNA MUITO
DIFICIL A LEITURA DO DISPLAY PARA DETERMINAR A FREQUENCIA DESCONHECIDA,
EXCETO PARA INTERVALOS DE AMOSTRAGEM LENTOS.
ESTE PROBLEMA PODE SER RESOLVIDODA SEGUINTE MANEIRA:
CLR |CLK
CONTADOR
DECODIFICADOR
DISPLAY
Q J
+CLK
#Q K
VCC
VCC
Q J
+CLK
#Q K
VCC
VCC
MONO
Q |CLK
REG +CLK
SISTEMAS DIGITAIS
FREQUENCIMETRO (CLEAR AUTOMATICO)
FORMAS DE ONDA
Q
+CLK
Q
+CLK
Q
|CLK
CONTADOR

CLEAR

CLK
CONTADOR
ZERADO
CONTADOR
CONTANDO
DISPLAY EXIBINDO
SOMENTE A FREQUENCIA
+ CLK REG
SISTEMAS DIGITAIS
DISPOSITIVOS DO TIPO PADRO
COMBINACIONAIS

DECODIFICADOR
CODIFICADOR
MULTIPLEXADOR
DEMULTIPLEXADOR
DESLOCADOR-P
SOMADOR
SUBTRATOR
UNID. ARITMETICA E LOGICA
COMPARADOR
SEQUENCIAIS

REGISTRADOR
REGISTRADOR DE DESLOCAMENTO
CONTADOR
PLD
SISTEMAS DIGITAIS
DISPOSITIVOS LOGICOS PROGRAMAVEIS
FF
G G
FF
FF
FF G
FF
G
SE AS
CONEXES
PUDEREM SER
ABERTAS ESTE
DISPOSITIVO
PROGRAMAVEL
FF: FLIP-FLOP
G: GATE
PLD
SISTEMAS DIGITAIS
DISPOSITIVOS LOGICOS PROGRAMAVEIS
CONEXO
FUSIVEL
ELETRONICO
CHAVE
ELETRONICA
PROGRAMAVEL UMA NICA
VEZ
PROGRAMAVEL DIVERSAS
VEZES
CORRENTE
FLIP- FLOP
SISTEMAS DIGITAIS
DISPOSITIVOS LOGICOS PROGRAMAVEIS
PROGRAMAO DO PLD
PELO FABRICANTE
PELO PROJETISTA
SISTEMAS DIGITAIS
DISPOSITIVOS LOGICOS PROGRAMAVEIS
IDEIA BASICA DE PROGRAMAO DE PLD COMBINACIONAL
COM 3 ENTRADAS E UMA SAIDA
A
B
C
F
#A#B#C
#A#B C
#A B #C
#A B C
A#B#C
A#B C
A B #C
A B C
+
SELECIONAR QUAIS TERMOS VO FAZER PARTE DO OU, PARA
QUE QQ FUNO POSSA SER IMPLEMENTADA
SISTEMAS DIGITAIS
DISPOSITIVOS LOGICOS PROGRAMAVEIS
TIPOS DE PLDs
PLA
PAL
ROM
PSA
PROGRAMABLE ARRAY LOGIC
PROGRAMABLE LOGIC ARRAY
READ ONLY MEMORY
PROGRAMABLE SEQUENCIAL ARRAY
FIELD PROGRAMABLE GATE ARRAY
SPLD
CPLD
SPLDs AGRUPADAS
FPGA
PLA(MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
PLA
MATRIZ
DE
AND
MATRIZ
DE OR
ESCOLHA DOS
TERMOS DA
FUNO
ESCOLHA DAS
COMBINAES DE
TERMOS PARA
GERAR AS
FUNES DE SAIDA
SAIDAS
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
1
2
K
1
XN-1 X1 X0
YK-1 Y1 Y0
1
2
R
MATRIZ
AND
MATRIZ
OR
...
...
.
.
CONEXO
PROGRAMAVEL:
PODE SER
DESFEITA
1
.
2
.
K
PLA CIRCUITOS BASICOS
SISTEMAS DIGITAIS
VCC
GND
A
VCC
GND
S
A B S
0 0 1
0 1 0
1 0 0
1 1 0
S = #(A + B)
INVERSOR
VCC
GND
VCC
GND
BUFFER NO INVERSOR
NOR
B
GND
S = (#A . #B)
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
XI
CIRCUITO CIRCUITO
XI
CIRCUITO
XI XI
CIRCUITO
< ATRASO
MELHOR
CONFIGURAO
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
ESPECIFICAO
ENTRADA
X = (X
N-1
,...,X
0
) X
I
e {0,1}
SAIDA
Z = (Z
K-1
,...,Z
0
) Z
I
e {0,1}
FUNO
IMPLEMENTAO DE K (N
O
DE ORs) FUNES DE
CHAVEAMENTO COM NO MAXIMO R (N
O
DE AND`S) TERMOS,
SENDO QUE R < 2
N
.


XN-1
1
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
XN-1
GND
GND
XN-2
GND
GND
VCC
1
2
3
4
1
XN-2
1 2 3 4
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
GND
GND
GND
GND
VCC
1
2
3
4
1
XN-2
XN-1
XN-1 XN-2 S
0 0 0
0 1 0
1 0 0
1 1 1
S = X
N-1
.X
N-2

2 E 4 ABERTOS
SISTEMAS DIGITAIS
XN-1
GND
GND
GND
GND
1
2
3
4
1
XN-2
XN-1
XN-1 XN-2 S
0 0 0
0 1 0
1 0 1
1 1 0
S = X
N-1
.#X
N-2
PLA
2 E 3 ABERTOS
VCC
SISTEMAS DIGITAIS
XN-1
GND
GND
GND
GND
1
2
3
4
1
XN-2
XN-1
XN-1 XN-2 S
0 0 0
0 1 1
1 0 0
1 1 0
S = #X
N-1
.X
N-2

PLA
1 E 4 ABERTOS
VCC
SISTEMAS DIGITAIS
XN-1
GND
GND
GND
GND
1
2
3
4
1
XN-2
XN-1
XN-1 XN-2 S
0 0 1
0 1 0
1 0 0
1 1 0
S = #X
N-1
.#X
N-2

PLA
1 E 3 ABERTOS
VCC
1
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
GND
GND
GND
VCC
1
2
R
PARA AND1 OR AND2 , 3 ABERTO
PARA AND1 OR ANDR , 2 ABERTO
1
2
R
1
R 2
GND
VCC
YK-1
YK-1
......
YK2
PLA (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
1
2
2
1
A B C
F2 F1 F0
1
2
3
MATRIZ
AND
MATRIZ
OR
.
.
CONEXO
1
.
2
.
K
EXEMPLO: F2 = A#BC + AB#C
F0 = A#B
SEM CONEXO
EXERCICIO 20
SISTEMAS DIGITAIS
1
2
1
D3 D1 D0
G3
1
2
4
MATRIZ
AND
MATRIZ
OR
.
.
1
IMPLEMENTAR UM CONVERSOR DE CODIGO BCD-GRAY
D2
3
D
0
1
2
3
4
5
6
7
8
9
G
0
1
3
2
6
7
5
4
C
D
G2 G1 G0
4
5
6
EXERCICIO 20 - SOLUO
SISTEMAS DIGITAIS
D
0
1
2
3
4
5
6
7
8
9
G
0
1
3
2
6
7
5
4
C
D
3210
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
3210
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
G3 = D3
G2 = D3 + D2
G1 = D2#D1 + #D2D1
G0 = D1#D0 + #D1D0
EXERCICIO 20 SOLUO
SISTEMAS DIGITAIS
1
2
1
D3 D1 D0
G3
1
2
4
MATRIZ
AND
MATRIZ
OR
.
.
D2
3
SOLUO PICTORICA: MOSTRAR OS TERMOS E OS ANDS
ENVOLVIDOS PARA A GERAO DAS FUNES
G3 =D3
G2 = D3 + D2
G1 = #D2D1 + D2#D1
G0 = #D1D0 + D1#D0
5
6
G2 G1 G0
PAL (MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
1
1
2
4
MATRIZ
AND
.
.
1
I
Z0
R
XN-1 X1 X0 XN-2
..
ZK-1
.
.
1
2
K
.
.
PROGRAMAVEL
GND
ZJ
OJ
FUSIVEL DE POLARIDADE
OPCIONALMENTE NAS
SAIDAS, PARA INVERT-LAS
OU NO
Z1
2
I
I+1
ESPECIFICAO
ENTRADA
X = (X
N-1
,...,X
0
) X
I
e {0,1}
SAIDA
Z = (Z
K-1
,...,Z
0
) Z
I
e {0,1}
FUNO
IMPLEMENTAO DE K (N
O
DE ORs) FUNES DE
CHAVEAMENTO COM J DENTRE R AND`S
PERMANENTEMENTE CONECTADOS A CADA OR, SENDO QUE:
R < 2
N
.
PAL(MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
PAL(MATRIZ LOGICA PROGRAMAVEL)
SISTEMAS DIGITAIS
OBSERVAO:
EM UMA PAL, UM AND (TERMO) NO EST DISPONIVEL
PARA TODAS AS FUNES.
A PAL EM GERAL MAIS RAPIDA QUE A PLA , TEM MAIS
SAIDAS OU TEM MAIS ANDS.
EXERCICIO 21
SISTEMAS DIGITAIS
USANDO A PAL DO BOTO, IMPLEMENTE UM SISTEMA QUE
TENHA COMO ENTRADA UM DIGITO DECIMAL
REPRESENTADO EM BCD E COMO SAIDA A ENTRADA
MULTIPLICADA POR 3, COM REPRESENTAO, TAMBEM,
EM BCD.
EXERCICIO 21 SOLUO (EXPRESSO DE CHAVEAMENTO)
SISTEMAS DIGITAIS
X3 X2 X1 X0 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 1 1
0 0 1 0 0 0 0 1 1 0
0 0 1 1 0 0 1 0 0 1
0 1 0 0 0 1 0 0 1 0
0 1 0 1 0 1 0 1 0 1
0 1 1 0 0 1 1 0 0 0
0 1 1 1 1 0 0 0 0 1
1 0 0 0 1 0 0 1 0 0
1 0 0 1 1 0 0 1 1 1
Y5 = #X3X2X1X0 + X3#X2#X1#X0 + X3#X2#X1X0
EXERCICIO 21 SOLUO
SISTEMAS DIGITAIS
X3
X2
X1
X0
ENABLE
Y5
Y4
Y3
Y2
Y1
Y0
Y5 = #X3X2X1X0 + X3#X2#X1#X0 + X3#X2#X1X0
ROM ( MEMORIA DE APENAS LEITURA)
SISTEMAS DIGITAIS
1
2
K
2
XN-1 X1 X0
YK-1 Y1 Y0
1
2
2
N
MATRIZ
OR
...
...
.
.
CONEXO
PROGRAMAVEL:
PODE SER
DESFEITA
1
.
2
.
K
PROGRAMAVEL
TEM TODOS
OS TERMOS
ROM ( MEMORIA DE APENAS LEITURA)
SISTEMAS DIGITAIS
ESPECIFICAO
ENTRADA
X = (X
N-1
,...,X
0
) X
I
e {0,1}
SAIDA
Z = (Z
K-1
,...,Z
0
) Z
I
e {0,1}
FUNO:
IMPLEMENTAO DE K (N
O
DE ORs) FUNES DE
CHAVEAMENTO COM NO MAXIMO 2
N
(N
O
DE AND`S) TERMOS.
CADA AND FICA PERMANENTEMENTE CONECTADO A UM
TERMO DIFERENTE, OU SEJA QQ FUNO PODE SER
IMPLEMENTADA
.

ROM ( ANALOGIA COM MEMORIA)
SISTEMAS DIGITAIS
1
K
2
XN-1 X1 X0
YK-1 Y1 Y0
1
2
2
N
MATRIZ
OR
...
...
.
.
1
.
2
.
K
TEM TODOS
OS TERMOS
XN-1 X1 X0 ... ...
BARRAMENTO
DE ENDEREO
REGISTRADOR
REGISTRADOR
REGISTRADOR
BARRAMENTO
DE DADOS
MEM S DE LEITURA
EXERCICIO 22 EXERCICIO 22
SISTEMAS DIGITAIS
PROJETAR UMA MEMORIA (4 X 4) DE APENAS LEITURA, COM OS
ENDEREOS E RESPECTIVOS CONTEUDOS ABAIXO LISTADOS:
END. CONT.
00 1101
01 1001
10 1110
11 0110
EXERCICIO 22 SOLUO
SISTEMAS DIGITAIS
2
2
X1 X0
D3 D2 D0
0
2
0
.
2
.
3
2
D1
1
MEMORIA ROM
END. CONTEUDO
00 1101
01 1001
10 1110
11 0110
1
2
3
CONEXO
SEM CONEXO
ESPECIFICAO
ENTRADA:
X = (X
N-1
,...,X
0
) X
I
e {0,1}
ESTADO:
S = (S
P-1
,...,S
0
) S
I
e {0,1}
SAIDA:
Z = (Z
K-1
,...,Z
0
) Z
I
e {0,1}
FUNO:
IMPLEMENTAO DE SISTEMA SEQUENCIAL
NOT- AND- OR DE K + P (N
O
DE ORs) FUNES DE
CHAVEAMENTO COM NO MAXIMO R (N
O
DE AND`S) TERMOS.
PSA (MATRIZ SEQUENCIAL
PROGRAMAVEL)
SISTEMAS DIGITAIS

PLA

R
E
G
N
K
P
P
CLK
PSA
2
P
ESTADOS
SISTEMAS DIGITAIS
EXERCICIO 23
PROJETAR A MAQUINA SEQUENCIAL ESPECIFICADA ABAIXO,
USANDO PSA
S0
S1
S2
S3 S4
S5
S6
#a/0
a/0
_ /0
_ /0
#b/1
b/0
c/0 #c/0
_ /0
#b/0
b/0
SISTEMAS DIGITAIS
EXERCICIO 23 MODELO P/SOLUO
a b c
CLK
SAIDA
D0 Q0
D2 Q2
SISTEMAS DIGITAIS
EXERCICIO 23 SOLUO
a b c
CLK
SAIDA
D0 Q0
D2 Q2
SAIDA= #Q2Q1Q0#b
D0 = #Q2#Q1#Q0a
+ #Q2Q1#Q0
+ Q2#Q1#Q0#c
+ #Q2Q1Q0#b
+ Q2#Q1#Q0c
+ Q2Q1#Q0#b
D1 = #Q2#Q1Q0
+ #Q2Q1#Q0
+ #Q2Q1Q0#b
+ Q2#Q1Q0

D2= .........

SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
CLB: BLOCO LOGICO CONFIGURAVEL
OS CLB`s IMPLEMENTAM SUB- FUNES DO SISTEMA
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CONEXES VERTICAIS
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CONEXES HORIZONTAIS
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CHAVES MATRIZ DE CHAVEAMENTO
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAO
DE CONEXES E FUNES.
TRANSISTORES DE PASSAGEM
FUSIVEIS (NO RECONFIGURAVEL)( NO VOLATIL)

SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAO
DE CONEXES E FUNES.
SRAM ( STATIC RANDOM ACCESS MEMORY)
MEMORIA ESTATICA (RECONFIGURAVEL)(VOLATIL)

MEMORIA
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAO
DE CONEXES E FUNES.
EPROM (ERASABLE PROGRAMABLE READ ONLY MEMORY)
MEMORIA (RECONFIGURAVEL)(NO VOLATIL)

VLIMIAR >
RECONFIGURAO POR ULTRA VIOLETA
SISTEMAS DIGITAIS
FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)
TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAO
DE CONEXES E FUNES.
EEPROM (ERASABLE ELETRICALLY PROGRAMABLE READ ONLY MEMORY)

MEMORIA (RECONFIGURAVEL)(NO VOLATIL)

VLIMIAR >
RECONFIGURAO ELETRICA
SISTEMAS DIGITAIS
FPGA SRAM
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
SISTEMAS DIGITAIS
FPGA SRAM
CLB
A
B
C X
K Y
D
LUT


S
D Q
|K
R
8 7 6 5 4 3 2 10
A
B
C
D
D/Q
X
Y
0
1
2
3
4
5
0
1
0
1
0
1
0
1
2
0
1
2
0
1
2
REGISTRADOR DE
CONFIGURAO
K
G
F
SISTEMAS DIGITAIS
FPGA SRAM
LUT LOOK UP TABLE ( IMPLEMENTA A MAIOR PARTE DAS SUB-
FUNES DO SISTEMA)
I0
I1
I2
I3
0
1
2
3
4
.
.
15
A
B
C
D/Q
FF F0 Q
F
FF F15 Q
FF G0 Q
G
FF G15 Q
SISTEMAS DIGITAIS
FPGA SRAM POSSIBILIDADES DE INTERCONEXO
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CLB
CLB
CLB
CLB
1. INTERCONEXO DIRETA ENTRE CLBs HORIZONTALMENTE E
VERTICALMENTE ADJACENTES ( CAMINHO DE SINAL RAPIDO)
SISTEMAS DIGITAIS
FPGA SRAM POSSIBILIDADES DE INTERCONEXO
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CLB
CLB
CLB
CLB
2. CONEXO VERTICAL OU HORIZONTAL CURTAS E LENTAS
(PASSAM PELA MATRIZ DE CHAVEAMENTO)
SISTEMAS DIGITAIS
FPGA SRAM POSSIBILIDADES DE INTERCONEXO
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
......
.....
......
......
BLOCOS DE ENTRADA E SAIDA
BLOCOS DE ENTRADA E SAIDA
CLB
CLB
CLB
CLB
3. CONEXO VERTICAL OU HORIZONTAL LONGAS E RAPIDAS
SISTEMAS DIGITAIS
FPGA SRAM POSSIBILIDADES DE CONEXO
CLB
CLB
CLB
CLB
BLOCOS DE ENTR. E SAIDA
CLB
CLB
CLB
CLB
4. MATRIZ DE CHAVES
BLOCOS DE ENTR. E SAIDA
TRANSISTOR
CONTR = 1
#CONTR = 0
0
1
SISTEMAS DIGITAIS
EXERCICIO 24
PROJETE UM SOMADOR BCD DE 1 DIGITO, CUJA ESPECIFICAO
EST DESCRITA ABAIXO, USANDO FPGA SRAM.
ESPECIFICAO
ENTRADAS:
X = (X
3
,X
2
,X
1
,X
0
) X
J
e{0,1} X e{0,1,2...9}
Y = (Y
3
,Y
2
,Y
1
,Y
0
) Y
J
e{0,1} Y e{0,1,2...9}
C
IN
e{0,1}
SAIDAS:
S = (S
3
,S
2
,S
1
,S
0
) S
J
e{0,1} S e{0,1,2...9}
C
OUT
e{0,1}
FUNO:
X + Y + CIN = 10 COUT + S
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
COMO O SISTEMA TEM 9 ENTRADAS E 5
SAIDAS, A FUNO DEVE SER DECOMPOSTA
EM SUB-FUNES DE MODO QUE CADA UMA
DELAS POSSA SER IMPLEMENTADA POR UM
CLB QUE TEM 4 ENTRADAS E 2 SAIDAS
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
PROJETO IGNORANDO O CI QUE IR IMPLEMENTA-LO

+

X
Y
4
4
CIN
1
O
SOMADOR
V
U

T

T

+

0
0
S
COUT
2
O
SOMADOR
T =1
SE U =1 OU V> 9
S = V SE T = 0
S = V + 6 SE T = 1
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
ADAPTANDO O PROJETO AO CI ALVO : FPGA SRAM
1
0
SOMADOR:DESMEMBRADO EM 4 SOMADORES BINARIOS, CADA
SOMADOR COM 3 ENTRADAS(X
I
,Y
I
E CIN
I
) E 2 SAIDAS (V
I
E CO
I
),
SOMADORES ESTES QUE PODEM SER INDIVIDUALMENTE IMPLEMENTADOS
POR UM CLB.
BLOCO T: 4 ENTRADAS ( U,V
3
, V
2
, V
1
) E 1 SAIDA (T)
T = U + V3V2 + V3V1
( C,D,E,F) (A,B)
2
0
SOMADOR:DESMEMBRADO EM 4 SOMADORES BINARIOS, CADA
SOMADOR COM 3 ENTRADAS(V
I
,T
I
OU 0

E CIN
I
) E 2 SAIDAS (S
I
E COU
I
),
SOMADORES ESTES QUE PODEM SER INDIVIDUALMENTE IMPLEMENTADOS
POR UM CLB.
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
+
A
B
C X
K Y
D
X
0
Y
0
C
IN
CO
0
V
0
C
IN
Y
0
X
0
CO
0
+
X
1
Y
1
C0
0
CO
1
V
1
0

Y
1
X
1
CO
1
V
1
+
X
2
Y
2
C0
1
CO
2
V
2
0

Y
2
X
2
CO
2
V
2
+
X
3
Y
3
CO
2
U

V
3
0

Y
3

X
3
U


V
3
A
B
C X
K Y
D
A
B
C X
K Y
D
A
B
C X
K Y
D
CLB0
CLB1
CLB2
CLB3
0

CO
0
C0
1
C0
2
V
0
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
A
B
C X
K Y
D
V
3
CLB4
U

V
2
T

V
1
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
+
A
B
C X
K Y
D
V
0
0

S
0
+
V
1
T

COU
1
S
1
V
1
T

COU
1
S
1
+
V
2
T

C0U
1
COU
2
S
2
C0U
1
T

V
2
COU
2
S
2
+
V
3
COU
2
S
3
V
3
S
3
A
B
C X
K Y
D
A
B
C X
K Y
D
A
B
C X
K Y
D
CLB
CLB5
CLB6
CLB7
C0U
2
0

0

0

0

0

SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
CLB0
A
B
C X
K Y
D
LUT


S
D Q
|K
R
0 X XX X 01 10
A
B
C
D
D/Q
X
Y
0
1
2
3
4
5
0
1
0
1
0
1
0
1
2
0
1
2
0
1
2
REGISTRADOR
X0
Y0
CIN
CO0
X0
Y0
CIN
CO0
G
F
0
V0
0
V0
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
LUT (CLB0)
I0
I1
I2
I3
0
1
2
3
8
9
A
B

A
B
C
D/Q
X0
Y0
0
CIN
1
0 0
0
0
1 0
1
0
1 0
1
1
0 1
1
F: V0 G: CO0
1
2
3
5
6
7
4
X0
Y0
0
0
CIN
VO =S0
X1
Y1
0
X3
Y3
0
0
X2
Y2
S1
S2
S3
T
V1
V2
V3
U
T
SISTEMAS DIGITAIS
EXERCICIO 24 SOLUO
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR SERIAL
COMPUTADOR


EQUIPAMENTO
REMOTO
COMUNICAO SERIAL
(1 BIT ENVIADO POR VEZ)
PERMITE A COMUNICAO
BIT A BIT ENTRE 2
DISPOSITIVOS
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR SERIAL
COMPUTADOR


TRATA OS DADOS DE
FORMA PARALELA:
BYTE , WORD, D-WORD ...
COMPUTADOR



CONTROLADOR
SERIAL
EQUIPAMENTO
REMOTO
TRANSMITE E RECEBE
DADOS BYTE A BYTE
TRANSMITE E RECEBE
DADOS BIT A BIT
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR SERIAL
COMPUTADOR


EQUIPAMENTO
REMOTO
PROTOCOLOS DE
COMUNICAO:
ASSINCRONO E
SINCRONO

SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR SERIAL
PROTOCOLO ASSINCRONO
COMPUTADOR



EQUIP. REMOTO
LINHA EM REPOUSO
NIVEL 0
NIVEL 1
CONTROLADOR
SERIAL
CLK
DE TRANSMISSO
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
PROTOCOLO ASSINCRONO
COMPUTADOR


EQUIP. REMOTO
DADO ENVIADO
NIVEL 0
NIVEL 1
CONTROLADOR
SERIAL
CLK DE TRANSMISSO
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
P START
STOP
OPES:
BITS: 5, 6, 7 OU 8 BITS DE STOP : 1 OU 2
PARIDADE: COM OU SEM TIPO DE PARIDADE : PAR OU IMPAR
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
MODULOS BASICOS
COMPUTADOR








CONTROLADOR
CPU

INTERFACE



TRANSMISSOR

RECEPTOR
TX
RX
TCLK RCLK
GERADOR DE SINAIS
DE BASE DE TEMPO
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
INTERFACE
8
RD WR SEL
REG TRANSMISSO
REG RECEPO
REG CONFIGURAO
FF TX READY
SEL
00 REG TRANS
00 REG RECEP
01 REG CONFIG
10 REG STATUS
FF RX READY
REG STATUS
2
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
REGISTRADOR DE CONFIGURAO
D7 D6 D5 D4 D3 D2 D1 D0
1: 1 STOP 101: 5 BITS 1: PAR 1: C/ PARIDADE
0: 2 STOPS 110: 6 BITS 0: IMPAR 0: S/ PARIDADE
111: 7 BITS
000: 8 BITS
FF TX READY
FF RX READY
1 , ESCRITA NO REG TRANS PELA CPU 0
1 , LEITURA NO REG RECEP PELA CPU 0
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
PROJETE A INTERFACE USANDO OBRIGATORIAMENTE
REGISTRADORES DE 8 BITS COM LD E OE; FF`s TIPO
D COM PRESET E CLEAR; DECODIFICADOR 3 x 8 COM
ENABLE; E GATES.
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
TRANSMISSOR
REG. DE DESLOCAMENTO
CONTADOR DOWN
GERADOR DE PARIDADE
FF TXREADY
1, REG DE DESLOCAMENTO CARREGADO
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
PROJETE O TRANSMISSOR USANDO REG DE
DESLOCAMENTO; SOMADOR; CONTADOR DOWN; 4 MUXS
16X1; PLA (PARA GERAR O BIT DE PARIDADE).

SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
RECEPTOR
REG. DE DESLOCAMENTO
CONTADOR DOWN
DETETOR DE PARIDADE
FF RXREADY 1, CONTADOR COM CONTAGEM ZERO
DETETOR DE INICIO DE RECEPO
ALINHADOR
SISTEMAS DIGITAIS
EXERCICIO: CONTROLADOR DE
INTERFACE SERIAL
PROJETE O RECEPTOR USANDO REG DE
DESLOCAMENTO; SOMADOR; CONTADOR DOWN;
DESLOCADOR P; PLA; FF TIPO D COM PRESET E CLEAR.

SISTEMAS DIGITAIS

CONTROLADOR DE INTERFACE
SERIAL PROTOCOLO SINCRONO
A TRANSMISSO SERIAL SINCRONA REQUER FLUXO CONTINUO DE CARACTERES.
MESMO QUE NO HAJA NENHUM CARACTER A SER TRANSMITIDO PELA CPU. UM
CARACTER DE SINCRONISMO, DIFERENTE DE QUALQUER OUTRO CARACTER,
DEVEM SER TRANSMITIDOS EM SEQUENCIA, PELO CONTROLADOR.
OBS:NO H BITS DE START E STOP.
EX: o o N o A H J 1 W o T T Y o o o D F G H J K L N M V C o o o o o 3 4
5 6 A 2 D o o


A RECEPO SERIAL SINCRONA NECESSITA , ANTES DA RECEPO DOS
CARACTERES, QUE O CONTROLADOR FIQUE EM UM ESTADO DE BUSCA DE
SINCRONISMO, DURANTE O QUAL O CONTROLADOR AMOSTRA CONTINUAMENTE A
ENTRADA SERIAL (BIT A BIT), PROCURANDO CASAR O FLUXO DE BITS RECEBIDOS
COM O CARACTER DE SINCRONISMO. A PARTIR DAI, O RECEPTOR EST APTO A
RECEBER CARACTERES.
CARACTER DE SINCRONISMO
SISTEMAS DIGITAIS
CONTROLADOR DE INTERFACE
SERIAL PROTOCOLO SINCRONO
1. O MODULO DE INTERFACE POSSUI 1 REGISTRADOR ADICIONAL, EM QUE DEVE
SER ARMAZENADO O CARACTER DE SINCRONISMO. REPROJETE O MODULO,
SABENDO QUE O REGISTRADOR SELECIONADO QUANDO SEL = 10.
2. REPROJETE O MODULO DE TRANSMISSO, SABENDO QUE O BIT D7 DO
REGISTRADOR DE CONFIGURAO, QUANDO EM 0 INDICA PROTOCOLO
ASSINCRONO E QUANDO EM 1 PROTOCOLO SINCRONO.
3. PROJETE O CIRCUITO DE DETEO DE SINCRONISMO NO RECEPTOR SABENDO
QUE O BIT D6 DO REGISTRADOR DE CONFIGURAO, QUANDO EM 1, INDICA
QUE O RECETOR DEVE BUSCAR O SINCRONISMO. TODA VEZ QUE O
SINCRONISMO FOR DETETADO, O BIT 0 DO REGISTRADOR DE STATUS DEVE
SER SETADO. QUANDO O REGISTRADOR DE STATUS FOR LIDO PELA CPU, O BIT
DEVE SER RESETADO.
4. PROJETE O GERADOR DE SINAIS DE BASE TEMPO QUE FORNECE OS SINAIS
TCLK E RCLK, SABENDO QUE ELE DEVE SER PROGRAMAVEL, DE TAL MODO
QUE SE POSSA TER 255 PERIODOS DIFERENTES,MULTIPLOS DE UM PERIODO
DE CLOCK BASICO, EM TCLK E RCLK. PROJETE O BIT MENOS SIGNIFICATIVO
DO DIVISOR DE FREQUENCIA USANDO UM CLB DE UMA FPGA., MOSTRANDO O
CONTEUDO DA LUT E O ROTEAMENTO INTERNO DO CLB.
OBS: O MODULO DE INTERFACE DEVE SER REPROJETADO
SISTEMAS DIGITAIS
SISTEMAS RTL
SISTEMAS RTL:
SISTEMAS PROJETADOS USANDO A ABORDAGEM DE
TRANSFERENCIA DE DADOS A NIVEL DE REGISTRADORES (RTL)
USO:
PROJETO DE SISTEMAS DIGITAIS COMPLEXOS
REGISTRADOR
TRANSFORMAO DO DADO
REGISTRADOR
SISTEMA RTL



SISTEMAS DIGITAIS
SISTEMAS RTL
SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
DADOS
SISTEMAS DIGITAIS
SISTEMAS RTL
SUBSISTEMA DE DADOS






REGISTRADOR REGISTRADOR
MODULO DE
TRANSFORMAO
REGISTRADOR
REGISTRADOR
MODULO DE
TRANSFORMAO
REGISTRADOR
TRANSFERENCIA ENTRE REGISTRADORES:
TRANSFORMAO DE UM DADO (VIA MODULO DE
TRANSFORMAO) QUANDO ELE TRANSFERIDO DE UM
REGISTRADOR PARA OUTRO.
SISTEMAS DIGITAIS
SISTEMAS RTL
SUBSISTEMA DE DADOS






FUNO DO SISTEMA



IMPLEMENTADA POR UMA SEQUENCIA DE TRANSFERENCIAS
ENTRE REGISTRADORES QUE PODE SER REPRESENTADA POR
UM GRAFO CHAMADO DE GRAFO DE EXECUO.
SISTEMAS DIGITAIS
SISTEMAS RTL
SUBSISTEMA DE CONTROLE






CONTROLA A SEQUENCIA DE TRANSFERENCIAS ENTRE
REGISTRADORES, PODENDO SER UM CONTROLADOR
CONVENCIONAL OU UM CONTROLADOR MICROPROGRAMADO.
SISTEMAS DIGITAIS
SISTEMAS RTL
TIPOS DE GRAFOS DE EXECUO PARA IMPLEMENTAR A
FUNO P = E P
I
X
I
(I: 0 A 7), USANDO O MODULO DE
TRANSFORMAO ABAIXO:

MODULO DE TRANSFORMAO
A x B + C
A B C
P = P
7
X
7
+ P
6
X
6
+ P
5
X
5
+ P
4
X
4
+ P
3
X
3
+ P
2
X
2
+ P
1
X
1
+ P
0
X
0

UM PRODUTO
E UMA SOMA
SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO SEQUENCIAL

P = P
7
X
7
+ P
6
X
6
+ P
5
X
5
+ P
4
X
4
+ P
3
X
3
+ P
2
X
2
+ P
1
X
1
+ P
0
X
0

P = (((((((P
7
X+ P
6
)X+ P
5
)X+ P
4
)X+ P
3
)X+ P
2
)X+ P
1
)X+ P
0
)
V6 = P
7
X+ P
6
V5 = V
6
X+ P
5
V4 = V
5
X+ P
4
V3 = P
4
X+ P
3
V2 = V
3
X+ P
2
V1 = V
2
X+ P
2
V0 = V
1
X+ P
0
ENTRE CADA ( ) ,
UMA MULTIPLICAO
E UMA SOMA
SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO SEQUENCIAL : IMPLEMENTAO

REG
P7
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT
MT
REG
REG
.................
V6
V5
SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO ITERATIVO DE EXECUO SEQUENCIAL

P = P
7
X
7
+ P
6
X
6
+ P
5
X
5
+ P
4
X
4
+ P
3
X
3
+ P
2
X
2
+ P
1
X
1
+ P
0
X
0

P = (((((((P
7
X+ P
6
)X+ P
5
)X+ P
4
)X+ P
3
)X+ P
2
)X+ P
1
)X+ P
0
)
I = 6 V = P
7
V = VX+ P
I
I = I - 1

I > 0

SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO ITERATIVO SEQUENCIAL : IMPLEMENTAO

REG
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT
P7
SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO CONCORRENTE

P = P
7
X
7
+ P
6
X
6
+ P
5
X
5
+ P
4
X
4
+ P
3
X
3
+ P
2
X
2
+ P
1
X
1
+ P
0
X
0

P = (((P
7
X+ P
6
)X
2
+ (P
5
X+ P
4
))X
2
)X
2
+(P
3
X+ P
2
)X
2
+(P
1
X+ P
0
)
V7= P
7
X+ P
6
V9 = V
3
VX+ V
1
V8= V
7
VX+ V
5
V3 = P
3
X+ P
2
V10 = V
8
V
2
X + V
9
V5 = P
5
X+ P
4
V1 = P
1
X+ P
0
VX = X.X

V
2
X = VX.VX

SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO CONCORRENTE: IMPLEMENTAO

REG
P7
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT MT MT MT
REG REG REG REG
MT
REG
MT
REG
MT
REG
MT
REG
.................
SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO GRUPO SEQUENCIAL

P = P
7
X
7
+ P
6
X
6
+ P
5
X
5
+ P
4
X
4
+ P
3
X
3
+ P
2
X
2
+ P
1
X
1
+ P
0
X
0

P = (((P
7
X+ P
6
)X
2
+ (P
5
X+ P
4
))X
2
)X
2
+(P
3
X+ P
2
)X
2
+(P
1
X+ P
0
)
V7= P
7
X+ P
6
V9 = V
3
VX+ V
1
V8= V
7
VX+ V
5
V3 = P
3
X+ P
2
V10 = V
8
V
2
X + V
9
V5 = P
5
X+ P
4
V1 = P
1
X+ P
0
VX = X.X

V
2
X = VX.VX

SISTEMAS DIGITAIS
SISTEMAS RTL
GRAFO DE EXECUO GRUPO SEQUENCIAL: IMPLEMENTAO

REG
P7
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT MT MT MT
REG REG REG REG
MT
REG
MT
REG
MT
REG
MT
REG
.................
SISTEMAS DIGITAIS
SISTEMAS RTL
ORGANIZAO DO SUBSISTEMA DE DADOS
SEM COMPARTILHAMENTO
COM COMPARTILHAMENTO
UNIMODULO
SISTEMAS DIGITAIS
SISTEMAS RTL
SEM COMPARTILHAMENTO
SISTEMAS DIGITAIS
SISTEMAS RTL
IMPLEMENTAO DO GRAFO DE EXECUO SEQUENCIAL

REG
P7
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT
MT
REG
REG
MODULOS DE TRANSFORMAO
E REGISTRADORES NO SO
COMPARTILHADOS
SISTEMAS DIGITAIS
SISTEMAS RTL
COM COMPARTILHAMENTO

REG
P7
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT MT MT MT
REG REG REG REG
MT
REG
MT
REG
MT
REG
MT
REG
IMPLEMENTAO DO
GRAFO DE
EXECUO GRUPO
SEQUENCIAL

MODULOS DE TRANSFORMAO
E/OU REGISTRADORES SO
COMPARTILHADOS. NO EX. ABAIXO
OS MODULOS COM A MESMA COR
PODEM SER COMPARTILHADOS
SISTEMAS DIGITAIS
SISTEMAS RTL
IMPLEMENTAO DO GRAFO ITERATIVO DE EXECUO
SEQUENCIAL

REG
REG
P6
REG
P5
REG
P4
REG
P3
REG
P2
REG
P1
REG
P0
REG
X
MT
P7
IMPLEMENTAO DO GRAFO ITERATIVO DE EXECUO
SEQUENCIAL

UNIMODULO

O MODULO DE
TRANSFORMAO UNICO
SISTEMAS DIGITAIS
SISTEMAS RTL
ORGANIZAO DO SUBSISTEMA DE CONTROLE
CENTRALIZADO
DESCENTRALIZADO
SEMI - CENTRALIZADO
SISTEMAS DIGITAIS
SISTEMAS RTL
CENTRALIZADO
SISTEMA RTL








SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SISTEMAS DIGITAIS
SISTEMAS RTL
DESCENTRALIZADO
SISTEMA RTL








SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
CONTROLE
SISTEMAS DIGITAIS
SISTEMAS RTL
SEMI - CENTRALIZADO
SISTEMA RTL









SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
DADOS
SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
CONTROLE
SUBSISTEMA
DE
CONTROLE
SISTEMAS DIGITAIS
EXERCICIO 25
1. IMPLEMENTAR A FUNO P COM GRAFO DE EXECUO
CONCORRENTE, SEM COMPARTILHAMENTO E DESCENTRALIZADO,
UTILIZANDO O SEGUINTE MODULO DE TRANSFORMAO, QUE J EST
ACOPLADO A UM REGISTRADOR E J POSSUI UM CONTROLE INTERNO
MT





CONTROLE
CONTRIN
X
+
REG
CONTROUT
A B C
S
SISTEMAS DIGITAIS
EXERCICIO 25 CONTINUAO
2A. IMPLEMENTAR A FUNO P COM GRAFO DE EXECUO GRUPO
SEQUENCIAL, SEM COMPARTILHAMENTO E CENTRALIZADO, UTILIZANDO
O SEGUINTE MODULO DE TRANSFORMAO, QUE J EST ACOPLADO A
DOIS REGISTRADORES E J POSSUI UM CONTROLE INTERNO
MT





CONTROLE
CONTRIN
X
+
REG
CONTROUT
A1 B1 C1
S1
X
+
REG
A2 B2 C2
S2
2B. REPETIR PARA CONCORRENTE, SEM COMPARTILHAMENTO E CENTRALIZADO.
SISTEMAS DIGITAIS
SIST. RTL MULTIPLICADOR
ALGORITMOS DE MULTIPLICAO DE 2 VETORES COM 4 BITS
ALGORITMO_1
ALGORITMO_2
Z= XY
Z= XYI2I = X(Y
0
2
0
+ Y
1
2
1
+Y
2
2
2
+Y
3
2
3
)
Z= XY
0
2
0
+ XY
1
2
1
+XY
2
2
2
+XY
3
2
3
Z= ((((0 +

XY
0
2
0
)+ XY
1
2
1
)+XY
2
2
2
)+XY
3
2
3
) --------------------ALGORITMO_1
Z= ((((0 +

XY
0
2
4
/2
4
)+ XY
1
2
4
/2
3
)+XY
2
2
4
/2
2
)+XY
3
2
4
/2
1
)
Z= (((1/2(0 +

XY
0
2
4
/2
3
)+ XY
1
2
4
/2
3
)+XY
2
2
4
/2
2
)+XY
3
2
4
/2
1
)
Z= ((1/2(1/2(0 +

XY
0
2
4
/2
2
)+ XY
1
2
4
/2
2
)+XY
2
2
4
/2
2
)+XY
3
2
4
/2
1
)
Z= (1/2(1/2(1/2(0 +

XY
0
2
4
/2
1
)+ XY
1
2
4
/2
1
)+XY
2
2
4
/2
1
)+XY
3
2
4
)
Z= 1/2(1/2(1/2(1/2(0 +

XY
0
2
4
)+ XY
1
2
4
)+XY
2
2
4
)+XY
3
2
4
) ---ALGORITMO_2

2
4
SISTEMAS DIGITAIS
SIST. RTL MULTIPLICADOR
ALGORITMOS DE MULTIPLICAO DE 2 VETORES COM 4 BITS

x
0 1 0 1 5
1 0 1 1 B
0 1 0 1
0 1 0 1
0 0 0 0
0 1 0 1
0 0 1 1 0 1 1 1 37

+
COUT
0 0 0 0 0 0 0 0
0 1 0 1 < < < <
> 0 0 1 0 1

+
0 0 1 0 1 0 0 0 0
0 1 0 1 < < < <
> 0 0 1 1 1 1 0 0 0

+
0 0 1 1 1 1 0 0 0
0 0 0 0 < < < <
> 0 0 0 1 1 1 1 0 0

+
0 0 0 1 1 1 1 0 0
0 1 0 1 < < < <
> 0 0 1 1 0 1 1 1 0
0 0 1 1 0 1 1 1 0
0 0 1 1 0 1 1 1 37
ALGORITMO_1
ALGORITMO_2 ( A SER USADO)
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
MULTIPLIER



M1
M2
P
START CLK
DONE
MULDATA
MULCTRL
SUBSIST.
DADOS
SUBSIST.
CONTROLE
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
GRAFO DE EXECUO PARA O ALGORITMO ESCOLHIDO
START
0
1
ENTRADA X E Y Z =0 I =0
Z = (Z + (X*2
N
)Y
I
)/2 I = I +1
I?
= N
= N
ESTADO DE ESPERA (WAITING)
ESTADO DE
ESTABELECIMENTO (SETUP)
ESTADO
ATIVO (ACTIVE)
MULTIPLIER









SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
ESPECIFICAO: DESCRIO EM VHDL(COMPORTAMENTAL)
MULTIPLIER



M1
M2
START CLK
DONE
BIBLIOTECA
e PACOTES
ENTIDADE
ARQUITETURA

PROCESSO
P
uVHDL
(descrio
comportamental)
SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
-- BIBLIOTECA
-- ---------------------
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
-- ENTIDADE
-- ---------------------
-- MODO -- TIPO -- COMENTARIO
04 ENTITY multiplier IS
05 GENERIC (n:NATURAL :=16);
06 PORT (strt, clk : IN BIT;
07 x_in, y_in : IN UNSIGNED(n-1 DOWNTO 0);
-- VETOR STD
08 zout : BUFFER UNSIGNED(2*n-1 DOWNTO 0); --BUFFER UTILIZADO
PORQUE A SAIDA zout
SER UTILIZADA
INTERNAMENTE
09 done : OUT BIT);
10 END multiplier;
SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
-- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE behavioral of multiplier IS
12 TYPE stateT IS (idle,setup,active);
-- TIPO ENUMERADO, DEFININDO
ESTADOS DO MULTIPLICADOR
13 SIGNAL state : stateT := idle;
-- ESTADO E ESTADO INICIAL
14 SIGNAL x,y : UNSIGNED(n-1 DOWNTO 0);
-- USADOS PARA ARMAZENAR
ENTRADAS
15 SIGNAL count : NATURAL RANGE 0 TO n-1;
--USADO PARA ARMAZENAR
CONTAGEM
16 BEGIN
PROCESSO
-- PROCESSO EST NO PROX. SLIDE
E DEVE SER INSERIDO AQUI
41 END behavioral;
SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
-- PROCESSO
17 PROCESS (clk)
18 VARIABLE zero_2n : UNSIGNED(2*n-1 DOWNTO 0); -- USADA PARA ZERAR SAIDA
19 VARIABLE scale : UNSIGNED(n-1 DOWNTO 0); -- USADA PARA FAZER 2
n
20 VARIABLE add_out : UNSIGNED(2*n DOWNTO 0); -- USADA PARA A SOMA
21 BEGIN
22 zero_2n
:= (OTHERS =>0);
23 scale := (OTHERS =>0);
24 IF (clkEVENT AND clk =1) THEN
25 CASE state IS
26 WHEN idle => done <= 1;

IF (strt = 1`) THEN state <= setup;

ELSE state <= idle;

END IF;
27
28
29
VARIAVEIS SO UTILIZADAS
PARA QUE A ATUALIZAO
SEJA IMEDIATA E ESTEJA
DISPONIVEL PARA A PROXIMA
LINHA DE CODIGO
SISTEMAS DIGITAIS
MULTIPLICADOR ESPECIFICAO
-- PROCESSO
-- ---------------------
30 WHEN setup => x <= x_in; y <= y_in ; count <= 0;
zout<=zero_2n; done <= 0`;state <= active;
31
32 WHEN active => IF (y(count) = 0`) THEN add_out := 0& zout;
-- & :
CONCATENAO
33 ELSE add_out := (0& zout) + (0 & x & scale);
-- & :
CONCATENAO
34 END IF;
35 zout<= add_out(2*n downto 1);
36 IF (count) /=(n-1) THEN state <= active; count <= count + 1;
37 ELSE state <= idle; done <= 1`;
38 END IF;
27 END CASE;
39 END IF;
40 END PROCESS;
SISTEMAS DIGITAIS
SIST. RTL :MULTIPLICADOR
SUB. SISTEMA DE DADOS
MULTIPLIER



M1
M2
P
START CLK
DONE
MULCTRL
MULDATA
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE DADOS uVHDLCOMPORTAMENTAL
-- BIBLIOTECA
-- ---------------------
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE DADOS uVHDL COMPORTAMENTAL
-- ENTIDADE
-- ---------------------
-- MODO -- TIPO
04 ENTITY muldata IS
05 GENERIC (n:NATURAL :=16);
06 PORT (ldX, ldY , ldZ,clk,shY,clrZ : IN BIT;
-- ld ,sh,clr SO
SAIDAS DO SUBSIST.
DE CONTROLE
07 x_in, y_in : IN UNSIGNED(n-1 DOWNTO 0);
08 zout : BUFFER UNSIGNED(2*n-1 DOWNTO 0));
09 END muldata;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE DADOS uVHDL COMPORTAMENTAL
-- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE behavioral of muldata IS
12 SIGNAL x,y : UNSIGNED(n-1 DOWNTO 0);
-- USADOS PARA ARMAZENAR
ENTRADAS
13 BEGIN
PROCESSO
-- PROCESSO EST NO PROX.
SLIDE E DEVE SER INSERIDO
AQUI
31 END behavioral;
SISTEMAS DIGITAIS
SIST. RTL- MULTIPLIC
SUBSIST. DADOS COMPORTAM.
-- PROCESSO
14 PROCESS (clk)
15 VARIABLE zero_2n : UNSIGNED(2*n-1 DOWNTO 0);

16 VARIABLE scale : UNSIGNED(n-1 DOWNTO 0);
17 VARIABLE add_out : UNSIGNED(2*n DOWNTO 0);
18 BEGIN
19 zero_2n
:= (OTHERS =>0);
20 scale := (OTHERS =>0);
21 IF (clkEVENT AND clk =1) THEN
22 IF (ldX = 1`) THEN x < = xin; END IF;
23 IF (ldY = 1`) THEN y < = yin; END IF;
24 IF (y(0) = 0`) THEN add-out := 0& z;
25 ELSE add_out := (0& zout) + (0 & x & scale); END IF;
26 IF (ldZ = 1`) THEN zout<= add_out(2*n downto 1); END IF;
27 IF (clrZ= 1`) THEN zout < = zero_2n ; END IF;
28 IF (shY) = 1`) THEN y <= 0 & y(n-1 DOWNTO 1); END IF;
29 END IF;
30 END PROCESS;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DADOS - PROJETO
PROJETO DO SUBSISTEMA DE DADOS
REG X
REG Y
REG ZOUT
clk
VAND
+ COUT zout
add_out
xreg_out
and_out
c_out
y_0
zreg_in
ldX
ldY
shY
ldZ
clrZ
x_in y_in
SUDSIST.
DE
CONTROLE
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DADOS PROJETO
VAND
REG X
REG Y
VAND
REG X
REG Y
SISTEMAS DIGITAIS
SIST. RTL :MULTIPLICADOR
SUB. SISTEMA DE CONTROLE
MULTIPLIER



M1
M2
P
START CLK
DONE
MULCTRL
MULDATA
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE CONTR uVHDL COMPORTAMENTAL
-- BIBLIOTECA
-- ---------------------
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE CONTR uVHDL COMPORTAMENTAL
-- ENTIDADE
-- ---------------------
04 ENTITY multctrl IS
05 GENERIC (n:NATURAL :=16);
06 PORT (ldX, ldY , ldZ,done,shY,clrZ : OUT BIT;
07 strt, clk : IN BIT);
09 END multctrl;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE CONTR uVHDL COMPORTAMENTAL










-- ARCHITECTURE
-- ---------------------
10 ARCHITECTURE behavioral of multctrl IS
11 TYPE stateT IS (idle,setup,active);
-- TIPO DEFININDO ESTADOS DO
MULTIPLICADOR
12 SIGNAL state : stateT := idle;
-- ESTADO E ESTADO INICIAL
13 SIGNAL count : NATURAL RANGE 0 TO n-1;
--USADO PARA ARMAZENAR
CONTAGEM
14 BEGIN
PROCESSO_FUNO_DE_TRANSIO -- PROCESSO EST NO PROX.
SLIDE E DEVE SER INSERIDO
AQUI
PROCESSO_FUNO_ DE_SAIDA
-- PROCESSO EST NO PROX.
SLIDE E DEVE SER INSERIDO
AQUI
41 END behavioral;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUB.SIST. CONTROLE COMPORTAM.
-- PROCESSO_FUNO_DE_TRANSIO
15 PROCESS (clk)
16 BEGIN
17 IF (clkEVENT AND clk =1) THEN
18 CASE state IS
19 WHEN idle => done <= 1;

IF (strt = 1`) THEN state <= setup;

ELSE state <= idle;

END IF;
20
21
22
23 WHEN setup => count <= 0; done <= 0`;state <= active;

24 WHEN active => IF (count = n-1 THEN count <=0; state <= idle;
25 ELSE count <= count + 1; state <= active );
26 END IF;
27 END CASE;
28 END IF;
29 END PROCESS;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE CONTR UVHDL COMPORTAMENTAL
-- PROCESSO_FUNO_DE _SAIDA
30 PROCESS (state)
31 VARIABLE controls : BIT_VECTOR(5 DOWNTO 0);
--codigo =
(done,ldX,ldY,ldZ,shY,clrZ)
32 BEGIN
33 CASE state IS
34 WHEN idle => controls := 100000;
35 WHEN setup => controls := 011001;
36 WHEN active => controls := 000110;
37 END CASE;
38 done <= controls(5); ldX <= controls(4); ldY <= controls(3);
39 ldZ <= controls(2); shy(1) <= controls(1);clrZ <= controls(0);
40 END PROCESS;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. CONTROLE - PROJETO
PROJETO DO SUBSISTEMA DE CONTROLE (ONEHOT)
D Q
CLK
D Q
CLK
D Q
CLK
CLR
CNT

CONTADOR UP
MODULO N

TC
CLK
strt
clk
1
0
1
0
idle
setup
active
done
ldX
ldY
clrZ
shY
ldZ
idle0 active1
didle
idle1
qsetup active0
qactive dactive
tc
count_out
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DADOS - ESTRUTURAL
COMPONENTES BASICOS
ld vin
clk vout
COMPONENTE: REG
PORT(vin,ld,vout,clk)
COMPONENTE: SHYREG
PORT(vin,ld,shY,vout_0,clk)
ld vin
shY
clk vout_0
COMPONENTE: REGCLR
PORT(vin,ld,clr,vout,clk)
ld vin
clr
clk vout
vin
bitand vout
COMPONENTE: VECTORAND
PORT(vin,bitand,vout)
COMPONENTE: ADDERPOS
PORT(vin1,vin2,cin,vout,cout)
vin1 vin2
cin cout
vout
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DADOS uVHDL ESTRUTURAL
-- ENTIDADE
-- ---------------------
04 ENTITY muldata_str IS
05 GENERIC (n:NATURAL :=16);
06 PORT (ldX, ldY , ldZ,clk,shY,clrZ : IN BIT;
07 x_in, y_in : IN UNSIGNED(n-1 DOWNTO 0);
08 zout) : BUFFER UNSIGNED(2*n-1 DOWNTO 0));
09 END muldata_str;
-- BIBLIOTECA
-- ---------------------
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. DE DADOS UVHDL ESTRUTURAL -- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE stuctural of muldata_str IS
12 SIGNAL add_out,xreg_out,and_out : BITVECTOR(n-1 DOWNTO 0);
13 SIGNAL c_out,y_0 : BIT;
14 SIGNAL zreg_in : BITVECTOR(2*n-1 DOWNTO 0);
15 BEGIN
16 zreg_in <= c_out & add_out & zout(n-1 DOWNTO 1);
17 X : ENTITY reg PORT MAP(x_in,ldX,xreg_out,clk);
18 Y : ENTITY shireg PORT MAP(y_in,ldX,shY,y_0,clk);
19 Z : ENTITY regclr PORT MAP(zreg_in,ldZ,clrZ,zout,clk);
20 VAND: ENTITY vectorand PORT MAP(xreg_out,y_0,and_out);
21 ADD : ENTITY adder_pos PORT MAP(zout(2*n 1 DOWNTO n) ,
and_out, 0`, add_out,c_out);
22 END structural;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. CONTROLE - ESTRUTURAL
COMPONENTES BASICOS
COMPONENTE: FFD
PORT(d,clk,q,p,c)
p d
c
clk q
COMPONENTE: CONT
PORT(cnt,clk,tc,clr)
cnt
clr
clk tc
COMPONENTE: DEMUX
PORT(din,sel,dout0,dout1)
din
sel
dout0 dout1
COMPONENTE: OR
PORT(or1,or2,orout)
or1 or2

orout
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
SUBSIST. CONTROLE ESTRUTURAL
-- ENTIDADE
-- ---------------------
04 ENTITY multctrl_str IS
05 GENERIC (n:NATURAL :=16);
06 PORT (ldX, ldY , ldZ,done,shY,clrZ : OUT BIT;
07 strt, clk : IN BIT;
inic : IN BIT) ;
09 END multctrl_str;
-- BIBLIOTECA
-- ---------------------
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
SISTEMA RTL MULTIPLICADOR
uVHdL ESTRUTURAL
SISTEMAS DIGITAIS
DESCRIO ESTRUTURAL VHDL DO SUBSISTEMA DE CONTROLE
-- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE stuctural of multctrl _str IS
12 SIGNAL active1,idle0,idle1,didle,qsetup,active0,qactive,dactive,tc : BIT;
15 BEGIN
16 OU1 : ENTITY OR PORT MAP(idle0,active1,didle);
17 REGIDLE : ENTITY FFD PORT MAP(didle,clk,done,inic,0);
18 DEMUX1 : ENTITY DEMUX PORT MAP(done,strt,didle0,didle1);
19 REGSETUP : ENTITY FFD PORT MAP(idle1,clk,qsetup,0,inic);
20 OU2 : ENTITY OR PORT MAP(qsetup,active0,dactive);
REGACTIVE : ENTITY FFD PORT MAP(dactive,clk,qactive,0,inic);
21 DEMUX2 : ENTITY DEMUX PORT MAP(qactive,tc,active0,active1);
CONTADOR : ENTITY CONT PORT MAP(qactive,clk,tc,qsetup) ;
ldX <= qsetup;ldY <=qsetup;clrZ<=qsetup;shy<=qactive;ldZ<=qactive;
22 END structural;
-- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE stuctural of multctrl _str IS
12 SIGNAL active1,idle0,idle1,didle,qsetup,active0,qactive,dactive,tc : BIT;
15 BEGIN
16 OU1 : ENTITY OR PORT MAP(idle0,active1,didle);
17 REGIDLE : ENTITY FFD PORT MAP(didle,clk,done,inic,0);
18 DEMUX1 : ENTITY DEMUX PORT MAP(done,strt,didle0,didle1);
19 REGSETUP : ENTITY FFD PORT MAP(idle1,clk,qsetup,0,inic);
20 OU2 : ENTITY OR PORT MAP(qsetup,active0,dactive);
REGACTIVE : ENTITY FFD PORT MAP(dactive,clk,qactive,0,inic);
21 DEMUX2 : ENTITY DEMUX PORT MAP(qactive,tc,active0,active1);
CONTADOR : ENTITY CONT PORT MAP(qactive,clk,tc,qsetup) ;
ldX <= qsetup;ldY <=qsetup;clrZ<=qsetup;shy<=qactive;ldZ<=qactive;
22 END structural;
-- ARCHITECTURE
-- ---------------------
11 ARCHITECTURE stuctural of multctrl _str IS
12 SIGNAL active1,idle0,idle1,didle,qsetup,active0,qactive,dactive,tc : BIT;
15 BEGIN
16 OU1 : ENTITY OR PORT MAP(idle0,active1,didle);
17 REGIDLE : ENTITY FFD PORT MAP(didle,clk,done,inic,0);
18 DEMUX1 : ENTITY DEMUX PORT MAP(done,strt,didle0,didle1);
19 REGSETUP : ENTITY FFD PORT MAP(idle1,clk,qsetup,0,inic);
20 OU2 : ENTITY OR PORT MAP(qsetup,active0,dactive);
REGACTIVE : ENTITY FFD PORT MAP(dactive,clk,qactive,0,inic);
21 DEMUX2 : ENTITY DEMUX PORT MAP(qactive,tc,active0,active1);
CONTADOR : ENTITY CONT PORT MAP(qactive,clk,tc,qsetup) ;
ldX <= qsetup;ldY <=qsetup;clrZ<=qsetup;shy<=qactive;ldZ<=qactive;
22 END structural;
SISTEMAS DIGITAIS
SISTEMA RTL MULTIPLICADOR
ESTRUTURAL
DESCRIO ESTRUTURAL VHDL DO MULTIPLICADOR
MULCTRL_STR MULDATA_ STR
ldX
ldY
ldZ
clrZ
shY
strt
x_in y_in
zout
done
clk
clk
inic COMPONENTE
COMPONENTE
PORT (ldX, ldY , ldZ,done,shY,clrZ, strt, clk,inic)
PORT (ldX, ldY,ldZ,clk,shY,clrZ,x_in,y_in, zout)
SISTEMAS DIGITAIS
-- ENTIDADE
05 ENTITY multiplier IS
06 GENERIC (n:NATURAL :=16);
07 PORT (done : OUT BIT;
08 strt, clk,inic : IN BIT;
09 x_in,x_out : IN UNSIGNED(n-1 DOWNTO 0);
10 zout :BUFFER UNSIGNED(2*n-1 DOWNTO 0));
11 END multiplier;
-- BIBLIOTECA
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
04 USE WORK.ALL
SISTEMA RTL MULTIPLICADOR
UVHDL ESTRUTURAL
-- ENTIDADE
05 ENTITY multiplier IS
06 GENERIC (n:NATURAL :=16);
07 PORT (done : OUT BIT;
08 strt, clk,inic : IN BIT;
09 x_in,x_out : IN UNSIGNED(n-1 DOWNTO 0);
10 zout :BUFFER UNSIGNED(2*n-1 DOWNTO 0));
11 END multiplier;
-- ARCHITECTURE
-- ---------------------
12 ARCHITECTURE stuctural of muliplier IS
13 SIGNAL ldX,ldY,ldZ,shY,clrZ : BIT;
14 BEGIN
15
U1: ENTITY muldata_str PORT MAP (ldX, ldY,ldZ,clk,shY,clrZ,x_in,y_in, zout) ;
16
U2: ENTITY multctrl_str PORT MAP(ldX, ldY , ldZ,done,shY,clrZ, strt,clk,inic) ;
27 END structural;
SISTEMA RTL MULTIPLICADOR
uVHDL ESTRUTURAL
SISTEMAS DIGITAIS
SISTEMAS DIGITAIS
SISTEMA RTL







SUB. SIST. CONTROLE





SUB. SIST. DADOS





ENTRADA DE DADOS
SAIDA DE DADOS
ENTRADA DE CONTROLE
(EX. INICIO)
SAIDA DE CONTROLE
(EX. FIM)
COMANDOS
CONDIES
SISTEMA RTL - GENERICO
SISTEMAS DIGITAIS
GRAFO DE EXECUO
A < W
NO
ENTRADA X E Y
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
SISTEMA RTL INC/DEC
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE DADOS
PROJETO DO SUBSISTEMA DE DADOS
REG_X
CLK
X_IN
REG_Y
CLK
Y_IN
A < W
NO
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
ENTRADA X E Y
SUBSIST CONTROLE
LDX LDY
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE DADOS
PROJETO DO SUBSISTEMA DE DADOS
REG_X A
CLK
LDX
X_IN
REG_Y W
CLK
LDY
Y_IN
| |
0 1 SELY
A < W
NO
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
ENTRADA X E Y
A < W -> K= 1
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE DADOS
PROJETO DO SUBSISTEMA DE DADOS
REG_X A
CLK
LDX
X_IN
REG_Y W
CLK
LDY
Y_IN
| |
0 1 SELY
E1 E2
COMP
E1<E2
K
A < W
NO
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
ENTRADA X E Y
SUBSIST
CONTR.
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE DADOS
PROJETO DO SUBSISTEMA DE DADOS
REG_X A
CLK
LDX
REG_Y W
CLK
LDY
Y_IN
| |
0 2 1 SELY0
SELY1
E1 E2
COMP
E1<E2
K
DEC
INC
1 0
SELX
X_IN
A < W
NO
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
ENTRADA X E Y
SISTEMAS DIGITAIS
PROJETO DO SUBSISTEMA DE DADOS
REG_X A
CLK
LDX
REG_Y W
CLK
LDY
Y_IN
| |
0 2 1 SELY0
SELY1
E1 E2
COMP
E1<E2
K
DEC
INC
1 0
SELX
X_IN
LEFT2
Z
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE DADOS
MUX1_0UT
XREG_0UT
INC_0UT
LFT_0UT
MUX2_0UT
YREG_0UT
ABS_0UT
DEC_0UT
A < W
NO
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
ENTRADA X E Y
SISTEMAS DIGITAIS
SISTEMA RTL






SUB. SIST. CONTROLE





SUB. SIST. DADOS





X_IN
Z
ENTRADA DE CONTROLE
(EX. strt)
SAIDA DE CONTROLE
(EX. done)
COMANDOS
CONDIES
Y_IN
LDX
LDY
SELX
SELY0
SELY1
K
SISTEMA RTL INC/DEC
SISTEMAS DIGITAIS
GRAFO DE EXECUO
PARA CONTROLE
A < W
NO
ENTRADA X E Y
A = X W = |Y|
A = A +1 W = W -1
Z = 4A
SAIDA Z
SIM
WAITING
START =1
START =0
SETUP
ABS
CHK_INT
K=0
K=1
ITERATIVE
MULTIPLY
SISTEMA RTL - INC/DEC
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
PROJETO DO SUBSISTEMA DE CONTROLE
D Q
CLK
D Q
CLK
D Q
CLK
strt
clk
1
0
0
1
waiting
setup
chk_iter
waiting0
dwaiting
waiting1
qsetup
qchk_iter
dchk_iter
k
qwaiting
D Q
CLK
abs
qabs
D Q
CLK
iterate
D Q
CLK
multiply
qiterate
chk_iter1
qmultiply
qiterate
qsetup
qabs
LDX
LDY
SELX
SELY1
SELY0
dmultiply
sou
DONE
SELX =1: ITERATE
LDX =1: ITERATE OU SETUP
LDY =1: ITERATE OU SETUP
OU ABS
SELY0 =1: ABS
SELY1 =1: ITERATE
PROJETO DO SUBSISTEMA DE CONTROLE (usando 1FF por estado)
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO COMPORTAMENTAL DO SUBSIST.DE CONTROLE
-- ENTIDADE
-- ---------------------
04 ENTITY incdec-ctrl IS
05 PORT (ldX, ldY , selX,done : OUT BIT;
06 selY : OUT OUT BIT_VECTOR(1 DOWNTO 0);
07 strt, k, clk : IN BIT);
09 END incdec_ctrl;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO COMPORTAMENTAL DO SUBSIST.DE CONTROLE
-- ARCHITECTURE
-- ---------------------
10 ARCHITECTURE behavioral of incdec_ctrl IS
11 TYPE stateT IS (waiting,setup,abs,chk_iter,
iterate,multiply);
-- TIPO DEFININDO ESTADOS
DO MULTIPLICADOR
12 SIGNAL state : stateT := waiting;
-- ESTADO E ESTADO
INICIAL
13 BEGIN
PROCESSO_FUNO_DE_TRANSIO
-- PROCESSO EST NO
PROX. SLIDE E DEVE SER
INSERIDO AQUI
PROCESSO_FUNO_ DE_SAIDA
-- PROCESSO EST NO
PROX. SLIDE E DEVE SER
INSERIDO AQUI
45 END behavioral;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO COMPORTAMENTAL DO SUBSIST.DE CONTROLE
-- PROCESSO_FUNO_DE_TRANSIO
14 PROCESS (clk)
15 BEGIN
16 IF (clkEVENT AND clk =1) THEN
17 CASE state IS
18 WHEN waiting => IF (strt = 1`) THEN state <= setup;
19 ELSE state <= waiting;
20 END IF;
21 WHEN setup => state <= abs;
22 WHEN abs => state <= chk_iter;
23 WHEN chk_iter => IF (k = `1`) THEN state <= iterate;
24 ELSE state <= multiply );
25 END IF;
26 WHEN iterate => state <= chk_iter;
27 WHEN multiply => state <= waiting;
28 END CASE;
29 END IF;
30 END PROCESS;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO COMPORTAMENTAL DO SUBSIST.DE CONTROLE
-- PROCESSO_FUNO_DE _SAIDA
31 PROCESS (state)
32 VARIABLE controls : BIT_VECTOR(4 DOWNTO 0); --codigo = (ldX,ldY,selXselY(1),selY(0))
33 BEGIN
34 CASE state IS
35 WHEN waiting => controls := 00000;
36 WHEN setup => controls := 11000;
37 WHEN abs => controls := 01001;
38 WHEN chk_iter => controls := 00000;
39 WHEN iterate => controls := 11110;
40 WHEN multiply => controls := 00000;
41 END CASE;
42 ldX <= controls(4); ldY <= controls(3);
43 selX <= controls(2); selY <= controls(1 DOWNTO 0);
44 END PROCESS;
SISTEMAS DIGITAIS
-- ENTIDADE
-- ---------------------
-- MODO -- TIPO
04 ENTITY incdec_data IS
05 GENERIC( n: NATURAL :=16);
06 PORT (ldX, ldY , selX, clk : IN BIT;
07 x_in, y_in : IN UNSIGNED(n-1 DOWNTO 0);
08 zout : OUT UNSIGNED(n-1 DOWNTO 0);
09 k : OUT BIT;
10 selY : IN BIT_VECTOR(1 DOWNTO ));
11 END incdec_data;
SISTEMA RTL INC/DEC
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO COMPORTAMENTAL DO SUBSIST.DE DADOS
-- ARCHITECTURE
12 ARCHITECTURE behavioral of incdec_data IS
13 SIGNAL x,y : BIT_VECTOR(n-1 DOWNTO 0);
14 BEGIN
15 PROCESS(clk)
16 BEGIN
17 IF (clk =1) THEN
18 IF (ldX = 1`) AND (selX = 0`) THEN x <= x_in; END IF;
19 IF (ldX = 1`) AND (selX = 1`) THEN x <= inc(x); END IF;
-- inc() : FUNO DE PACOTE
20 IF (ldY = 1`) AND (selY = 00`) THEN y <= y_in; END IF;
21 IF (ldY = 1`) AND (selY = 01`) THEN y <= dec(y); END IF;
22 IF (ldY = 1`) AND (selY = 10`) THEN y <= ABS(y); END IF;
23 IF (x < y) THEN k <= `1`; ELSE k <= `0`; END IF;
24 zout <= shift_left(x,2);
25 END IF;
26 END PROCESS;
27 END behavioral;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL DO SUBSIST.DE DADOS
COMPONENTES BASICOS



COMPONENTES BASICOS PORT
ENTIDADE: REG PORT(vin,ld,vout,clk)
ENTIDADE: INCREMENTER PORT(vin,vout)
ENTIDADE: DECREMENTER PORT(vin,vout)
ENTIDADE: ABSOLUTE PORT(vin,vout)
ENTIDADE: MUX2 PORT(vin0,vin1,sel,vout)
ENTIDADE: MUX4 PORT(vin0,vin1,vin2,vin3,sel2,vout)
ENTIDADE :LEFT_SHIFT2 PORT (vin,vout)
ENTIDADE : LESS_THAN PORT (vin0,vin1,comp_out)
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL DO SUBSIST.DE DADOS


-- ARCHITECTURE
11 ARCHITECTURE stuctural of incdec_data IS
12 SIGNAL inc_out, dec_out
: BIT_VECTOR(n-1
DOWNTO 0);
13 SIGNAL abs_out,lft_out
: BIT_VECTOR(n-1
DOWNTO 0);
14 SIGNAL mux1_out,mux2_out
: BIT_VECTOR(n-1
DOWNTO 0);
15 SIGNAL xreg_out,yreg_out
: BIT_VECTOR(n-1
DOWNTO 0);
16 SIGNAL zero_32
: BIT_VECTOR(n-1
DOWNTO 0)
17 BEGIN
18 x : ENTITY reg PORT MAP(mux1_out,ldX,xreg_out,clk);
19 y : ENTITY reg PORT MAP(mux2_out,ldyX,yreg_out,clk);
20 inc : ENTITY incrementer PORT MAP(xreg_out,inc_out);
21 dec : ENTITY decrementer PORT MAP(yreg_out,dec_out);
22 abs : ENTITY absolute PORT MAP(yreg_out,abs_out);
23 mux1: ENTITY mux2 PORT MAP(x_in,inc_out,selX,mux1_out);
24
mux2 : ENTITY mux4 PORT MAP(y_in,dec_out,abs_out,zero_32,selY,mux2_out);
25 lft2 : ENTITY lft_shift2 PORT MAP(xreg_out,lft_out);
26 comp : ENTITY less_than PORT MAP(xreg_out,yreg_out,k);
26 END structural;
INICICIALIZAO
DESNECESSARIA PQ NO
SER USADA ESTA ENTRADA
NO MUX
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL DO SUBSIST.DE CONTROLE
COMPONENTES BASICOS PORT
ENTIDADE: FFD PORT(d,clk,q,p,c)
ENTIDADE: DEMUX PORT(din,sel,dout0,dout1)
ENTIDADE: OR PORT(or1,or2,orout)
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL DO SUBSIST.DE CONTROLE
ARCHITECTURE
11 ARCHITECTURE stuctural of incdec _str IS
12 SIGNAL dwaiting;qwaiting;waiting1;waiting0;qsetup;qabs;dchk_iter;qchk_iter;chk_iter1 : BIT;
13 SIGNAL diterate,qiterate,dmultiply,sou,qmultiply : BIT;
14 BEGIN
15 OU1 : ENTITY OR PORT MAP(qmultiply,waiting0,dwaiting);
16 REGWAIT : ENTITY FFD PORT MAP(dwaiting,clk,qwaiting,0,0);
17 DEMUX1 : ENTITY DEMUX PORT MAP(qwaiting,strt,waiting0,waiting1);
18 REGSETUP : ENTITY FFD PORT MAP(waiting1,clk,qsetup,0,0);
19 REGABS : ENTITY FFD PORT MAP(qsetup,clk,qabs,0,0);
20 OU2 : ENTITY OR PORT MAP(qabs,qiterate,dchk_iter);
21 REGCHK : ENTITY FFD PORT MAP(dchk_iter,clk,qchk_iter,0,0`);
22 DEMUX2 : ENTITY DEMUX PORT MAP(qchk_iter,k,dmultiply,chk_iter1);
23 REGITER : ENTITY FFD PORT MAP(chk_iter1,clk,qiterate,0,0);
24 REGMUL : ENTITY FFD PORT MAP(dmultiply,clk,qmultiply,0,0);
25 OU3 : ENTITY OR PORT MAP(qiterate,qsetup,sou);
26 OU4 : ENTITY OR PORT MAP(qabs,sou,ldY)
27 ldX <= sou;selY(0) <=qabs;selY(1)<=qiterate;selX<=qiterate;done<=qwaiting;
28 END structural;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL
-- BIBLIOTECA
01 LIBRARY ieee;
-- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO
SO NECESSARIOS
02 USE ieee.std_logic_1644.all;
-- MULTI-NIVEIS LOGICOS USADOS
03 USE ieee.std_logic_arith.all;
-- TIPO VETOR S/SINAL USADO EM OPERAES ARITMETICAS
04 USE WORK.ALL
-- ENTIDADE
05 ENTITY incdec IS
06 GENERIC (n:NATURAL :=16);
07 PORT (strt : IN BIT;
08 x_in, y_in : IN UNSIGNED(n-1 DOWNTO 0);
09 zout : OUT UNSIGNED(n-1 DOWNTO 0);
10 done : OUT BIT;
11 clk : IN BIT);

12 END incdec;
SISTEMAS DIGITAIS
SISTEMA RTL INC/DEC
DESCRIO ESTRUTURAL
-- ARCHITECTURE
-- ---------------------
12 ARCHITECTURE structural of incdec IS
13 SIGNAL selY :BIT_VECTOR
(1 DOWNTO 0);
14 SIGNAL ldX,ldY,selX,k :BIT;
15 BEGIN
16
datasub: ENTITY incdec_data PORT MAP(ldX,ldY,selX,x_in,y_in,zout,k,clk,selY);
17
ctrlsub : ENTITY incdec_ctr PORT MAP(ldX,ldYselX,done,selY,strt,k,clk);
18 END structural;
SISTEMAS DIGITAIS
EXERCICIO 26
1. CONSIDERE A DESCRIO DO
SISTEMA DA FIG. AO LADO
A. SE OS VALORES INICIAIS DE X E Y
FOREM 00101110 E 11100010,
DETERMINE O VALOR DE A, B, C,
APS A EXECUO.
B. PROJETE O SUBSISTEMA DE
DADOS QUE SEJA ADEQUADO PARA
EXECUTAR A SEQUENCIA RTL.
C. FORNEA UM DIAGRAMA DE
ESTADOS DO SUBSISTEMA DE
CONTROLE E IMPLEMENTE-O
USANDO MUX, CONTADOR ,
DECODIFICADOR E INVERSOR.
D. REPITA O PROJETO DO
SUBSISTEMA DE CONTROLE
USANDO A ABORDAGEM DE UM FF
POR ESTADO.
ENTITY EXERCISE IS
PORT (X,Y : IN BIT_VECTOR (7 DOWNTO 0);
S : IN BIT
C : OUT BIT_VECTOR ( 7 DOWNTO 0));
END EXERCISE;

ARCHITECTURE SIMPLE OF EXERCISE IS
SIGNAL STATE : NATURAL RANGE 0 TO 6 := 0;
SIGNAL A, B : BIT_VECTOR (7 DOWNTO 0);
BEGIN
PROCESS (CLK)
BEGIN
IF (CLKEVENT AND CLK=1) THEN
CASE STATE IS
WHEN 0 => IF (S = 1) THEN STATE<= 1;END IF;
WHEN 1 => B <= X; A <=Y ; STATE <= 2;
WHEN 2 => A <= A + B;
IF (A(7)= 1) THEN STATE<= 5;
ELSE STATE <= 3;
END IF;
WHEN 3 => A <= NOT (A); STATE <= 4;
WHEN 4 => A <= A +1; STATE <= 6;
WHEN 5 => B <= B +1; STATE <= 6;
WHEN 6 => C <= A +B; STATE <= 0;
END CASE;
END IF;
END PROCESS;
END SIMPLE;
SISTEMAS DIGITAIS
EXERCICIO 26 CONTINUAO
2. O QUE FAZ O SISTEMA DA FIGURA
AO LADO?
3. MOSTRE A IMPLEMENTAO DA
SEGUINTE INSTRUO EM VHDL
IF (A >B) THEN A <= B ; B <= A;
ELSE A <= C;
END IF;

REG_A
CLK
LDA
SOMADOR
CIN =0
COUT
REG_B
CLK
LDB
CLRB
REG_C
CLK
LDC
O
R
COUT
S2
A7
S1
LDC
CLRB
LDK
E
8
CONTADOR
MOD 4
0 0
E
LDK
CLK
DECODIFICOR
LDA S1 S2 LDB
0 1 2 3
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
PROJETAR UM SISTEMA RTL PARA COMPUTAR:
\ (A
2
+B
2
)

USANDO A APROXIMAO... MAX((0,875X + 0,5Y),X)
EM QUE: X = MAX(|A|,|B|)
Y = MIN(|A|,|B|)
OBS:
0,875X = X 0,125X = X X/8 = X (X>>3)
0,5Y = Y/2 = Y>>1
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
GRAFO DE EXECUO
X = MAX(T1,T2) Y = MIN(T1,T2)
A = IN1 B= IN2
T1 =|A| T2 = |B|
T5 = X T3
T6 = T4 + T5
T7 = MAX(T6,X)
MAX((0,875X + 0,5Y),X)

EM QUE :X = MAX(|A|,|B|)
Y = MIN(|A|,|B|)
LISTA DE VARIAVEIS
A ,B
T1,T2
X,Y
T3,T4
T5
T6
T7

S0
S1
S2
S3
S4
S5
S6
OUT =T7
T3 = X >>3 T4 =Y >> 1
S7
T6
T5 T4
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
AGRUPAMENTO DE VARIAVEIS EM REGISTRADORES
A TAB. ABAIXO DEVE MOSTRAR O
ESTADO EM QUE A VARIAVEL EST
DISPONIVEL , O TEMPO DE VIDA DA
VARIAVEL , E O AGRUPAMENTO DE
VARIAVEIS EM REGISTRADORES
VAR S0 S1 S2 S3 S4 S5 S6 S7
A
B
T1
T2
X
Y
T3
T4
T5
T6
T7
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
S1
T5 = X T3
OUT = T7
SISTEMAS DIGITAIS
VAR S0 S1 S2 S3 S4 S5 S6 S7
A R1
B R2
T1 R1
T2 R2
X R1 R1 .... R1
Y R2
T3 R2
T4 R3 R3
T5 R2
T6 R2
T7 R1
COMPARTILHAMENTO EM
SISTEMA RTL
3
REGISTRADORES
AGRUPAMENTO DE VARIAVEIS EM REGISTRADORES
A TAB. ABAIXOMOSTRA O ESTADO
EM QUE A VARIAVEL EST
DISPONIVEL , O TEMPO DE VIDA DA
VARIAVEL , E O AGRUPAMENTO DE
VARIAVEIS EM REGISTRADORES
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
S1
T5 = X T3
OUT = T7
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
PROJETO DO SUBSISTEMA DE DADOS
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R1 A R2 B
IN1 IN2
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
PROJETO DO SUBSISTEMA DE DADOS
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2
IN1
IN2
R1 A,T1
| | | |
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y
IN1 IN2
R1 A,T1,X
| | | |
MIN MAX
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3
IN1 IN2
R1 A,T1,X
| | | |
MIN MAX
>>3
>>1
R3 T4
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5
IN1 IN2
R1 A,T1,X
| | | |
MIN MAX
>>3
>>1
R3 T4
-
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X
| | | |
MIN MAX
>>3
>>1
R3 T4
-
+
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
| | | |
MIN MAX
>>3
>>1
R3 T4
-
+
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
| | | |
MIN MAX
>>3
>>1
R3 T4
-
+
SISTEMAS DIGITAIS
OPER S0 S1 S2 S3 S4 S5 S6 S7
| |
| |
MAX
MIN
-
+
COMPARTILHAMENTO EM
SISTEMA RTL
A TAB. ABAIXO DEVE MOSTRAR O
ESTADO EM QUE A OPERADOR EST
SENDO USADO.
AGRUPAMENTO DE OPERADORES
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
COMPARTILHAMENTO EM
SISTEMA RTL
>>3 E >>1
NO FORAM COLOCADOS
POR QUE NO NECESSITAM
DE OPERADORES
SISTEMAS DIGITAIS
OPER S0 S1 S2 S3 S4 S5 S6 S7
| |
OP1
| |
OP2
MAX
OP1
MIN
OP2
-
OP2
+
OP2
AGRUPAMENTO DE OPERADORES
A TAB. ABAIXO MOSTRA O ESTADO
EM QUE A OPERADOR EST SENDO
USADO.
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
OP1: | | , MAX ,
OP2: | | , MIN , - , +
OP: | | , MAX, MIN , - , +
O1 O2
OR
SEL_OP
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
PROJETO DO OPERADOR
0 O1
S_O1/0
0 1
O2
S_O2/#
+ CIN
O1
S_O1/+
0 1
O2
0 1
OR
CFIM
XOR
CINV
BIT DE SINAL
S_O1/0
1
1
0
1
1
S_O2/#
0
1
1
1
1
CFIM
0
0
1
1
1
S_O1/+
0
0
0
1
1
CINV
X
X
0
0
1

+
-
| |
MAX
MIN
0 1
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
OP1
OP2
>>1
R3 T4
SUBSIST. DE DADOS COM AGRUPAMENTO DE OPERADORES
>>3
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
OP1
OP2
>>1
R3 T4
SUBSIST. DE DADOS COM AGRUPAMENTO DE CONEXES
>>3
A
C
B
D
E
F
G
H
I
CONEXES
NOMEADAS
SISTEMAS DIGITAIS
CONEXO S0 S1 S2 S3 S4 S5 S6 S7
A
B
C
D
E
F
G
H
I
COMPARTILHAMENTO EM
SISTEMA RTL
TABELA DE
INCOMPATIBILIDADE
DE CONEXES
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3 S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
SISTEMAS DIGITAIS
CONEXO S0 S1 S2 S3 S4 S5 S6 S7
A
B
C
D
E
F
G
H
I
COMPARTILHAMENTO EM
SISTEMA RT
TABELA DE
INCOMPATIBILIDADE
DE CONEXES
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3 S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
SISTEMAS DIGITAIS
BUS S0 S1 S2 S3 S4 S5 S6 S7
BUS1
BUS2
BUS3
BUS4
COMPARTILHAMENTO EM
SISTEMA RTL
AGRUPAMENTO CONEXES
CRITERIO DE AGRUPAMENTO
AS CONEXES QUE PODEM SER
AGRUPADAS SO AQUELAS QUE
TENHAM DESTINO COMUM E NO
SEJAM INCOMPATIVEIS
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3 S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
SISTEMAS DIGITAIS
BUS S0 S1 S2 S3 S4 S5 S6 S7
BUS1 E A D
BUS2 F B C
BUS3 G I
BUS4 H
COMPARTILHAMENTO EM
SISTEMA RTL
AGRUPAMENTO CONEXES
CRITERIO DE AGRUPAMENTO

AS CONEXES AGRUPADAS SO AS DE
DESTINO COMUM E COMPATIVEIS
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
BUS LIVRE
MESMO
DESTINO
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
OP1 OP2
R3 T4
SUBSIST. DE DADOS COM AGRUPAMENTO DE CONEXES
C D
E
F
G
>>3 >>1
A
I
H
B
BUS2
BUS1
BUS3
BUS4
SISTEMAS DIGITAIS
REG S0 S1 S2 S3 S4 S5 S6 S7
R1
R2
R3
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3 S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6 R1 A,T1,X,T7 R3 T4
CRITERIO DE AGRUPAMENTO
OS REGISTRADORES QUE NO PODEM SER AGRUPADOS SO AQUELES ACESSADOS
PARA LEITURA AO MESMO TEMPO OU PARA ESCRITA AO MESMO TEMPO.

CRITERIO DE AGRUPAMENTO
OS REGISTRADORES QUE NO PODEM SER AGRUPADOS SO AQUELES ACESSADOS
PARA LEITURA AO MESMO TEMPO OU PARA ESCRITA AO MESMO TEMPO.

SUBSIST. DE DADOS COM AGRUPAMENTO DE REGISTRADORES
SISTEMAS DIGITAIS
REG S0 S1 S2 S3 S4 S5 S6 S7
R1 E LE LE L L LE
R2 E LE LE LE LE LE L
R3 E L
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3 S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6 R1 A,T1,X,T7 R3 T4
CRITERIO DE AGRUPAMENTO
OS REGISTRADORES QUE NO PODEM SER AGRUPADOS SO AQUELES ACESSADOS
PARA LEITURA AO MESMO TEMPO OU PARA ESCRITA AO MESMO TEMPO.

SUBSIST. DE DADOS COM AGRUPAMENTO DE REGISTRADORES
R1 E R3 PODEM SER AGRUPADOS
E L
LEITURA ESCRITA
SISTEMAS DIGITAIS
COMPARTILHAMENTO EM
SISTEMA RTL
T1 =|A| T2 = |B|
S0
A = IN1 B= IN2
S1
X = MAX(T1,T2)
Y = MIN(T1,T2)
S2
T3 = X >>3
T4 =Y >> 1
S3
T5 = X T3
S4
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
S7
OUT = T7
R2 B,T2,Y,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
OP1 OP2
SUBSIST. DE DADOS COM AGRUPAMENTO DE REGISTRADORES
>>3 >>1
BUS2
BUS1
BUS3
BUS4
R3 T4
ARQUIVO
DE
REGISTRADORES

SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
SUBSIST. DE DADOS
MODULOS DE ARMAZENAMENTO
MODULOS FUNCIONAIS
CAMINHO DE DADOS
PONTOS DE CONTROLE
PONTOS DE CONDIO
MATRIZ DE
REGs R
WRITE
WRITE_ADDR
READ_ADDR-L
READ_ADDR-R
MUX_L MUX_R
CMUX_L
000...00
CMUX_R
CMPL_L
CMPL_L
CMPL_R
CMP_R
ALU

OP_CODE
CIN
SINAL
Z
COUT
DESLOCADOR
SH_LEFT
SH_RIGHT
R_DATA
DATA_IN
LD_DATA CLK
R_ADDR
LD_ADDR CLK
S
C
Z
CLK
LD_COND
REG
CONDIO
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
MODULOS DE ARMAZENAMENTO
MODULO BASICO: REGISTRADORES



ORGANIZAO:
REGISTRADORES INDIVIDUAIS
MATRIZES DE REGISTRADORES
COMBINAO
CONEXES E
CONTROLES
SEPARADOS
ARMAZENAMENTO
DE DADOS E
CONDIES
CONEXES E
CONTROLES
COMPARTILHADOS
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
MATRIZES DE REGISTRADORES
TIPOS MAIS COMUNS:
ARQUIVO DE REGISTRADORES
MEMORIA DE ACESSO ALEATORIO (RAM)

ARQUIVO DE REGISTRADORES (REGISTER FILE -RF)

ARQUIVO DE
REGISTRADORES

X
N
WA
RAL
CLK
WR
RAR
ZL ZR
K
K
K
N
N
RANDOM ACCESS MEMORY
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
DESCRIO VHDL DO ARQUIVO DE REGISTRADORES
-- BIBLIOTECA
01 LIBRARY ieee;
02 USE ieee.std_logic_1644.all;
03 USE ieee.std_logic_arith.all;
-- ENTIDADE
04 ENTITY regfile IS
05 GENERIC (n:NATURAL :=16; -- TAMANHO DA PALAVRA
06 p: NATURAL := 8; -- TAMANHO DO ARQ. DE REG`s
07 k: NATURAL :=3 ; -- N
0
DE BITS DO VETOR DE END.
08 Td: TIME : =5nS);
09 PORT( X : IN UNSIGNED(n-1 DOWNTO 0);
10 WA,Ral,RAr : IN UNSIGNED(K-1 DOWNTO 0);
11 Zl,Zr : OUT UNSIGNED(n-1 DOWNTO 0);
12 Wr,clk : IN BIT);
13 END regfile;
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
-- ARCHITECTURE
14 ARCHITECTURE behavioral of regfile IS
15 SUBTYPE WordT IS
UNSIGNED(n-1 DOWNTO 0);
16 TYPE StoragetT IS ARRAY (0 TO p-1) OF WordT;
17 SIGNAL RF : StorageT ;
: StorageT ; -- CONTEUDO DO ARQ. DE REG`s
18 BEGIN
19 PROCESS (clk) funo de transio de estado
20 BEGIN
21 IF (clkEVENT AND clk =1) AND (Wr = 1)
THEN RF(CONV_INTEGER(WA)) <= X;
22 END IF;
23 END PROCESS;
24 PROCESS (Ral,Rar,RF) funo de saida
25 BEGIN
26 Zl <= RF(CONV_INTEGER(RAl)) AFTER Td;
27 Zr <= RF(CONV_INTEGER(RAr)) AFTER Td;
28 END PROCESS;
29 END behavioral;
SISTEMAS DIGITAIS
EXERCICIO 27
PROJETAR UM ARQUIVO DE REGISTRADORES (8 x 8) USANDO:
LD
OE REG
CLK
8
8
E DECOD
OE 3-STATE
8
8
8
3
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
MEMORIA RAM

RAM


X
N
A
CLK
Z
K
N
RD
WR
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
DESCRIO VHDL DA MEMORIA RAM
-- BIBLIOTECA
01 LIBRARY ieee;
02 USE ieee.std_logic_1644.all;
03 USE ieee.std_logic_arith.all;
-- ENTIDADE
04 ENTITY ram IS
05 GENERIC (n:NATURAL :=16; -- TAMANHO DA PALAVRA
06 p: NATURAL := 256; -- TAMANHO DA RAM
07 k: NATURAL :=8 ; -- N
0
DE BITS DO VETOR DE END.
08 Td: TIME := 40nS);
09 PORT( X : IN UNSIGNED(n-1 DOWNTO 0);
10 A : IN UNSIGNED(K-1 DOWNTO 0);
11 Z : OUT UNSIGNED(n-1 DOWNTO 0);
12 Rd,Wr,clk : IN BIT);
13 END ram;
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
-- ARCHITECTURE
14 ARCHITECTURE behavioral of ram IS
15 SUBTYPE WordT IS
UNSIGNED(n-1 DOWNTO 0);
16 TYPE StoragetT IS ARRAY (0 TO p-1) OF WordT;
17 SIGNAL Memory
: StorageT ; -- CONTEUDO DA RAM
18 BEGIN
19 PROCESS (clk) funo de transio de estado
20 BEGIN
21 IF (clkEVENT AND clk =1) AND (Wr = 1) THEN
RF(CONV_INTEGER(WA)) <= X;
22 END IF;
23 END PROCESS;
24 PROCESS (Rd,Memory) funo de saida
25 BEGIN
26 IF (RD = 1`) THEN Z <= Memory(CONV_INTEGER(A)) AFTER Td;
27 END IF;
28 END PROCESS;
29 END behavioral;
SISTEMAS DIGITAIS
EXERCICIO 28
PROJETAR UMA RAM (8 x 8) USANDO :
LD
OE REG
CLK
8
8
E DECOD
8
3
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
OUTROS MODULOS DE ARMAZENAMENTO
MODULOS DE ARMAZENAMENTO SEQUENCIAL
FIFO
LIFO

FIFO:
FIFO


X
N
Z
N
RD
WR
CLK
EMPTY
FULL
DATA_OUT
DATA_IN
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
DESCRIO VHDL DA MEMORIA FIFO
-- BIBLIOTECA
01 LIBRARY ieee;
02 USE ieee.std_logic_1644.all;
03 USE ieee.std_logic_arith.all;
-- ENTIDADE
04 ENTITY fifo IS
05 GENERIC (n:NATURAL :=16; -- TAMANHO DA FIFO
06 PORT( X : IN BIT_VECTOR(15 DOWNTO 0);
07 Z : OUT BIT_VECTOR(15 DOWNTO 0);
08 Rd,Wr : IN BIT;
09 Empty,Full : OUT BIT;
10 clk : IN BIT;
13 END fifo;
-- ENTIDADE
04 ENTITY fifo IS
05 GENERIC (n:NATURAL :=16; -- TAMANHO DA FIFO
06 PORT( X : IN BIT_VECTOR(15 DOWNTO 0);
07 Z : OUT BIT_VECTOR(15 DOWNTO 0);
08 Rd,Wr : IN BIT;
09 Empty,Full : OUT BIT;
10 clk : IN BIT;
13 END fifo;
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
-- ARCHITECTURE
14 ARCHITECTURE behavioral of fifo IS
15 TYPE StoragetT IS ARRAY (0 TO n-1) OF BIT_VECTOR (15 DOWNTO 0);
16 SIGNAL Fifo : StorageT ; -- CONTEUDO DA FIFO
17 SIGNAL last : INTEGER RANGE -1 TO n-1;
18 BEGIN
19 PROCESS (clk) funo de trans. de estado
20 BEGIN
21 IF (clkEVENT AND clk =1) AND (Wr = 1) THEN
22 IF (last = n-1) THEN NULL; ELSE
23 IF (last = n-2) THEN FULL = `1` ; END IF;
24 IF (last = -1) THEN EMPTY= `0` ; END IF;
25 Fifo (last + 1) <= X;
26 last <= last + 1
27 END IF;
28 ELSE IF (clkEVENT AND clk =1) AND (RD = 1) THEN;
29 IF (last = -1) THEN NULL; ELSE
30 Z = Fifo (0) ;
31 FOR i IN 0 TO last -1 LOOP
32 Fifo(i) <= Fifo(i + 1);
33 END LOOP;
34 IF (last = 0) THEN EMPTY= `1` ; ENDIF;
35 last <= last 1; Full <= 0`;
36 END IF; 38 END PROCESS;
37 END IF; 39 END behavioral;
SISTEMAS DIGITAIS
EXERCICIO 29
BASEADO NA ESPECIFICAO VHDL DA FIFO , PROJETAR
UMA FIFO (7 x 8) (SUBSISTEMAS DE DADO E CONTROLE)
USANDO:
REGISTRADOR :
LARGURA DE 8 BITS
CONTROLE DE CARGA ( LD )
CONTROLE DE SAIDA (OE)
DECODIFICADOR (3 x 8)
MUX (2 x 1)
CONTADOR UP/DOWN.
PORTAS LOGICAS
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
MODULOS FUNCIONAIS (OPERADORES)
REALIZAM TRANSFORMAES EM VETORES DE BIT






DESCRIO VHDL COMPORTAMENTAL DO MODULO FUNCIONAL

CASE OP_SEL IS
WHEN F1 => Z_OUT <= X_IN OP1 Y_IN AFTER DELAY
WHEN F2 => Z_OUT <= X_IN OP2 Y_IN AFTER DELAY
................
END CASE;

OPERADOR
F
X_IN
Z_OUT
OP_SEL
Y_IN
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
CAMINHO DE DADOS:
FORNECEM AS CONEXES ENTRE COMPONENTES
CONSISTE EM:
CONEXES DIRETAS (FIOS, LINHAS, LINKS)
CHAVES (PARA ATIVAR AS CONEXES)
CLASSIFICAO:
LARGURA: N
O
DE BITS TRANSMITIDOS SIMULTANEAMENTE
(PODE SER EM PARALELO OU SERIALMENTE)
SENTIDO: UNIDIRECIONAL x BIDIRECIONAL
COMPARTILHAMENTO:
DEDICADO
COMPARTILHADO (BUS)
CHAVES: QUE PERMITEM O COMPARTILHAMENTO
PORTAS 3-STATES
MULTIPXEXADORES
DESTINO: DIRETO X INDIRETO


SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
EXEMPLOS DE CAMINHO DE DADOS:
MODULO A
MODULO B
DEDICADO
UNIDIRECIONAL
MODULO A
MODULO B
DEDICADO
BIDIDIRECIONAL
MODULO B MODULO C MODULO A
CHAVE CHAVE CHAVE
COMPARTILHADO
SISTEMAS DIGITAIS
COMPONENTES DE UM SISTEMA
RTL
ESTRUTURAS DE CAMINHO DE DADOS EXTREMAS
INTERCONEXO COMPLETA CROSSBAR
INTERCONEXO DE BARRAMENTO SIMPLES
MODULO B MODULO C MODULO A
CHAVE CHAVE CHAVE
BARRAMENTO SIMPLES
MODULO B MODULO C MODULO A
CHAVE A CHAVE B CHAVE C
COMPLETA
SEL_A
SEL_B SEL_C
QUALQUER ALTERAO IMPLICA EM
MUDANA DO HARDWARE
CARACTERISTICAS DA ESTRUTURA DE UM CONTROLADOR
CONVENCIONAL
NO MODULAR
IRREGULAR
FIXA



ALTERNATIVA:
CONTROLADOR MICROPROGRAMADO



SISTEMAS DIGITAIS
SIST. RTL : CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
SIST. RTL : CONTROLE MICROPROGRAMADO
IMPLEMENTAO DO CONTROLADOR MICROPROGRAMADO

ESTADOS




FUNAO DE TRANSIO DE ESTADO



FUNO DE SAIDA
MEMORIA




ESTADO J
ESTADO J + 1
ESTADO J - 1
MEMORIA




ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
MEMORIA




ESTADO J
ESTADO J + 1
ESTADO J - 1
DADO
SIST. RTL: CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO
MEMORIA DE
CONTROLE






ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
DADO
COMANDOS PARA O SUBSISTEMA DE DADOS
SELECIONA UM ESTADO
SIST. RTL
SISTEMAS DIGITAIS
ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO
MEMORIA DE
CONTROLE






ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
DADO
REG
END

CLK
COMANDOS PARA O SUBSISTEMA DE DADOS
SIST. RTL
SISTEMAS DIGITAIS
ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO
MEMORIA DE
CONTROLE






ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
DADO
REG
END.

CLK
COMANDOS P/ O SUBSISTEMA DE DADOS
GERADOR
DE
ENDEREO

SIST. RTL CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO
MEMORIA DE
CONTROLE






ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
REG
END


CLK
COMANDOS P/ O SUBSISTEMA DE DADOS
GERADOR
DE
ENDEREO

CONDIES GERADAS
PELO SUBSISTEMA DE
DADOS
DADO
SIST. RTL: CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
CARACTERISTICA DA ESTRUTURA DE UM CONTROLADOR
MICROPROGRAMADO

MODULAR
REGULAR
PROGRAMAVEL

VANTAGENS DA ESTRUTURA MICROPROGRAMADA COM RELAO A
ESTRUTURA CONVENCIONAL
PROGRAMAVEL
MAIS SIMPLES DE VERIFICAR E SIMULAR
DESVANTAGENS DA ESTRUTURA MICROPROGRAMADA COM RELAO A
ESTRUTURA CONVENCIONAL
IMPLEMENTAO MAIS LENTA: POR CAUSA DA ESTRUTURA REGULAR ( NO
OTIMIZADA) E POR USAR MEMORIA
INDEPENDE DE UMA
COMPUTAO PARTICULAR
MEMORIA DE
CONTROLE






SISTEMAS DIGITAIS
MICROPROGRAMA E MICROINSTRUO

ESTADO J
ESTADO J + 1
ESTADO J - 1
SIST. RTL:
MICROINSTRUO
MICROPROGRAMA
(FORMADO POR UMA SEQUENCIA DE
MICROINSTRUES) , CUJO OBJETIVO
IMPLEMENTAR AS FUNES DE
TRANSIO DE ESTADO E DE SAIDA)
SIST. RTL CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO
(CAMPO DE SEQUENCIAMENTO CAMPO DE CONTROLE)
MEMORIA DE
CONTROLE






ESTADO J
ESTADO J + 1
ESTADO J - 1
ENDEREO
REG
END


CLK
COMANDOS P/ O SUBSISTEMA DE DADOS
GERADOR
DE
ENDEREO

CONDIES GERADAS
PELO SUBSISTEMA DE DADOS
DADO
CAMPO DE
CONTROLE
CAMPO DE
SEQUENCIAMENTO
SIST. RTL CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO
CAMPO DE CONTROLE CAMPO DE SEQUENCIAMENTO

HORIZONTAL VERTICAL
MEM. CONTROLE
S
I
N
A
L

A

S
I
N
A
L

B

S
I
N
A
L
C

S
I
N
A
L

D

S
I
N
A
L

E

S
I
N
A
L

F

S
I
N
A
L

G

S
I
N
A
L

H

S.SIST DE DADOS
MEM. CONTROLE
DECODIFICADOR
S
I
N
A
L

A

S
I
N
A
L

B

S
I
N
A
L
C

S
I
N
A
L

D

S
I
N
A
L

E

S
I
N
A
L

F

S
I
N
A
L

G

S
I
N
A
L

H

S.SIST DE DADOS
MAIS DE
UM SINAL ATIVADO
SIMULTANEAMENTE
SOMENTE UM SINAL
ATIVADO POR VEZ
FORMATO DO CAMPO DE CONTROLE
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO VERTICAL
MEM. CONTROLE
DEC.
S.SIST DE DADOS
DEC. DEC. ....
SUBCAMPO DE CONEXO
1 SINAL ATIVO POR VEZ
OBS: PARA MELHOR APROVEITAMENTO DO SUBCAMPO
VERTICAL, DEVEMOS AGRUPAR EM SUBCAMPOS, SINAIS QUE NO
SO NECESSARIOS AO MESMO TEMPO, OU SINAIS EM QUE O
SUBSISTEMA DE DADOS NO PERMITA O USO SIMULTANEO
DELES.
SIST. RTL CONTROLE
MICROPROGRAMADO
SIST. RTL CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO
SEQUENCIAMENTO EXPLICITO
CAMPO DE CONTROLE CAMPO DE SEQUENCIAMENTO
SEQUENCIAMENTO IMPLICITO
CAMPO DE CONTROLE
CAMPO DE SEQUENCIAMENTO
BIT
SEL
O: CONTROLE
1: SEQUENCIAMENTO
EXERCICIO 30
SISTEMAS DIGITAIS
PARA O SUBSISTEMA DE DADOS ABAIXO, D O FORMATO DA MICROINSTRUO COM
O CAMPO DE CONEXO HORIZONTAL E COM O CAMPO DE CONEXO VERTICAL.
FORNEA A MICROINSTRUO, NOS DOIS FORMATOS, PARA CONTROLAR A
SEGUINTE TRANSFERENCIA ENTRE REGISTRADORES: R1 <- R2 XOR R6 OP
XOR
: 110
LD
CLK R1
LD
CLK R2
LD
CLK R7
ALU
C_2 C_1
C_3
C_5 C_4 C_20 C_19
C_6 C_21
3
OP
CLK
SIST. RTL CONTROLE MICROPROGRAMADO
SISTEMAS DIGITAIS
TEMPO DE BUSCA E EXECUO DE MICROINSTRUO

CICLO DE BUSCA E EXECUO DE MICROINSTRUO CONSISTE EM:
CARREGAR O PROXIMO END.
BUSCAR A MICROINSTR.NA MEM.
DECODIFICAR OS CAMPOS
EXECUTAR AS OPER. NO S.SIST.DADOS
CALCULAR O PROXIMO END.
t
CLK
PERIODO DO CLK
EXERCICIO 31
SISTEMAS DIGITAIS
PEDE-SE O MICROPROGRAMA PARA REALIZAR AS SEGUINTES TRANSFERENCIAS EM
SEQUENCIA:
R1 <- R2 XOR R6
R2 <- R4 + R5
R1 <- R1 AND R3
SABENDO QUE:
O SEQUENCIAMENTO EXPLICITO E VERTICAL
OPSOMA: 101
OPAND: 011
OPXOR: 110


EXERCICIO 32
SISTEMAS DIGITAIS
UM SISTEMA DIGITAL TEM O SUBSISTEMA DE DADOS MOSTRADO NA FIGURA ABAIXO.
A. OBTENHA O GRAFO DE EXECUO SEQUENCIAL PARA CARREGAR EM R0 O MAIOR
VALOR ARMAZENADO NOS REGISTRADORES R0,R1, R2 E R3, SABENDO QUE ESTES VALORES SO
POSITIVOS E QUE OS VALORES EM R1,R2 E R3 DEVEM SER PRESERVADOS.
B. PROJETE O SUBSISTEMA DE CONTROLE E ESCREVA O MICROPROGRAMA, SABENDO
QUE A MICROINSTRUO TEM FORMATO IMPLICITO E HORIZONTAL.
OBS: PULO CONDICIONAL
CONDIO FALSA: NOVO END. <- END. ATUAL + 1
CONDIO VERDADEIRA: NOVO END. FORNECIDO PELA MICROINSTRUO
L0 R0
E0 CLK
L1 R1
E1 CLK
L2 R2
E2 CLK
L3 R3
E3 CLK
L4 R4
CLK
0 SEL
MUX
1
QS D
CLK
QZ D
CLK
CLK
CLK
I
ES
EZ
OPERAES (OPC)
ADD :000
SUB :001
INCUP :010
XOR :011
AND :100
OPC
UP
SINAL
OPERAO
ZERO
DOWN
EXERCICIO 32- A
PARA O ALGORITMO BUBLESORT,ABAIXO ESPECIFICADO, QUE CLASSIFICA 256 NUMEROS
INTEIROS SEM SINAL ARMAZENADOS NOS ENDEREOS O A 255 DE UMA RAM.
ESPECIFICAO DO ALGORITMO:
BEGIN
PROCESS (START)
VARIABLE I, J : INTEGER;
BEGIN
J: = N-1;
WHILE (J>0) LOOP
I: = 0;
WHILE (I < J) LOOP
IF (M (I) > M (I + 1)) THEN EXCHANGE (M(I),M(I+1));
END IF;
I: = I +1;
END LOOP;
J: = J 1;
END LOOP;
END PROCESS;
- OS NUMEROS J ESTO ARMAZENADOS
NA RAM.
- USE REGISTRADORES COM LD E OE, TRI-
STATES,UM UNICO OPERADOR COM VARIAS
FUNES, QUE DEVEM SER EXPLICITADAS E
PORTAS LOGICAS.
- A UTILIZAO DE MUXs EST PROIBIDA.

EXERCICIO 32-A
PEDE-SE:
1. O GRAFO DE EXECUO E O PROJETO DO SUBSISTENA DE
DADOS.
2. O GRAFO DE EXECUO E O PROJETO DO SUBSISTEMA DE
CONTROLE, COM FORMATO HORIZONTAL E SEQUENCIAMENTO
EXPLICITO.
3. O FORMATO DA MICROINSTRUO.
4. O MICROPROGRAMA BUBLESORT.



CPU UNIDADE CENTRAL DE
PROCESSAMENTO
SISTEMAS DIGITAIS
GRAFO DE
EXECUO
SISTEMA RTL
GRAFO DE
EXECUO
SISTEMA RTL
GRAFO DE
EXECUO
SISTEMA RTL
SISTEMA RTL
CPU
GRAFO DE
EXECUO
GRAFO DE
EXECUO
GRAFO DE
EXECUO
COMANDO
NUMERO
BINARIO
CPU UNIDADE CENTRAL DE
PROCESSAMENTO
SISTEMAS DIGITAIS
COMANDO
COMANDO
COMANDO
UM COMANDO PARA DISPARAR A EXECUO
DE UM GRAFO DE EXECUO CHAMADO DE
INSTRUO
COMANDO
COMANDO
COMANDO
UMA SEQUENCIA DE INSTRUES FORMA UM
PROGRAMA
COMANDO
COMANDO
COMANDO
PROGR1 PROGR2
CPU
MEMORIA
E/S
SISTEMAS DIGITAIS
COMPUTADOR
PROGR1
PROGR2
PROGRN
INSTR.
E
DADOS
CPU
MEMORIA
E/S
SISTEMAS DIGITAIS
COMPUTADOR
PROGR1
PROGR2
PROGRN
INSTR.
E
DADOS
SIST. RTL






REGISTRADOR DE
INSTRUO (IR)
APONTADOR DE
INSTRUO (IP)(PC)
IP : ENDEREA INSTRUO
IR : ARMAZENA INSTRUO
SISTEMAS DIGITAIS
CPU
CPU
SUBSIST. CONTROLE SUBSIST. DADOS
IP IR ARQUIVO
DE REGS
FLAGs
OPERADORES
ARITMETICOS
BUSCA DE INSTR. NA MEM.
EXECUO DA INSTRUO
BUSCA DE DADOS
NA MEM.
CICLO DE INSTRUO
MEMORIA DE PROGRAMA
( ARMAZENAMENTO DE INSTRUES E DADOS)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

INSTRUO 1
INSTRUO 2
INSTRUO 3
INSTRUO 1
INSTRUO 9
DADO 1
DADO 22
MEMORIA
PROGRAMA
ENDEREO DE
MEMORIA
SISTEMAS DIGITAIS
TIPOS DE INSTRUES
SISTEMAS DIGITAIS
INSTRUES QUE DISPARAM UM
GRAFO DE EXECUO

PROXIMO ENDEREO: END. ATUAL + 1


INSTRUES DE CONTROLE DE
SEQUENCIAMENTO

PROXIMO ENDEREO: FORNECIDO PELA
INSTRUO
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

INSTRUO 1
INSTRUO 2
INSTRUO 3
INSTRUO 1
INSTRUO 9
MEMORIA
INSTRUO 3
INSTRUO 8
INSTRUO 11
INSTRUO 4
INSTRUO 7
INSTRUO
INSTRUO
INSTRUO 14
INSTRUO 17
CONDICIONAL
INCONDICIONAL
INSTRUES DE CONTROLE DE SEQUENCIAMENTO
(DESVIO) (PULO) ( JUMP) (BRANCH)
SISTEMAS DIGITAIS
TIPOS :
CONDICIONAL: ENDEREO DE DESVIO DEPENDE DE FLAG
CONDIO NO SATISFEITA : NOVO END. = END. ATUAL + 1
CONDIO SATISFEITA : NOVO END. = END. FORNECIDO PELA INSTRUO
INCONDICIONAL:
:NOVO END. FORNECIDO PELA INSTRUO
DESVIO CONDICIONAL PERMITE 2 TIPOS DE ESTRUTURAS DE
SEQUENCIAMENTO :
SEQUENCIA DEPENDENTE DOS DADOS
LAOS (UMA PARTE DO PROGRAMA EXECUTADO REPETIDAMENTE)

PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
REGISTRADORES
PC 24 BITS
IR
4 BITS FLAGS
32 BITS
Z|N|C|V
ARQ. REG.
REG0
REG1
REG31
32 REGISTRADORES,
CADA UM COM
32 BITS
PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
TIPOS BASICOS DE INSTRUES

MOVIMENTAO DE DADOS:



ARITMETICAS - LOGICAS




DESVIO
REG REG REG MEM REG E/S
REG
REG
OPERADOR

REG
FLAGS
PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
FORMATO DAS INSTRUES
31....26 25....21 20....16 15....11 10....0
RT:=OP(RA)
OPCODE
RT RA
BINARIO
RB
RT:=RA OP RB
OPCODE
RT RA
SI
RT:=RA OP SI
OPCODE
RT RA
UI
RT:=RA OP UI
OPCODE
RT RA
UNARIO
MEM
D
RT:= M[RA + D]
OPCODE
RT RA
D
M[RA + D]:=RS
OPCODE
RS RA

PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
FORMATO DAS INSTRUES
E/S
RT:= IO[PN]
OPCODE
RT
IO[PN]:= RS
OPCODE
RS
31....26 25....21 20....16 15....11 10....0
PN
PN
DESVIO
D
PC:= PC + 4 + D
OPCODE
PC:= RA
OPCODE RA
DESVIO
INDIRETO
PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
INSTRUES
NO-OP
OPCODE
000000
FUNO CR LING. ASSEMBLY NOME
NO-OPERATION NOP
NOT 000010 RT:=NOT(RA) Y NOT RT,RA
LEFT SHIFT 000100 RT:=LSHIFT(RA) Y LSH RT,RA
RIGHT SHIFT 000110 RT:=RSHIFT(RA) Y RSH RT,RA
LEFT ROTATE 001000 RT:=LROT(RA) Y LRT RT,RA
RIGHT ROTATE 001010 RT:=RROT(RA) Y RRT RT,RA
ADD 010000 RT:=RA + RB Y ADD RT,RA,RB
ADD IMEDIATO 010001 RT:=RA + SI Y ADI RT,RA,SI
SUBCTRACT 010010 RT:=RA - RB Y SUB RT,RA,RB
SUB IMEDIATO 010011 RT:=RA - SI Y SBI RT,RA,SI
AND 010100 RT:=RA - RB Y AND RT,RA,RB
AND IMEDIATO 010101 RT:=RA - UI Y ANI RT,RA,UI
PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
INSTRUES
OPCODE FUNO CR LING. ASSB NOME
OR 010110 RT:=RA OR RB Y OR RT,RA,RB
OR IMEDIATO 010111 RT:=RA OR UI Y ORI RT,RA,UI
XOR 011000 RT:=RA XOR RB Y
XOR RT,RA,RB
XOR IMEDIATO 011001 RT:=RA XOR UI Y
XORI RT,RA,UI
LOAD BYTE 100000 RT(7 TO 0):=MEM(RA +D,1) LDB RT,D(RA)
LOAD WORD 100001 RT(31 TO 0):=MEM(RA +D,4) LDW RT,D(RA)
STORE BYTE 100010 MEM(RA +D,1):= RS(7 TO 0)
0):=)
STB RS,D(RA)
STORE WORD 100011 MEM(RA +D,4):= RS(31 TO 0) STW RS,D(RA)
IORD BYTE 100100 RT(7 TO 0):=IO(PN,1) IRB RT,PN
IORD WORD 100101 RT(31 TO 0):=IO(PN,4) IRW RT,PN
IOWR BYTE 100110 IO(PN,1):= RS(7 TO 0) IWB RS,PN
IOWR WORD 100111 IO(PN,4):= RS(31 TO 0) IWW RS,D(RA)
PROJETO DE UMA CPU ESPECIFICAO
SISTEMAS DIGITAIS
INSTRUES
OPCODE FUNO CR LING. ASSB NOME
BRANCH 111000 PC:=PC + 4 + D BR D
BRANCH INDIR. 111001 PC:=RA BRI RA
BRANCH IF N=0 SE N= 0 ENTO PC:=PC+4+D BRP D
BRANCH IF N=1 110001 SE N= 1 ENTO PC:=PC+4+D BRN D
110000
BRANCH IF Z=0 SE Z= 0 ENTO PC:=PC+4+D BNZ D
BRANCH IF Z=1 110011 SE Z= 1 ENTO PC:=PC+4+D BRZ D
110010
BRANCH IF C=0 SE C= 0 ENTO PC:=PC+4+D BNC D
BRANCH IF C=1 110101 SE C= 1 ENTO PC:=PC+4+D BRC D
110100
BRANCH IF V=0 SE V= 0 ENTO PC:=PC+4+D BNV D
BRANCH IF V=1 111001 SE V= 1 ENTO PC:=PC+4+D BRV D
111000
SISTEMAS DIGITAIS
NOT
RA
INVESOR BIT A BIT
RT
INSTRUO NOT
SISTEMAS DIGITAIS
LEFT SHIFT
RA
RT
0
.....
INSTRUO LEFT SHIFT
SISTEMAS DIGITAIS
LEFT ROTATE
RA
RT
.....
INSTRUO LEFT ROTATE
SISTEMAS DIGITAIS
ADD
RA
SOMADOR
RT
RB
INSTRUO ADD
SISTEMAS DIGITAIS
ADI
RA
SOMADOR
RT
NUMERO (COMPL2)
INSTRUO ADI
MEMORIA




SISTEMAS DIGITAIS
LOAD BYTE
RT 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 RA
D
S
O
M
A
D
O
R
SOMENTE
O BYTE
ENDEREADO
INSTRUO LOAD BYTE
MEMORIA




SISTEMAS DIGITAIS
LOAD WORD
RT 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 RA
D
S
O
M
A
D
O
R
INSTRUO LOAD WORD
MEMORIA




SISTEMAS DIGITAIS
STORE BYTE
RS 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 RA
D
S
O
M
A
D
O
R
SOMENTE
O BYTE
ENDEREADO
INSTRUO STORE BYTE
MEMORIA




SISTEMAS DIGITAIS
STORE WORD
RS 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 RA
D
S
O
M
A
D
O
R
INSTRUO STORE WORD
IO N


SISTEMAS DIGITAIS
IORD BYTE
RT 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0
N
SOMENTE
O BYTE
ENDEREADO
INSTRUO IORD BYTE
IO N


SISTEMAS DIGITAIS
IORD WORD
RT 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0
N
INSTRUO IORD WORD
IO N


SISTEMAS DIGITAIS
IOWR BYTE
RS 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 N
SOMENTE
O BYTE
ENDEREADO
INSTRUO IOWR BYTE
IO N


SISTEMAS DIGITAIS
IOWR WORD
RS 31..24 23..16 15....8 7......0
31..24 23..16 15....8 7......0 N
INSTRUO IORW WORD
SISTEMAS DIGITAIS
BRP D
INSTRUO BRP
FN FO FC FZ
+ ?
SIM
NO
PC + 4 + D
PC + 4
EXERCICIO 33
SISTEMAS DIGITAIS
1. FAA UM PROGRAMA QUE ARMAZENE O NUMERO 5H
NA POSIO DE MEMORIA CUJO ENDEREO 0300H.
2. FAA UM PROGRAMA QUE REALIZE UMA OPERAO
DE AND COM OS NUMEROS ARMAZENADOS NOS
ENDEREOS 0400H E 0401H E ARMAZENE O
RESULTADO EM 0402H.
3. FAA UM PROGRAMA QUE GRAVE 00H EM 32
ENDEREOS CONSECUTIVOS A PARTIR DE 0500H.
OBS: ENDEREO INICIAL DO PROGRAMA : 000000H
4. FAA UM PROGRAMA QUE CONTE O NUMERO DE BITS
EM NIVEL 1, NO REGISTRADOR R1. O RESULTADO
DEVE SER GUARDADO EM R5.
LING. ASSEMBLY X LING. MAQUINA
LING. ASSEMBLY
LINGUAGEM DE MAQUINA
BIT - >
31 - 28 27 - 24 23 - 20 19 - 16 15 - 12 11 - 08 07 - 04 03 - 00
00 SUB R0,R0,R0
01 ADI R1,R0,5H
02 ADI R2,R0,300H
03 STB R1, 0(R2)
SISTEMAS DIGITAIS
PROJETO DE UM COMPUTADOR
CPU


E/S


MEMORIA


ARMAZENA
INSTRUES
E
DADOS
PERMITE A
ENTRADA
E SAIDA DE
DADOS
EXECUTA UMA
SEQUENCIA
DE
INSTRUES
REPETE CICLOS DE INSTRUO:
BUSCA DE INSTRUO NA MEM.
EXECUTA INSTRUO:
OPERAES
OPERAO COM OS DADOS J ARMAZENADOS NA CPU
LEITURA DE DADOS DA MEM.
ARMAZENAMENTO DE DADOS NA MEM.
LEITURA DE DADOS DA E/S
ARMAZENAMENTO DE DADOS NA E/S
END. DA PROX. INSTR.

SISTEMAS DIGITAIS
PROJETO DE UMA CPU ESPECIFICAO INTERNA
CPU













ALU
PC
RF

IR
FLAG`s
NOP
NOT RT,RA
LSH RT,RA
RSH RT,RA
LRT RT,RA
RRT RT,RA
ADD
RT,RA,RB
ADI
RT,RA,SI
SUB
RT,RA,RB
SBI
RT,RA,SI
AND
RT,RA,RB
ANI RT,RA,UI
OR RT,RA,RB
ORI RT,RA,UI
XOR RT,RA,RB
XORI RT,RA,UI
LDB RT,D(RA)
LDW RT,D(RA)
STB RS,D(RA)
STW RS,D(RA)
IRB RT,PN
IRW RT,PN
IWB RS,PN
IWW RS,D(RA)
BR D
BRI RA
BRP D
BRN D
BNZ D
BRZ D
BNC D
BRC D
BNV D
BRV D
IOAddr MEMAddr
IOData MEMData
IORd MEMRd
IOWr MEMWr
IOEnable MEMEnable
IOReady MEMReady
IOLength MEMLength

CLK
RESET STATUS
EM GERAL BUS
DE DADOS E
ENDEREOS SO
UNICOS
SISTEMAS DIGITAIS
CONEXO COM A MEMORIA E COM E/S
E/S
IOAddr
IOData
IORd
IOWr
IOEnable
IOReady
IOLength
CPU
MEMAddr
MEMData
MEMRd
MEMWr
MEMEnable
MEMReady
MEMLength
MEM
PROJETO DE UMA CPU ESPECIFICAO
DE BARRAMENTO(ENDEREO, DADOS, CONTROLE)
24
11
32 32 32
LENGTH
1 ACESSO A WORD
0: ACESSO A BYTE
SINCRONIZAO COM A CPU.
MREADY EM NIVEL 0 DURANTE
O ACESSO.
NO FINAL DO ACESSO, READY
COLOCADO EM NIVEL 1.
SELEO DE
DISPOSITIVO DE
ENTRADA E
SAIDA
SISTEMAS DIGITAIS
PROJETO DE UMA CPU ESPECIFICAO DE
BARRAMENTO - TEMPORIZAO
DIAGRAMA DE TEMPO
LEITURA ESCRITA
Addr
Enable
Rd
Wr
Data
Ready
Tsu
SETUP
Td
Tmem
ACESSO A MEM
Tdv
dado valido
SISTEMAS DIGITAIS
PROJETO DE UMA CPU ESPECIFICAO
-- BIBLIOTECA
01 LIBRARY ieee;
02 USE ieee.std_logic_1644.all;
-- ENTIDADE
03 ENTITYComputer IS
04 PORT (Reset , Clk : IN STD_LOGIC);
05 END Computer;
SISTEMAS DIGITAIS
PROJETO DE UMA CPU ESPECIFICAO
-- ARCHITECTURE
06 ARCHITECTURE structural OF Computer IS
07 SUBTYPE WordT IS STD_LOGIC_VECTOR(31 DOWNTO 0);
08 SUBTYPE MAddrT IS STD_LOGIC_VECTOR(23 DOWNTO 0);
09 SUBTYPE IOAddrT IS STD_LOGIC_VECTOR(10 DOWNTO 0);
10 SUBTYPE ByteT IS STD_LOGIC_VECTOR(7 DOWNTO 0);
TYPE StatusT IS (undef, p-reset, fetch, execute, memop, ioop);
SIGNAL MemAddr : MaddrT;
SIGNAL MemLength, MemRd, : STD_LOGIC;
SIGNAL MemEnable , MemWr, MemReady : STD_LOGIC;
SIGNAL MemData : WordT;
SIGNAL IOAddr : IOAddrT;
18 SIGNAL lOLength , IORd, IOEnable , IOWr : STD_LOGIC;
19 SIGNAL IOReady : STD_LOGIC;
20 SIGNAL IOData : WordT;
21 SIGNAL Status : StatusT;
SISTEMAS DIGITAIS
PROJETO DE UMA CPU ESPECIFICAO
-- ARCHITECTURE
22 BEGIN
23 Ul: ENTITY Memory
24 PORTMAP (MemAddr , MemLength , MemRd , MemWr, MemEnable ,MemRdy , MemData);
25 U2: ENTITY IO
26 PORT MAP (IOAddr , IOLength , IORd , IOWr, IOEnable ,IORdy , IOData);
27 U3: ENTITY Processor
28 PORT MAP (MemAddr , MemLength , MemRd , MemWr, MemEnable ,MemRdy , MemData ,
IOAddr , IOLength , IORd , IOWr, IOEnable , IORdy , IOData , Status , Reset , Clk);
29 END structural;
SISTEMAS DIGITAIS
PROJETO DE UMA MEMORIA ESPECIFICAO
Addr Data
Length Ready
Rd
Wr
Enable
24
32
BYTE3
WORD
BYTE2 BYTE1 BYTE0
A23 A22 A21...A3 A2 A1 A0 Length
- - - - - 0 0
1
- - - - - 0 0
0
- - - - - 0 1
0 BYTE3 BYTE2 BYTE1 BYTE0
- - - - - 1 0
0 BYTE3 BYTE2 BYTE1 BYTE0
- - - - - 1 1
0 BYTE3 BYTE2 BYTE1 BYTE0
D7...D0
D31...D0
ACESSO A MEMORIA
SISTEMAS DIGITAIS
PROJETO DE UMA MEMORIA ESPECIFICAO DE
BARRAMENTO
DIAGRAMA DE TEMPO
LEITURA ESCRITA
Addr
Enable
Rd
Wr
Data
Ready
Tsu
SETUP
Td
Tmem
ACESSO A MEM
Tdv
dado valido
SISTEMAS DIGITAIS
PROJETO DE UMA MEMORIA ESPECIFICAO


-- BIBLIOTECA
01 LIBRARY ieee;
02 USE ieee.std_logic_unsigned.ALL;
-- ENTIDADE
03
ENTITY Memory IS

04 PORT (Addr : IN MemAddrT
Length : IN STD_LOGIC
Rd, Wr : IN STD_LOGIC
Enable : IN STD_LOGIC
Rdy : IN STD_LOGIC
Data : INOUT WordT);
05
END Memory;
DESCRIO
COMPORTAMENTAL
SISTEMAS DIGITAIS
PROJETO DE UMA MEMORIA ESPECIFICAO
-- ARCHITECTURE
06
ARCHITECTURE behavioral of Memory IS
07
CONSTANT Tmem : TIME := 8 ns;
08
CONSTANT Td : TIME := 200 ps;
09
CONSTANT Tsu : TIME := 200 ps;
10
BEGIN
11
PROCESS(Rd , Wr , Enable)
12
CONSTANT byte_l : STD_LOGIC:= '0';
13
CONSTANT word_l : STD_LOGIC:= 1';
14
CONSTANT MaxMem : NATURAL:= 16#FFFFFF#;
15
TYPE MemArrayT IS ARRAY(0 TO MaxMem-1) OF byteT;
16
VARIABLE Mem : MemArrayT;
17
VARIABLE tAddr : Natural;
18
VARIABLE tData : WordT;
19
VARIABLE tCtrls : STD_LOGIC_VECTOR(2 DOWNTO 0);
20
BEGIN
21 tCtrls: = Rd & Wr & Enable;
22 CASE tCtrls IS
23 WHEN 000" => Data <= (OTHERS => 'Z') AFTER Td;
24 WHEN 011" => Rdy <= '0' AFTER Td , '1 AFTER Tmem;
25 IF (Length = byte_l) THEN tAddr:= CONV_INTEGER(Addr);
26 ELSE tAddr:= CONV_INTEGER(Addr(23 DOWNTO 2) & "00");
27 END IF;
SISTEMAS DIGITAIS
PROJETO DE UMA MEMORIA ESPECIFICAO
-- ARCHITECTURE
28
CASE Length IS
29 WHEN byte_l => Mem(tAddr) := Data ( 7 DOWNTO 0 );
30 WHEN word_l => Mem(tAddr) := Data ( 7 DOWNTO 0 );
Mem(tAddr +1) := Data ( 15DOWNTO 8 );
Mem(tAddr + 2) := Data ( 23 DOWNTO 16 );
Mem(tAddr +3 ) := Data ( 31 DOWNTO 24 );
31
WHEN OTHERS => NULL;
32 END CASE;
33 WHEN "101" => Rdy <= '0' AFTER Td , '1 AFTER Tmem;;
34 IF (Length = byte_l) THEN tAddr: = CONV_INTEGER(Addr);
35 ELSE taddr:= CONV_INTEGER(Addr(23 DOWNTO 2) & 00");
36 END IF;
37 CASE Length IS
38 WHEN byte_l => tData ( 7 DOWNTO 0 ) := Mem(tAddr);
39 WHEN word_l => tData ( 7 DOWNTO 0 ) := Mem(tAddr);
tData ( 15 DOWNTO 8 ) := :Mem(tAddr+l);
tData ( 23 DOWNTO 16 ) := Mem(tAddr + 2);
tData ( 31 DOWNTO 24 ) := Mem(tAddr + 3);
40 WHEN OTHERS => NULL;
41 END CASE;
42 Data <= tData AFTER Tmem;
43 WHEN OTHERS => NULL;
44 END CASE;
45 END PROCESS; 46 END behavioral;
SISTEMAS DIGITAIS
EXERCICIO 34 :PROJETO DA MEMORIA
PROJETE A MEMORIA, USANDO O MODULO DE MEMORIA ABAIXO, FF`s TIPO D COM
PRESET E CLEAR, MONOESTAVEL, DECODIFICADOR, TRI-STATE BIDIRECIONAL E
PORTAS LOGICAS.
RD
WR
A21...A0
D7...D0
CE
DURANTE TODO O ACESSO DE LEITURA A ESTE
MODULO: CE=1 E RD = 1

DURANTE TODO O ACESSO DE ESCRITA A ESTE
MODULO: CE=1 E WR = 1

MEMORIA
D
E
3-S BIDI
SISTEMAS DIGITAIS
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
1. BUSCA DE INSTRUO: GERAO DE ENDEREO
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
24
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
1. BUSCA DE INSTRUO: ARMAZENAMENTO DA INSTRUO
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
2. LEITURA E ESCRITA DE DADOS NO ARQ. DE REGISTRADORES
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
5
5
32
5 32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
3. LEITURA E ESCRITA DE DADOS NA MEM: GERAO DE ENDEREO
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
5
5
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
4
32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
3. LEITURA E ESCRITA DE DADOS NA MEM: LEITURA DE DADOS
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
5
5
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
3. LEITURA E ESCRITA DE DADOS NA MEM: ESCRITA DE DADOS
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
5
5
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
Sin_Sout
32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
4. EXECUO DA INSTRUES: ARITM/LOGICAS/MOV. DE DADOS
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
5
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
Sin_Sout 0
1
Mem_ALU
STATUS
WrCr
Clk
Z,N,C,V
1 0
IR_RB
5
32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
4. EXECUO DA INSTRUES: DESVIO
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
Sin_Sout 0
1
Mem_ALU
STATUS
WrCr
Clk
Z,N,C,V
1 0
IR_RB
1
0
PC_RA
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
PC_in WrPC
PC Reset
PC_out Clk
MemAddr
WrIr
IR Clk
MemData
32
24
WrC Reset DataB
DataC AddrB
AddrC RF DataA
Clk AddrA
32
16
EXT
SE_ZE
Ain ALU Bin
ALUop ALUdata

DC_in WrDC
DC_out DC Clk
ALU_PC
0
1
Sin_Sout 0
1
Mem_ALU
STATUS
WrCr
Clk
Z,N,C,V
1 0
IR_RB
1 0
PC_RA
32
PROJETO DO SUB.SISTEMA DE DADOS DA CPU
SISTEMAS DIGITAIS
OPERAES DA ALU EXTENSOR
ALU_OP OPERAO
0000 ZERO_32
0001 A + B
0010 A - B
0011 - B
0100 A AND B
0101 A OR B
0110 A XOR B
0111 NOT B
ALU_OP OPERAO
1000 NOT A
1001 B
1010 SHIFTL A
1011 SHIFTR A
1100 ROTL A
1101 ROTR A
1110 A + 4
1111 A
UI: EXTENDIDO C/ ZEROS
SI: EXTENDIDO C/ SINAL
D : EXTENDIDO C/ SINAL

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
CICLO DE INSTRUO
BUSCA
EXECUO
ACESSO DE
LEITURA/ESCRITA
DE MEM/IO
SE A INSTRUO FOR DE ACESSO
A MEM. OU I/O, NO ESTADO DE
EXECUO O ENDEREO
CALCULADO E NO ESTADO DE
ACESSO O DADO LIDO OU ESCRITO.
NOP NOT LSH RSH LRT RRT ADD ADI SUB
SBI AND ANI OR ORI XOR XRI LDB LDW
STB STW IRB IRW IWB IWW BRP BRN BNZ
BRZ BNC BNV BRV BR BRI
RWM
WWM
RWIO
WWIO
RBM
WBM
RBIO
WBIO





SEQUENCIADOR
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MEMORIA DE
CONTROLE



REG

GERADOR
DE
ENDEREO

END.
(H)
INSTR.
00 NOP
02 NOT
04 LSH
06 RSH
08 LRT
0A RRT
10 ADD
11 ADI
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MEMORIA DE CONTROLE
END.
(H)
INSTR.
12 SUB
13 SBI
14 AND
15 ANI
16 OR
17 ORI
18 XOR
19 XRI
END.
(H)
INSTR.
20 LDB
21 LDW
22 STB
23 STW
24 IRB
25 IRW
26 IWB
27 IWW
END.
(H)
INSTR.
30 BRP
31 BRN
32 BNZ
33 BRZ
34 BNC
35 BRC
36 BNV
37 BRV
END.
(H)
INSTR.
38 BR
39 BRI
3A RBM
3B WBM
3C RBIO
3D WBIO
3E
3F BUSCA
END.
(H)
INSTR.
2A RWM
2B WWM
2C RWIO
2D WWIO
24
25
26
27
WORD BYTE
COD. DE OPERAO DA INSTR.
(BIT`s 31-26)
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
SEQUENCIADOR DA UNIDADE DE CONTROLE
IR
|CLK 31...26
3A
3B
3C
3D
3F
0
1
2
4
3
5
PRESET


RENDUC


+ CLK
PRESET MX3 MX2 MX1 MX0


MEMORIA DE CONTR.



CARREGA RENDUC
CARREGA REGs SUB.SIST.DADOS
2A
2B
2C
2D
6
7
9
8
PRESET
RENDUC= 3F(BUSCA)
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO
CONTROLE HORIZONTAL, COM SEQUENCIAMENTO EXPLICITO
CONTROLE SEQUENCIAMENTO
MX3|MX2|MX1| MX0
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
FORMATO DA MICROINSTRUO: CONTROLE HORIZONTAL
CONTROLE
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB MX3|MX2|MX1|MX0
WR_PC
CIRC. P/ PERMITIR INSTRUES DE DESVIO
FZ
FN
FV
FC
0
1
2
3
FL1 FL0

#XOR

NIVEL( 0/1)

AND

HAB

OR

WRPC
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DE BUSCA DE INSTRUO
OBS:DURANTE A BUSCA DE INSTRUO O PC DEVE SER SOMADO COM
4, PARA APONTAR PARA PROXIMA INSTRUO
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLN |IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 0 |0 | 0
MX3|MX2 |MX1| MX0
0 |1 |1 |0 |0 |0 |0 |0 |0 |0 |0
1110 | 1 |1 |0 |0 | 0 |0 |1 |0 |0 | 0 |1 |1
END. MEM. CONTROLE: 3F
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO NOP
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |1 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0
0000 | 0 |0 |0 |0 | 0 |0 |0 |0 |0 | 0 |0 |0
END. MEM. CONTROLE: 00
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO ADD
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLN |IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |1 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |0 |1 |1 |0 |0 |0 |0 |0
0001 | 0 |0 |0 |0 | 0 |0 |0 |0 |1 | 1 |0 |0
END. MEM. CONTROLE: 10
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO ADI
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |1 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |1 |0 |1 |0 |0 |0 |0 |0
0001 | 0 |0 |0 |0 | 0 |0 |0 |0 |1 | 1 |0 |0
END. MEM. CONTROLE: 11
EXTENSO DE SINAL
SEZE = 1
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO LDB
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |0 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |1 |0 |0 |1 |0 |0 |0 |0
0001 | 0 |0 |0 |0 | 0 |0 |0 |0 |0 | 0 |0 |0
END. MEM. CONTROLE: 20
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |1 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0
0000 | 1 |1 |0 |0 | 0 |0 |0 |0 |0 | 1 |0 |0
END. MEM. CONTROLE: 3A
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO BRZ
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
0 |1 |0 | 1
MX3|MX2 |MX1| MX0
0 |0 |0 |1 |0 |0 |0 |0 |0 |1 |1
0001 | 0 |0 |0 |0 | 0 |0 |0 |0 |0 | 0 |0 |0
END. MEM. CONTROLE: 33
WR_PC
FZ
FN
FV
FC
1
FL1
0
FL0
0

#XOR

NIVEL( 0/1)
1
HAB
1

OR

WRPC
0
0
2
3

AND

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU
SISTEMAS DIGITAIS
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
MICROINSTRUO DA INSTRUO:________
ALUOP|MEMRD|MEMENA|IORD|IOENA|MEMWR|IOWR|MEMLEN|IOLEN|WRCR|WRC|ALUPC|WRPC
SINSOUT|WRIR|PCRA|SEZE|IRRB|MEMALU|WRDC|FL1|FL0|NIVEL|HAB
| | |
MX3|MX2 |MX1| MX0
| | | | | | | | | |
| | | | | | | | | | | |
END. MEM. CONTROLE: _________
EXERCICIO 35
SISTEMAS DIGITAIS
CONTEUDO DOS REGISTRADORES, MEMORIA E BARRAMENTOS, A CADA PERIODO
DE CLK, DURANTE A EXECUO DO PROGRAMA ABAIXO.
OBS: APS O RESET, PC =000000H E RENDUC = 3FH
IR
3A
3B
3C
3D
3F
R
E
N
D
U
C
MEM UNID
CONTR
00 NOP
02 NOT
11 ADI
12 SUB
22 STB
3C DADO
3F BUSCA
CLK
RESET
PC DC
IR ALU
CZNV
R0 R1
R2 R3
R4 R5
R30 R31
CLK RESET
SUB. SIST. CONTROLE
SUB. SIST. DADOS
000000 48 00 00 00 SUB R0,R0,R0
000004 44 20 00 05 ADI R1,R0,5
000008 44 40 03 00 ADI R2,R0,300
00000C 88 22 00 00 STB R1,0(R2)
000300 XX XX XX XX
MEMORIA DE PROGRAMA E
DADOS
RD:
WR:
LEN:
EN:
DADOS :
END.:
EXERCICICIO 36
O MULTIPLICADOR DA FIG. ABAIXO DEVE SER ACRESCENTADO AO SUBSISTEMA DE DADOS DA CPU DE
MODO QUE SEJA POSSIVEL MULTIPLICAR OS CONTEUDOS DE 2 REGISTRADORES DO ARQUIVO DE
REGISTRADORES E O RESULTADO ARMAZENAR EM 2 REGISTRADORES. UM DELES ESPECIFICADO NA
INSTRUO DE MULTIPLICAO (O QUE VAI ARMAZENAR A PARTE MENOS SIGNIFICATIVA DO PRODUTO) E O
OUTRO O CONSECUTIVO (QUE VAI ARMAZENAR A PARTE MAIS SIGNIFICATIVA DO PRODUTO).
PEDE-SE:
A. O FORMATO DA INSTRUO DE MULTIPLICAO E O OP-CODE DA INSTRUO.
B. A CONEXO DO MULTIPLICADOR NO SUBSISTEMA DE DADOS, SABENDO QUE A PARTE MENOS
SIGNIFICATIVA DO PRODUTO VAI SER ARMAZENADA DURANTE O CICLO DE EXECUO E A PARTE MAIS
SIGNIFICATIVA DURANTE O CICLO DE BUSCA DA PROXIMA INSTRUO.
C. O ENDEREO DA MICROINSTRUO DE MULTIPLICAO E O NOVO FORMATO DAS MICROINSTRUES,
DESTACANDO OS SINAIS ACRESCENTADOS E A MICROINSTRUO DE MULTIPLICAO
D. A NOVA MICROINSTRUO DE BUSCA
QUANTOS PERIODOS DE CLOCK SERO NECESSARIOS PARA QUE O PROGRAMA ABAIXO POSSA SER
EXECUTADO?
QUAIS OS CONTEUDOS DOS REGISTRADORES UTILIZADOS PELO PROGRAMA E OS CONTEUDOS DOS FLAGS
APOS A SUA EXECUO?
SISTEMAS DIGITAIS
PROGRAMA:
SUB R1,R1,R1
ADI R3,R1,14H
ADI R4,R1,0AH
STW R3,400H(R1)
MUL R7,R3,R4
ADD R6,R3,R4
MULTIPLICADOR:
32
32
64
PIPELINE
SISTEMAS DIGITAIS
OTIMIZAES EM SISTEMAS RTL


REDUO DE CUSTO




MELHORIA DE PERFORMANCE


COMPARTILHAMENTO DE REGISTRADORES
COMPARTILHAMENTO DE OPERADORES
COMPARTILHAMENTO DE BARRAMENTOS
COMPARTILHAMENTO DE ACESSO A REGs
(AGRUPAMENTO DE REGISTRADORES)

TECNICA DE PIPELINE

PIPELINE
SISTEMAS DIGITAIS
PIPELINE EM OPERADORES (MODULOS FUNCIONAIS)
X0 YO
Z1
X1 Y1
Z0
A
A A
t
IMPLEMENTAO SEM PIPELINE
TEMPO:2A
ENTRADA
SAIDA
PIPELINE
SISTEMAS DIGITAIS
PIPELINE EM OPERADORES (MODULOS FUNCIONAIS)
X0 YO
Z1
X1 Y1
Z0
A
A
t
IMPLEMENTAO COM PARALELISMO
A
TEMPO:A
MELHORIA DE PERFORMANCE (50%) , COM
ALTO CUSTO(ACRESCIMO DE OUTRO
OPERADOR)
ENTRADA
SAIDA
TECNICA DE PIPELINE:
ACRESCIMO DE REGISTRADORES,
PARA QUE O MODULO FUNCIONAL
TENHA PARTES INDEPENDENTES
PIPELINE
SISTEMAS DIGITAIS
PIPELINE EM OPERADORES (MODULOS FUNCIONAIS)
X0 YO
Z1
X1 Y1
Z0
t
TEMPO:1,5A
REGISTRADOR
A/2
A/2
A/2 A/2
MELHORIA DE PERFORMANCE (25%) , COM BAIXO
CUSTO(ACRESCIMO DE REGISTRADORES)
IMPLEMENTAO COM PIPELINE
A/2
ENTRADA
SAIDA
REG
PIPELINE
SISTEMAS DIGITAIS
EXEMPLO DE PIPELINE EM OPERADOR
PIPELINE
SISTEMAS DIGITAIS
COMPARAO DE PERFORMANCE ENTRE 2 SUB. SIST. DE DADOS,
UM COM OPERADOR SEM PIPELINE E OUTRO COM PIPELINE.
T1 =|A|
S0
A = IN1 B= IN2
S1
S2
T5 = X T3
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
OUT = T7
R2 B,T2,,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
ALU
BUS4
BUS3
BUS2
BUS1
T2 =|B|
T4= MIN(T1,T2)>>1
S3
X = MAX(T1,T2)
T3=MAX(T1,T2)>>3
S4
S7
S8
R3 T4
>>3 >>1
OUT
PIPELINE
SISTEMAS DIGITAIS
COMPARAO DE PERFORMANCE ENTRE 2 SUB. SIST. DE DADOS,
UM COM OPERADOR SEM PIPELINE E OUTRO COM PIPELINE.
T1 =|A|
S0 A = IN1 B= IN2
T5 = X T3
T6 = T4 + T5
T7 = MAX(T6,X)
OUT = T7
R2 B,T2,,T3,T5,T6
R1 A,T1,X,T7
T2 =|B|
T4= MIN(T1,T2)>>1
X = MAX(T1,T2)
T3=MAX(T1,T2)>>3
R3 T4
CLK 1 2 3 4 5 6 7 8 9
S0 S1 S2 S3 S4 S5 S6 S7 S8
LR1 A T1 T1 X X T7
LR2 B T2 T2 T3 T5 T6
LR3 T4
ALU |A| |B|
MIN MAX
- +
MAX
>> 1 3
ER1 A T1 X T7
ER2 B T2 T3 T5 T6
ER3 T4
OUT T7
S1
S2
S3
S4
S5
S6
S7
S8
TEMPO DE EXECUO SEM PIPELINE: 9 TCLK
LR1: LEITURA DE R1
ER1: ESCRITA DE R1
PIPELINE
SISTEMAS DIGITAIS
COMPARAO DE PERFORMANCE ENTRE 2 SUB. SIST. DE DADOS,
UM COM OPERADOR SEM PIPELINE E OUTRO COM PIPELINE.
T1 =|A|
S0
A = IN1 B= IN2
S1
S2
T5 = X T3
T6 = T4 + T5
S5
T7 = MAX(T6,X)
S6
OUT = T7
R2 B,T2,,T3,T5,T6
IN1 IN2
R1 A,T1,X,T7
ALU

BUS4
BUS3
BUS2
BUS1
T2 =|B|
T4= MIN(T1,T2)>>1
S3
X = MAX(T1,T2)
T3=MAX(T1,T2)>>3
S4
S7
S8
R3 T4
>>3 >>1
OUT
ALU1
ALU2
REGISTRADOR
PIPELINE
PIPELINE
SISTEMAS DIGITAIS
COMPARAO DE PERFORMANCE ENTRE 2 SUB. SIST. DE DADOS,
UM COM OPERADOR SEM PIPELINE E OUTRO COM PIPELINE.
T1 =|A|
S0 A = IN1 B= IN2
T5 = X T3
T6 = T4 + T5
T7 = MAX(T6,X)
OUT = T7
R2 B,T2,,T3,T5,T6
R1 A,T1,X,T7
T2 =|B|
T4= MIN(T1,T2)>>1
X = MAX(T1,T2)
T3=MAX(T1,T2)>>3
R3 T4
CLK 1 2 3 4 5 6 7 8 9 10 11 12 13
S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
S12
LR1 A T1 T1 X X X T7
LR2 B T2 T2 T3 T6 T5 T6
LR3 T4
ALU1 |A| |B|
MAX MIN
-
MAX
+
MAX
ALU2 |A| |B|
MAX MIN
-
+
MAX
>> 3 1
ER1 A T1 X
ER2 B T2 T3 T5 T6 T7
ER3 T4
OUT T7
S1
S2
S3
S4
S5
S6
S7
S8
TEMPO DE EXECUOCOM PIPELINE: 13 TCLK/2
NOP
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE
R
E
N
D
U
C
MEM
DE
CONTROLE
GERADOR
DE END
CLK
SUB SIST. CONTROLE SUB SIST. DADOS
REG1 REG2
ALU
REG4
AM
AA
AM E AA SO OS
RETARDOS MAIS
RELEVANTES

TCLK = AM + AA
REG3
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE
SEM PIPELINE TCLK = AM + AA
CLK
BUSCA
iNSTR
EXEC.
iNSTR
BUSCA
iNSTR
EXEC.
iNSTR
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE
R
E
N
D
U
C
MEM
DE
CONTROLE
GERADOR
DE END
CLK*
SUB SIST. CONTROLE SUB SIST. DADOS
REGISTRADOR
REG1 REG2
ALU
REG4
TCLK* = MAX(AM, AA)
REG3
AM
AA
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE
COM PIPELINE TCLK* = MAX(AM + AA)
CLK*
BUSCA
iNSTR
EXEC.
iNSTR
BUSCA
iNSTR
EXEC.
iNSTR
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE E NO DE DADOS
R
E
N
D
U
C
MEM
DE
CONTROLE
GERADOR
DE END
CLK**
SUB SIST. CONTROLE SUB SIST. DADOS
REGISTRADOR
REG1 REG2
ALU
REG4
AA/2
TCLK* = MAX(AM, AA/2)
REGISTRADOR
AA/2
REG3
AM
PIPELINE
SISTEMAS DIGITAIS
PIPELINE NO SUB.SIST. DE CONTROLE E NO DE DADOS
R
E
N
D
U
C
MEM
DE
CONTROLE
GERADOR
DE END
CLK**
SUB SIST. CONTROLE SUB SIST. DADOS
REG. CONTROLE
REG1 REG2
ALU
REG4
TCLK* = MAX(AM, AA/2)
REG DADO
PIPELINE COM
3 ESTAGIOS
REG3
AA/2
AA/2
AM
PERFORMANCE MELHOROU
EM 30%
PIPELINE
PIPELINE NO SUB.SIST. DE CONTROLE E NO DE DADOS
SISTEMAS DIGITAIS
INSTR(A>B)
INSTR(Y=X-1)
INSTR(X=C x D)
SIM
NO
SEM NENHUM PIPELINE O TEMPO GASTO
PARA BUSCAR E EXECUTAR AS INSTR,
PARA O PIOR CASO, SERIA DE 3 TCLK
COM 3 ESTAGIOS DE PIPELINE E SUPONDO
QUE O TCLK ** ~ TCLK/3, O TEMPO
GASTO PARA BUSCAR E EXECUTAR AS
INSTR.s, PARA O PIOR CASO, PODE SER
VISTO NA TABELA ABAIXO
RENDUC A>B X=CxD Y=X-1
REGCONTR A>B X=CxD Y=X-1
REGDADOS A>B X=CxD Y=X-1
6 TCLK** = 6 TCLK/3 = 2 TCLK

Vous aimerez peut-être aussi