478
SISTEMAS DIGITAIS CIRCUITOS LOGICOS SISTEMAS DIGITAIS ARQUITETURA DE COMPUTADORES MICROCOMPUTADORES MICROELETRONICA + = MOTIVAÇÃO

Aula Sistdigfim Al

Embed Size (px)

Citation preview

Page 1: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CIRCUITOS LOGICOS

SISTEMAS DIGITAIS

ARQUITETURA DE COMPUTADORES

MICROCOMPUTADORES

MICROELETRONICA

+ =

MOTIVAÇÃO

Page 2: Aula Sistdigfim Al

MOTIVAÇÃO

SISTEMAS DIGITAIS

CIRCUITOS LOGICOS

SISTEMAS DIGITAIS

ARQUITETURA DE COMPUTADORES

MICROCOMPUTADORES

MICROELETRONICA

SISTEMAS OPERACIONAIS

+ =

Page 3: Aula Sistdigfim Al

MOTIVAÇÃO

SISTEMAS DIGITAIS

CIRCUITOS LOGICOS

SISTEMAS DIGITAIS

ARQUITETURA DE COMPUTADORES

MICROCOMPUTADORES

MICROELETRONICA

SISTEMAS OPERACIONAIS

REDES

+ =

Page 4: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CIRCUITOS LOGICOS

FLIP-FLOPS

PORTAS

LOGICAS

+ =

PROJETO DE SISTEMAS COMBINACIONAIS E SEQUENCIAIS

SIMPLES

Page 5: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS DIGITAIS

PROJETO DE CIRCUITOS COMPLEXOS ?

Page 6: Aula Sistdigfim Al

EMENTA

SISTEMAS DIGITAIS

MODULOS COMBINACIONAIS FIXOS

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

REPRESENTAÇÃO NUMERICA BINARIA EM PONTO FIXO E EM PONTO FLUTUANTE

ARITMETICA BINARIA EM PONTO FIXO E FLUTUANTE

MODULOS SEQUENCIAIS FIXOS

MODULOS COMBINACIONAIS PROGRAMAVEIS

MODULOS SEQUENCIAIS PROGRAMAVEIS

PROJETOS DE SISTEMAS DIGITAIS

ABORDAGEM RTL

SUBSISTEMAS DE DADOS

SUBSISTEMA DE CONTROLE

CONTROLE MICROPROGRAMADO

CPU

INSTRUÇÕES

PROGRAMAS

ESPECIFICAÇÃO E PROJETO DE UM MICROCOMPUTADOR

PIPELINE

Page 7: Aula Sistdigfim Al

BIBLIOGRAFIA

SISTEMAS DIGITAIS

INTRODUÇÃO AOS SISTEMAS DIGITAISMILOS ERCEGOVAC, TOMAS LANG, JAIME MORENO

BOOKMAN

PRINCIPLES OF DIGITAL DESIGNDANIEL D. GAJSKI

PRENTICE HALL

SISTEMAS DIGITAIS FUNDAMENTOS E APLICAÇÕES

T. L. FLOYD

BOOKMAN

Page 8: Aula Sistdigfim Al

EXERCICIO 1 (CIRC. LOGICOS)

SISTEMAS DIGITAIS

EXPRESSÕES DE CHAVEAMENTO E CIRCUITO

OBS: ESTA ESPECIFICAÇÃO 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 BOTÃO COLOCADO A SUA FRENTE, QUE, POR SUA VEZ, FAZ COM QUE UM LED ASSOCIADO AO BOTÃO SEJA ACESO, CASO NENHUM OUTRO CANDIDATO TENHA, PREVIAMENTE, PRESSIONADO O SEU CORRESPONDENTE BOTÃO. O LED DEVE FICAR ACESO ATÉ QUE O APRESENTADOR PRESSIONE UM BOTÃO DE RESET.

CASO HAJA BOTÕES PRESSIONADOS SIMULTANEAMENTE A PRIORIDADE DEVE SER : BOTÃO 1 , DEPOIS, BOTÃO 2 E, FINALMENTE BOTÃO 3.

PROJETE UM CIRCUITO QUE ATENDA AS ESPECIFICAÇÕES ACIMA, USANDO PORTAS LOGICAS E FLIP-FLOP´s TIPO D COM PRESET E CLEAR, SABENDO QUE : OS LED´s DEVEM SER ACESOS EM NIVEL 0; O CIRCUITO DEVE SER SINCRONO; APENAS O BOTÃO DO APRESENTADOR É ASSINCRONO; DEVE EXISTIR UM FLIP-FLOP POR CANDIDATO E O CLOCK NÃO PODE SER DESABILITADO.

Page 9: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FLIP-FLOPS

PORTAS

LOGICAS

PROJETO DE SISTEMAS COMBINACIONAIS E SEQUENCIAIS

SIMPLES

CIRCUITOS INTEGRADOS DISPONIVEIS

MODULOS

PROGRAMAVEIS

MODULOS

FIXOS

PROJETO DE SISTEMAS COMBINACIONAIS E SEQUENCIAIS

COMPLEXOS

Page 10: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MODULOS COMBINACIONAIS FIXOS

DECODIFICADORES

CODIFICADORES

CODIFICADORES DE PRIORIDADE

MULTIPLEXADORES

DEMULTIPLEXADORES

DESLOCADORES

MODULOS

FIXOS

Page 11: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DECODIFICADORES

XO Y0

X1 Y1

X2 Y2

. .

. .

X N-1 Y N-1

.

.

E Y 2N

-1

ESPECIFICAÇÃO

ENTRADAS: X : X = (XN-1,......,X0) XJ {0,1}

E : E {0,1}

SAIDAS : Y : Y = (Y2N

-1,......,Y0) YJ {0,1}

FUNÇÃO : YI = 1 SE (X=I) E (E=1)

YI = 0 CASO CONTRARIIO

N-1

EM QUE: X = XJ 2J E I = 0,1...,2N –1

J= 0

Page 12: Aula Sistdigfim Al

REDES DECODIFICADORAS

SISTEMAS DIGITAIS

DECODIFICAÇÃO COINCIDENTE

Page 13: Aula Sistdigfim Al

REDES DECODIFICADORAS

SISTEMAS DIGITAIS

E

E

DECODIFICAÇÃO EM ARVORE

VANTAGEM ?

DESVANTAGEM ?

Page 14: Aula Sistdigfim Al

EXERCICIO 2

SISTEMAS DIGITAIS

GND

01

2

31

CHAVE ROTATIVA

VCC

32

0 1 2 31

.....

Page 15: Aula Sistdigfim Al

EXERCICIO 2 – CONTINUAÇÃO

SISTEMAS DIGITAIS

GND

01

2

31

CHAVE ROTATIVA

VCC

BLOCO

CODIFICADOR

BLOCO

DECODIFICADOR

5

?

PROJETE O BLOCO DECOFICADOR ACIMA, USANDO

CI´s 74LS138 E USE DECODIFICAÇÃO EM ARVORE

IO #O0

I1 #O1

I2 #O2

#E .

#E .

E #O7

74LS138

.....

Page 16: Aula Sistdigfim Al

CODIFICADOR

SISTEMAS DIGITAIS

X0 Y0

X1 Y1

X2 Y2

. .

. .

X N-1 Y N-1

X 2N

-1

E A

ESPECIFICAÇÃO

ENTRADAS: X : X = (X2N

-1,......,X0) XJ {0,1}

E : E {0,1}

SAIDAS : Y : Y = (YN-1,......,Y0) YJ {0,1}

A : A {0,1}

FUNÇÃO : Y = I SE (XI=1) E (E=1)

Y = 0 CASO CONTRARIO

A = 1 SE (ALGUM XI = 1) E (E =1)

A = 0 CASO CONTRARIO

N-1

EM QUE: Y = YJ 2J E I = 0,1...,2N –1

J= 0

Page 17: Aula Sistdigfim Al

EXERCICIO 3

SISTEMAS DIGITAIS

GND

01

2

31

CHAVE ROTATIVA

VCC

BLOCO

CODIFICADOR

BLOCO

DECODIFICADOR

5

?

PROJETE O BLOCO COFICADOR ACIMA, USANDO

CI´s DO TIPO DESENHADO AO LADO

IO O0

I1 O1

I2 O2

I3 .

I4 .

I5

I6

I7

E A

CODIFICADOR

.....

Page 18: Aula Sistdigfim Al

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 FUNÇÃO DO SISTEMA É Y = (3X) MOD 8.

OBS: USO OBRIGATORIO DE DECOD. E CODIFIC.

Page 19: Aula Sistdigfim Al

CODIFICADOR DE PRIORIDADE

SISTEMAS DIGITAIS

X0 Y0

X1 Y1

X2 Y2

. .

. .

X N-1 Y N-1

X 2N

-1

E A

ESPECIFICAÇÃO

ENTRADAS: X : X = (X2N

-1,......,X0) XJ {0,1}

E : E {0,1}

SAIDAS : Y : Y = (YN-1,......,Y0) YJ {0,1}

A : A {0,1}

FUNÇÃO : Y = I SE (XI=1) E (XK= 0 , K < I) E (E=1)

Y = 0 CASO CONTRARIO

A = 1 SE (ALGUM XI = 1) E (E =1)

A = 0 CASO CONTRARIO

N-1

EM QUE: Y = YJ 2J E I = 0,1...,2N –1

J= 0

Page 20: Aula Sistdigfim Al

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(NORMALIZAÇÃO PARA ESQUERDA).

OBS: USE O CI ABAIXO.IO O0

I1 O1

I2 O2

I3 .

I4 .

I5

I6

I7

E A

CODIFICADOR DE PRIORIDADE

Page 21: Aula Sistdigfim Al

MULTIPLEXADOR

SISTEMAS DIGITAIS

X0

X1

X2

.

.

X N-1 Z

X 2N

-1

E SN-1 .....S1S0

ESPECIFICAÇÃO

ENTRADAS: X : X = (X2N

-1,......,X0) XJ {0,1}

S : S = (SN-1,......,S0) SJ {0,1}

E : E {0,1}

SAIDAS : Z : Z {0,1}

FUNÇÃO : Z = XS SE (E=1)

Z = 0 CASO CONTRARIO

N-1

EM QUE: S = SJ 2J E I,J = 0,1...,2N –1

J= 0

Page 22: Aula Sistdigfim Al

EXERCICIO 6

SISTEMAS DIGITAIS

PROJETE UM SISTEMA COMBINACIONAL PERMITA A ESPIONAR ,POR MEIO DE UM PAINEL DE CHAVES, 4 LINHAS DE COMUNICAÇÃO

?

L0

L1

L2

L3

Page 23: Aula Sistdigfim Al

EXERCICIO 7

SISTEMAS DIGITAIS

PROJETE UM SISTEMA DIGITAL PARA IMPLEMENTAR A FUNÇÃO (ABCD)= CONJUNTO-UM (1,3,4,9,14,15)

Page 24: Aula Sistdigfim Al

DEMULTIPLEXADOR

SISTEMAS DIGITAIS

YO

Y1

Y2

.

.

X YN-1

Y2N-1

E

SN-1 .....S1S0

ESPECIFICAÇÃO

ENTRADAS: X : X {0,1}

E : E {0,1}

S : S = (SN-1,......,S0) SJ {0,1}

SAIDAS : Y : Y = (Y2N

-1,......,Y0) YJ {0,1}

FUNÇÃO : YI = X SE (I = S) E (E = 1)

YI =0 CASO CONTRARIIO

N-1

EM QUE: S = SJ 2J E I,J = 0,1...,2N –1

J= 0

Page 25: Aula Sistdigfim Al

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

ESPECIFICAÇÃO

ENTRADAS: X : X = (XN+p -1,..,XN....,X0...X-P) XJ {0,1}

E : E {0,1}

S : S { P,...,0 }

D : D {0,1} D=0: ESQUERDA D=1: DIREITA

SAIDAS : Y : Y = (YN-1,......,Y0) YJ {0,1}

FUNÇÃO : YI = X I-S SE (D=0) E (E = 1)

YI = X I+S SE (D=1) E (E = 1)

YI = 0 SE (E = 0)

USO:-MULTIPLICAÇÃO/DIVISÃO POTENCIA DE 2

-ALINHAMENTO DE VETORES

Page 26: Aula Sistdigfim Al

EXERCICIO 8

SISTEMAS DIGITAIS

PROJETE UM SISTEMA DIGITAL QUE NORMALIZE O VETOR DO EXERCICIO 5

Page 27: Aula Sistdigfim Al

EXERCICIO 9

SISTEMAS DIGITAIS

DOIS SD USAM CODIGOS NÃO 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 CONVERSÃO DE CODIGO DO SISTEMA A PARA O SISTEMA B USANDO 2 MUX´s DE 8 ENTRADAS E UM XOR DE 2 ENTRADAS

Page 28: Aula Sistdigfim Al

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 27 + 1 x 24 + 1 x 23 + 1 x 22 + 1 x 20 = 128 + 16 + 8 + 4 + 1 = 157

9 x 161 + 13 x 160 = 157

183/16 7 11/16 B 0

Page 29: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SOMADOR

+

NYX

Z

CINCOUT

X = Σ XI.2I

I=0

N-1

NUMERO INTEIRO DE O A 2N-1

RELACIONAMENTO ENTRADA E SAIDA

X + Y+ CIN = 2NCOUT + Z

IDEM PARA Y E Z

Page 30: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SOMADORESPECIFICAÇÃO

ENTRADAS: X : X = (X2N

-1,......,X0) XJ {0,1}

Y : Y = (YN-1,......,Y0) YJ {0,1}

CIN : CIN {0,1}

SAIDAS : Z : Z = (ZN-1,......,Z0) ZJ {0,1}

COUT : COUT {0,1}

FUNÇÕES : Z = (X + Y + CIN) MOD 2N

COUT = 1 SE (X + Y + CIN) ≥ 2N

COUT = 0 CASO CONTRARIO

Page 31: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SOMADOR DE 1 BIT

+

1XI

CICI+1

YI

ZIFUNÇÕES

ZI = XI YI CI

CI+1 = XI . YI + (XI YI) .CI

GI PI

ZI = PI CI

CI+1 = GI + PI .CI

1

1

11

G: GERA CARRYP: PROPAGA CARRY

Page 32: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

IMPLEMENTAÇÃO DO SOMADOR DE 1 BIT

XI YI CI

GI

ZICI+1

SOMADOR

COMPLETO

FUNÇÕES

GI = XI . YI

PI = (XI YI)

ZI = PI CI

CI+1 = GI + PI .CI

SOMADOR QUANDO NÃOSE TEM CARRY DE ENTRADA

PIMEIO SOMADOR

Page 33: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

MODULO SOMADOR DE N BIT´s COM CARRY PROPAGADO

+

XN-1

CN

YN-1

ZN-1

+

X0

CN-1 C0C1

Z0

SOMADDORDE 1 BIT

Y0

Page 34: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

RETARDO DO MODULO SOMADORCI+1 = GI+ PI .CI E Δ RETARDO DE QQ GATE

1O MODULO: C1= G0 +P0.C0 RETARDO: 3 Δ

2O MODULO: C2= G1 +P1.C1 RETARDO: 3 Δ + 2 Δ = 5 Δ

3O MODULO: C3= G2 +P2.C2 RETARDO: 5 Δ + 2 Δ = 7 Δ

4O MODULO: C4= G3+P3.C3 RETARDO: 7 Δ + 2 Δ = 9 Δ

..............................................................................................

NO MODULO: CN= GN-1 +PN-1.C1 RETARDO:

(2N+1) Δ

Page 35: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

PROJETO DE UM NOVO MODULO SOMADOR COM

RETARDO MENOR

CI+1 = GI+ PI .CI E Δ RETARDO DE QQ GATE

1O MODULO: C1= G0 +P0.C0 RETARDO: 3 Δ

2O MODULO: C2= G1 +P1.C1 = G1+ P1(G0 +P0C0) = G1 +P1G0 +P1P0C0 RETARDO: 3 Δ

3O MODULO: C3= G2 + G1G2 + G0P1P2 + P0P1P2C0 RETARDO: 3 Δ

4O MODULO: C4= G3 + G2P3 + G1P2 P3 + POP1P2P3C0 RETARDO: 3 Δ

..............................................................................................

NO MODULO: ..............

RETARDO: 3 Δ

G P

Page 36: Aula Sistdigfim Al

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

Page 37: Aula Sistdigfim Al

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

51

Page 38: Aula Sistdigfim Al

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

ESPECIFICAÇÃO

ENTRADAS E SAIDA

X ≤ 9 Y ≤ 9 Z ≤ 9

FUNÇÕES

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

Page 39: Aula Sistdigfim Al

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

Page 40: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SUBTRATOR

-

NYX

Z

BINBOUT

X = Σ XI.2I

I=0

N-1

NUMERO INTEIRO DE O A 2N-1

RELACIONAMENTO ENTRADA E SAIDA

X - Y- BIN = Z - 2NBOUT

IDEM PARA Y E Z

Page 41: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

EXEMPLO DE SUBTRAÇÃO

1111 15

-

0111 7

0 1000 8

0101 5

-

0111 7

-2

------------------- 10101 21

-

0111 7

1 1110 14

14 – 16 = - 2

NÃO SE PODE REPRESENTAR UM NUMERO NEGATIVO,QUANDO SE TRABALHA COM NUMEROS POSITIVOS SEM SINAL

EMPRESTIMO

(BORROW)

16

Page 42: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SUBTRATORESPECIFICAÇÃO

ENTRADAS: X : X = (Xn-1,......,X0) XJ {0,1}

Y : Y = (YN-1,......,Y0) YJ {0,1}

BIN : BIN {0,1}

SAIDAS : Z : Z = (ZN-1,......,Z0) ZJ {0,1}

BOUT : BOUT {0,1}

FUNÇÕES : Z = (X - Y - BIN) SE (X - Y - BIN) ≥ 0

Z = (X - Y - BIN) + 2N SE (X - Y - BIN) < 0

BOUT = 1 SE (X - Y - BIN) < 0

BOUT = 0 CASO CONTRARIO

Page 43: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SUBTRATOR DE 1 BIT

-

1XI

BIBI+1

YI

ZIFUNÇÕES

ZI = XI + YI + BI

BI+1 = XI. YI + (XI + YI) .BI

GI PI

ZI = PI + BI

BI+1 = GI+ PI .BI

Page 44: Aula Sistdigfim Al

REPRESENTAÇÃO E OPERAÇÕES 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 + SIGNIFICATIVODO VETOR

Page 45: Aula Sistdigfim Al

REPRESENTAÇÃO E OPERAÇÕES COM NUMERO

INTEIROS COM SINAL

SISTEMAS DIGITAIS

REPRESENTAÇÃO DE NUMEROS DE N BITS

( 1 BIT DE SINAL E N-1 BITS DE MAGNITUDE )

- (2N-1 – 1) ≤ X ≤ (2N-1 – 1)

N = 8 - (27 – 1) ≤ X ≤ 27 –1

- 127 ≤ X ≤ 127

Page 46: Aula Sistdigfim Al

ADIÇÃO COM NUMEROS EM SINAL E MAGNITUDE

SISTEMAS DIGITAIS

+ > - < + < - > - -

SOM SUB

+ +

+

SOM SUB

+

SOM SUB

-

SOM

-

SUB

A SUBTRAÇÃO É ANALOGA

Page 47: Aula Sistdigfim Al

COMPLEMENTO A 2

SISTEMAS DIGITAIS

PARA AGILIZAR AS OPERAÇÕES

FOI CRIADO O SISTEMA COMPLEMENTO A 2

NUMERO INTEIRO X REPRESENTADO POR:

X SE X 0 X

XR=

2N - |X| SE X < 0 C2(X)

NUMERO DE BITS DO VETOR

Page 48: Aula Sistdigfim Al

EXEMPLO DE NUMERO EM COMPLEMENTO A 2

SISTEMAS DIGITAIS

N=8

X= 7

X= -7 C2(7) = 28 –7 = 249

X=7 0 0 0 0 0 1 1 1

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

Page 49: Aula Sistdigfim Al

REPRESENTAÇÃO DOS NUMEROS COM 8 BITS, EM COMPLEMENTO A 2

SISTEMAS DIGITAIS

127 0 1 1 1 1 1 1 1

128 0 1 1 1 1 1 1 0

129 0 1 1 1 1 1 0 1

130 0 1 1 1 1 1 0 0

.

2 0 0 0 0 0 0 1 0

3 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 01

X

C2(X)

+

BITS

2N

8 BITS

0

Page 50: Aula Sistdigfim Al

ADIÇÃO EM COMPLEMENTO A 2

SISTEMAS DIGITAIS

X Y

SOM

X + Y

X C2(Y)

SOM

X -Y

2N - Y

12N

C2(X) (Y)

SOM

Y - X

2N - X

12N

C2(X) C2(Y)

SOM

-(X + Y)

2N - X

10

2N+1

2N - Y

COUT

Page 51: Aula Sistdigfim Al

SUBTRAÇÃO EM COMPLEMENTO A 2

SISTEMAS DIGITAIS

X Y

SOM

X - Y

X C2(Y)

SOM

X +Y

Y

C2(X) (Y)

SOM

-X - Y

2N - X

102N+1

C2(X) C2(Y)

SOM

-X + Y

2N - X

1

2N

YC22N - Y

12N

DC2 C22N - Y

DC2

NÃO SE USA MAIS O SUBTRATOR

2N - Y

C2 DC2

COMPLEMENTA DESCOMPLEMENTA

=

Page 52: Aula Sistdigfim Al

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

Page 53: Aula Sistdigfim Al

SOLUÇÃO DO EXERCICIO

X + C2(X) = 2N

X + #X = 2N - 1

C2(X) = #X + 1

X + C2(X) = 2N

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

X = #C2(X) + 1

Page 54: Aula Sistdigfim Al

SOMADOR/SUBTRATOR P/ COMPLEMENTO A 2

SISTEMAS DIGITAIS

X Y

C2

1 0MUX

+

0 SOMA

1 SUBTR.

Page 55: Aula Sistdigfim Al

COMPLEMENTADOR

SISTEMAS DIGITAIS

X + C2(X) = 2N

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

X Y

1 0MUX

+

0 SOMA

1 SUBTR.

CIN

Page 56: Aula Sistdigfim Al

ESTOURO EM COMPLEMENTO A 2 (OVERFLOW)

SISTEMAS DIGITAIS

ADIÇÃO:

OS 2 OPERANDOS SÃO POSITIVOS OU NEGATIVOS

0

0+

BIT N-2

CARRY =1 P/ ESTOURARCOUT=0

1 COUT-1= 1

1

1

BIT N-2

+

CARRY =0 P/ ESTOURARCOUT-1= 00

COUT=1

P/ OCORRER OVERFLOW1. NUMEROS COM MESMO SINAL

2. APÓS A OPERAÇÃO, O BIT DE SINAL FICA INVERTIDO OU

COUT XOR COUT-1 =1

SUBTRAÇÃO:

RACIOCINIO ANALOGO

Page 57: Aula Sistdigfim Al

ESTOURO EM COMPLEMENTO A 2 (OVERFLOW)

SISTEMAS DIGITAIS

EXEMPLOS(+ 126) + (+126) VAI GERAR OVERFLOW

01111110

01111110___________ COUT-1 = 1(- 126) + (-126) VAI GERAR OVERFLOW

10000010

10000010___________ COUT-1 = 0

+

Page 58: Aula Sistdigfim Al

SUBTRAÇÃO DE NUMEROS SEM SINAL EM SOMADOR/SUBTRATOR C2

SISTEMAS DIGITAISSISTEMAS DIGITAIS

X + C2(X) = 2N

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

X Y

1 0MUX

+

1 SUBTR.

CIN

0 0

#Y

X + #Y +1 = X + 2N- Y

COUT

1

X-Y

COUT

2N

(2N +X) -Y

COUT0

X <Y -> EMPRESTIMO DE 2N ( BORROW)

OK

BORROW = # COUT

INTERPRETAÇÃO DO RESULTADO

Page 59: Aula Sistdigfim Al

SOMADOR/SUBTRATOR C2

SISTEMAS DIGITAISSISTEMAS DIGITAIS

1 0

MUX+ CINCOUT

0 SOMA

1 SUBTR.

1

0COUT

OV

COUT-1

YX

Z

Page 60: Aula Sistdigfim Al

FLAGS DE STATUS

SISTEMAS DIGITAIS

1 0

MUX+ CINCOUT1

0COUT

OV

COUT-1

YX

Q D

CLK

Q D

CLKFC

OV

FLAGS

Z

Page 61: Aula Sistdigfim Al

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

Page 62: Aula Sistdigfim Al

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

Page 63: Aula Sistdigfim Al

EXERCICIO 10

SISTEMAS DIGITAIS

2. A representação de numeros inteiros pode ser generalizada para a representação 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 xmaximo mais positivo e o numero xminimo mais negativo e mostre a sua representacao em vetor de bits correspondente.a. no sistema sinal e magnitudeb. no sistema complemento de 2

Page 64: Aula Sistdigfim Al

EXERCICIO 10

SISTEMAS DIGITAIS

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

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

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

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

Page 65: Aula Sistdigfim Al

EXERCICIO 10

SISTEMAS DIGITAIS

5. PROJETAR UM SUBTRATOR BCD USANDO O MODULO SOMADOR/SUBTRATOR

6.  A EXTENSÃO DE FAIXA É EXECUTADA QUANDO É NECESSARIO REPRESENTAR O VALOR X POR UM VETOR DE M BITS , DADA SUA REPRESENTAÇÃO 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 IMPLEMENTAÇÃO É CORRETA

Page 66: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

SOMADOR

SUBTRATOR

UNIDADE ARITMETICA

UNIDADE ARITMETICA LOGICA

COMPARADOR

MULTIPLICADOR

DIVISOR

Page 67: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

UNIDADE ARITMETICA

AU

X Y

Z

F

CIN COUTOV

ZEROSINAL

N

3

COUT : CARRY OU BORROW

OV : OVERFLOW

ZERO : SE Z = 0

SINAL : SINAL DE Z

EXEMPLO DE FUNÇÕES :

SOMA

SOMA C/CIN

SUBRATAÇÃO

INCREMENTO DE X

TROCA DE SINAL DE X

STATUS DA AU

Page 68: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

UNIDADE ARITMETICA

AU

X Y

Z

F

CIN

COUT

OVZERO

SINAL

N

3

ESPECIFICAÇÃO

ENTRADAS:

X =(X N-1,...X0) XI {0,1}

Y =(X N-1,...X0) XI {0,1}

CIN {0,1}

F = (F2,F1,F0) FI {0,1}

SAIDAS:

Z =(Z N-1,...Z0) ZI {0,1}

COUT,SGN,ZERO,OV {0,1}

FUNÇÕES

F OPERAÇÃO

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 (NO C / SINAL)

COUT =1 SE Z ESTOURAR, 0 CASO CONTRARIO (NO S / SINAL)

Page 69: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

PROJETO DA UNIDADE ARITMETICAMODULOS BASICOS PARA O PROJETO

K

MUX0 1

+ CINCOUT

C0UT-1

COMPL

Page 70: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

UNIDADE ARITMETICA

PROJETO

COMPL X COMPL YKx

MUX0 1

000.....00

Kmx

+COUT

C0UT-1C0

SGNZERO

MUX1 0

OV

COUT

X Y

Z

F1= Ky

F2.F1= Kx

F0= Kmx

F1+ F2F0CIN =

C0

F1.F0 =

K2mx

F2 F1 F0CIN

XS

YS

FUNÇÕES

F2 F1 F0 OPERAÇÃO

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

Page 71: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

UNIDADE ARITMETICA LOGICA

ALU

X Y

Z

COUTOV

ZEROSINAL

N

3

FUNÇÕES

F OPERAÇÃO

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

Page 72: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

OVCOUT

X

Y

F1= Ky

F2.F1= Kx

F0= Kmx

F1+ F2F0CIN = C0

F1.F0 = K2mx

K3mx1

K3mx

F2 F1 F0CIN

UNIDADE ARITMETICA LOGICA (PROJETO)

AU

MUX0 1 2 3

ZSGN

AU

ZERO

ALU

S1

S0

Page 73: Aula Sistdigfim Al

FLAGS DE STATUS ADICIONAIS

SISTEMAS DIGITAIS

Q D

CLK

Q D

CLK

Q D

CLK

ZERO

SGN

PARIDADEZ C/ NO PAR DE 1´s -> FP = 1 (PARIDADE PAR)

Z C/ NO IMPAR DE 1´s -> FP = 0 (PARIDADE IMPAR)

Page 74: Aula Sistdigfim Al

EXEMPLO

SISTEMAS DIGITAIS

SINAL EM NIVEL O -> +

RESULTADO ZERO

PARIDADE PAR

Page 75: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

COMPARADORES (NUMEROS SEM SINAL)

GOUT GIN

EOUT EIN

SOUT SIN

X Y

Page 76: Aula Sistdigfim Al

EXERCICIO 11

SISTEMAS DIGITAIS

COMPARE 2 VETORES DE 8 BITS USANDO COMPARADORES DE 4 BITS

Page 77: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

MULTIPLICADOR PARA NUMEROS S/SINAL

X Y

x

Z

NM

N + M

ESPECIFICAÇÃO

ENTRADAS:

X : X = (Xn-1,......,X0) XJ {0,1}

Y : Y = (YM-1,......,Y0) YJ {0,1}

SAIDAS :

Z : Z = (ZN+M-1,......,Z0) ZJ {0,1}

FUNÇÃO :

Z = X.Y

Page 78: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

MULTIPLICADOR PARA NUMEROS S/SINAL

IMPLEMENTAÇÃO

Z = X . Y

M-1 M-1

Z = X . ( Σ YI2I) = ( Σ XYI 2I )

I=0 I=0

XYI = 0 SE YI = 0

XYI = X SE YI = 1

IMPLEMENTADO POR

AND´s

DESLOCAMENTO DE I POSIÇÕES PARA A ESQUERDA

Page 79: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

MULTIPLICADOR PARA NUMEROS S/SINAL

X Y

43

X3Y0 X2Y0 X1Y0 X0Y0

X3Y1 X2Y1 X1Y1 X0Y1

X3Y2 X2Y2 X1Y2 X0Y2

+

Z

7

Page 80: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR PARA NUMEROS S/SINAL (IMPLEMENTAÇÃO)

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

Page 81: Aula Sistdigfim Al

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

SISTEMAS DIGITAIS

Page 82: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DIVISOR PARA NUMEROS S/SINAL

EX

N

N/2 N/2

X

Y

ZR

ESPECIFICAÇÃO

ENTRADAS:

X =(X N-1,...X0) XI {0,1}

Y =(X N/2-1,...X0) XI {0,1}

SAIDAS:

Z =(Z N/2-1,...Z0) ZI {0,1}

R =(R N/2-1,...R0) RI {0,1}

EX {0,1}

FUNÇÕES:

Z = X/Y

R = X MOD Y

EX =1 (se ZN-1+ ZN-2 + ZN-3+... + ZN/2=1)

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

OU

DIVISOR

N/2

MODULOS COMBINACIONAIS ARITMETICOS FIXOS

Page 83: Aula Sistdigfim Al

SISTEMAS DIGITAIS

IMPLEMENTAÇÃO

X7 X6 X5 X4 X3 X2 X1 X0 Y3 Y2 Y1Y0

X7Y3Y2Y1Y0

- B

X61 0

Z7

Y3Y2Y1Y0

- B X5

Z6

1 0

- B

1 0

Z5Y3Y2Y1Y0

X4

Y3Y2YY0

- B Z5

1 0 X3

MODULOS ARITMETICOS FIXOS

X4 X3

X6 X5

Page 84: Aula Sistdigfim Al

SISTEMAS DIGITAIS

Y3Y2Y1Y0

- B X2

1 0

Z3

Y3Y2Y1Y0

- B X1

Z2

1 0

- B

1 0

Z1Y3Y2Y1Y0

X0

Y3Y2Y1Y0

- B Z0

1 0

R3 R2 R1R0Z7Z6Z5Z4

Z3Z2Z1Z0

EX

MODULOS ARITMETICOS FIXOS

X2 X1

X0

Page 85: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXEMPLO

10001010 0111X Y

Z_ _ _ _R

10001010 0111

0_ _ _

X Y

Z_ _ _ _R

<

_ _ _ _ _ _ _ _

_ _ _ _

10001010 0111

00 _ _

X Y

Z_ _ _ _R

<

_ _ _ _

MODULOS ARITMETICOS FIXOS

Page 86: Aula Sistdigfim Al

SISTEMAS DIGITAIS

10001010 0111X Y

Z_ _ _ _R

10001010 0111

0001

X Y

Z0001R

>

000_ _ _ _ _

_ _ _ _

MODULOS ARITMETICOS FIXOS

<

0111-

10001010 0111

0001

X Y

Z0001R

<

0 _ _ _ 0111

- 1

Page 87: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MODULOS ARITMETICOS FIXOS

10001010 0111

0001

X Y

Z0001

<

00 _ _ 0111

-R 10

10001010 0111

0001

X Y

Z0001

>

001 _ 0111

R 101

0 111

0 110

-

Page 88: Aula Sistdigfim Al

10001010 0111

0001

X Y

Z0001

>

00110111

101

0 111

0 1100

SISTEMAS DIGITAIS

MODULOS ARITMETICOS FIXOS

--

0111-0101R 5

19 VERIFICAÇÃO

19 x 7 +5 = 138

138 7

# 0 -> EXCEÇÃO

Page 89: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MODULOS ARITMETICOS FIXOS

0700H = 1792

1792/02 = 896 > 255 -> ESTOURO

Page 90: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MODULOS ARITMETICOS FIXOS

25

RESTO QUOCIENTE

0700H -> 1792

30H -> 48

25H -> 37

10H -> 16

1792 / 48 = 37 R 16

10

Page 91: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 11APREENCHA A TABELA ABAIXO:

SOMA FC FO FS FZ FP

SOMA

SUB

SUB

MUL

MUL

DIV

DIV

SEM SINALCOM SINALSEM SINALCOM SINALSEM SINALCOM SINAL

SEM SINALCOM SINAL

10101010 01010101

BINARIO DECIMAL

Page 92: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 11B

PREENCHA A TABELA ABAIXO

FC FO FS FZ FP

AND

OR

XOR

10101010 01010101

Page 93: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

REPRESENTAÇÃO BINARIA EM PONTO FLUTUANTE

_ . _ _ _ _ _ _ _ ...... _ _ _ 2

_ _ _ _ _ _ _ _ ...... _ _ _

SINAL DO NUMERO

PONTO BINARIO

MANTISSASINAL DO EXPOENTE

EXPOENTE

Page 94: Aula Sistdigfim Al

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 REPRESENTAÇÃO ?

Page 95: Aula Sistdigfim Al

NÃO 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 REPRESENTAÇÃO ?

0,25 = 1 / 4 = 1 / 22

+ +

+ -

Page 96: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

MULTIPLICAÇÃO: (+ 5 X + 5) EM PONTO FLUTUANTE ?

0.00000101 2 001000

0.00000101 2 001000X

0.00000000 00011001 2 010000OU

0.00000001 11001000 2 001100

OU

0.11001000 00000000 2 000101MELHOR REPRESENTAÇÃO

Page 97: Aula Sistdigfim Al

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, NÃO NECESSITAM SER ARMAZENADOS NA MEMORIA

ARMAZENAMENTO NA MEMORIASINAL DO NO| EXPOENTE C/SINAL| MANTISSA

Page 98: Aula Sistdigfim Al

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

Page 99: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

COMPARAÇÃO ENTRE 2 NUMEROS EM PONTO FLUTUANTESINAL NO| SINAL EXP| EXPOENTE|MANTISSA

SINAL NO| SINAL EXP| EXPOENTE|MANTISSA

1 2 3 4

Page 100: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

MODIFICAÇÃO NO EXPOENTE PARA FACILITAR A COMPARAÇÃO ENTRE 2 NUMEROS EM PONTO FLUTUANTE

+31

+0-0

- 30

62

31

1

0

63

-31

+31

+31

+ PESO

APÓS A MODIFICAÇÃO, OS EXPOENTES SÃO POSITIVOS

USADOS MAIS

ADIANTE

PESO =31

Page 101: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

COMPARAÇÃO ENTRE 2 NUMEROS EM PONTO FLUTUANTE, EXPOENTES COM PESO

SINALNO| EXPOENTE|MANTISSA

SINALNO| EXPOENTE|MANTISSA

1 2

Page 102: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

REPRESENTAÇÃO DE + 5 EM PONTO FLUTUANTE NO FORMATO NORMALIZADO SEM PESO

01.01000000 2 000010+ +

ARMAZENAMENTO NA MEMORIA

0| 100001| 01000000

REPRESENTAÇÃO DE + 5 EM PONTO FLUTUANTE NO FORMATO NORMALIZADO COM PESO

01.01000000 2 100001+

+ 31

Page 103: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

INTERVALOS DE REPRESENTAÇÃO DOS NUMEROS

0 +- MAIOR

VALOR

(MODULO)

MAIOR

VALOR

(MODULO)

MENOR

VALOR

(MODULO)

MENOR

VALOR

(MODULO)

OVERFLOWOVERFLOWUNDERFLOW

01.11111111211111001.000000002000001

C/ PESOC/ PESO

Page 104: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

01.00000000210001001.000000002000001- 100010 + 011111

EXEMPLO DE GERAÇÃO DE UNDERFLOW

01.000000002000001

= 1 - 34 + 31 = - 2

UNDERFLOW

PARA OS CASOS DE UNDERFLOW SÃO PERMITIDOS NUMEROS NÃO NORMALIZADOS COM EXPOENTE ZERO

00.010000002000000

/2 +2

REPRESENTAÇÃO DO ZERO :

00.000000002000000

0

/2

Page 105: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

01.00000000211111

0

01.000000002111110 +111110 - 011111

EXEMPLO DE GERAÇÃO DE OVERFLOW

01.000000002111110

= 62 + 62 - 31 = + 93

OVERFLOWX

REPRESENTAÇÃO DO OVERFLOW ( INFINITO): 00.000000002111111

63

Page 106: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

PADRÃO IEEE 754PRECISÃO SIMPLES

(-1)S X ( 1 + M) X 2E

IMPLICITO(NÃO PRECISA

SER ARMAZENADO)

S|EXPONTE|MANTISSA

1 | 8 BITS | 23 BITS 32 BITS

PESO: 127

PRECISÃO DUPLA

(-1)S X ( 1 + M) X 2E

IMPLICITO(NÃO PRECISA

SER ARMAZENADO)

S|EXPONTE|MANTISSA

1 | 11 BITS | 52 BITS 64 BITS

PESO: 1023

Page 107: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ARITMETICA EM PONTO FLUTUANTE

REPRESENTAÇÃO DE -0,75 NO PADRÃO IEEE 754, PRECISÃO SIMPLES

- 0,75 = - 3 / 4 -> - 0.1120 -> - 1.1 X 2-1

1|01111110|1000000000000000000000031 30................ 23 22 0

+ 127

QUAL O NUMERO QUE O VETOR BINARIO ESTÁ REPRESENTANDO EM PRECISÃO SIMPLES ?

1|10000001|01000000000000000000000

- 129 – 127 = 2

1 1/4

- 1,25 X 22 = -5

Page 108: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ADIÇÃO EM PONTO FLUTUANTE

S M E

S M

E+

S M

S M

E

+

00..0

E

E

MS

NORMALIZAÇÃO

OVERFLOW ?

UNDERFLOW ?

EXCEÇÃO

OBS: ARREDONDAR A MANTISSA PODE DESNORMALIZAR

Page 109: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXEMPLO ADIÇÃO EM PONTO FLUTUANTE

1.001

1.001+

10.010

NORMALIZAR

1.001

0.010-

0.111

NORMALIZAR

DEPOIS DE IGUALADOS OS EXPOENTES...

Page 110: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ADIÇÃO EM PONTO FLUTUANTE

HARDWARE PARA SOMA EM PONTOFLUTUANTES| EXP|MANTISSA S| EXP|MANTISSA

UA EX -MUX

C

MUX MUX

DESL. DIR.

UA MANT

+MUX

MUX

DIR/ESQINC/DEC

COMPARAÇÃO DE EXPOENTES

DESLOCAMENTO À DIREITA DO MENOR NUMERO

SOMA

NORMALIZAÇÃO

Page 111: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ADIÇÃO EM PONTO FLUTUANTE

HARDWARE PARA SOMA EM PONTOFLUTUANTE (CONTINUAÇÃO)

UAMANT +

DIR/ESQINC/DEC

NORMALIZAÇÃO

MUXMUX

C

HARD. DE ARREDONDAMENTO

S| EXPOENTE| MANTISSA

ARREDONDAMENTO

REPETIDO DO SLIDE ANTERIOR

Page 112: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICAÇÃO EM PONTO FLUTUANTE

S M

X

E

M

NORMALIZAÇÃO

OVERFLOW ?

UNDERFLOW ?

EXCEÇÃO

OBS: ARREDONDAR A MANTISSA PODE DESNORMALIZAR

E

E

S M

P+ -

S

Page 113: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EX. DE MULTIPLICAÇÃO DE MANTISSAS EM PONTO FLUTUANTE

1.001

1.001X

1001

00000000

1001

1.010001

NORMALIZADO

1.100

1.100X

1100

00001100

0000

10.010000

DESNORMALIZADO

NORMALIZAR

Page 114: Aula Sistdigfim Al

SISTEMAS DIGITAIS

TIPOS NUMERICOS NO PADRÃO IEEE

NUMERO |SINAL |EXPOENTE | MANTISSA

NORMALIZADO|+/- |0 < ... 11..111 | QUALQUER 0

NÃO NORMAL |+/- | 0 | QUALQUER 0ZERO |+/- | 0 | 0

INFINITO |+/- | 111............11 | 0

NaN |+/- |111 ...........11 | QUALQUER 0

GERAÇÃO DE NaN : / , - , 0/0

Page 115: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 12

1. CONVERTA OS SEGUINTES NUMEROS PARA O FORMATO IEEE 754 ,USANDO A PRECISAO SIMPLES. FORNEÇA 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 FORMATOIEEE754 , PRECISAO SIMPLES , COMPACTADOS EM HEXADECIMAL, PARADECIMAL

A. 42E48000 B. 3F880000 C. C7F00000

3.  SOME OS NUMEROS 3EE00000H E 3D800000H EXPRESSOS NOFORMATO IEEE 754 , PRECISAO SIMPLES. O RESULTADONORMALIZADO DEVE SER FORNECIDO COMPACTADO EM HEXADECIMAL.

4.  MULTIPLIQUE OS NUMEROS ACIMA

5. DIVIDA OS NUMEROS ACIMA

Page 116: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 12

6, UM PROGRAMA CALCULA REQ PELA EXPRESSAO REQ =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 REQ?

7. MOSTRE QUE A CONVERSÃO DE UM NUMERO FRACIONARIO DECIMAL EM BINARIO ENVOLVE REPETIDAS MULTIPLICAÇÕES 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, COMEÇANDO PELO BIT MAIS SIGNIFICATIVO. A PARTE FRACIONARIA DO PRODUTO É USADA COMO MULTIPLICANDO NO PROXIMO PASSO.

CONVERTA 0,5125 PARA O FORMATO IEEE 754, PRECISÃO SIMPLES.

Page 117: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MODULOS SEQUENCIAIS FIXOS

REGISTRADOR

REGISTRADOR DE DESLOCAMENTO

CONTADOR

Page 118: Aula Sistdigfim Al

SISTEMAS DIGITAIS

REGISTRADORES

USO: ARMAZENAMENTO DE ESTADOS EM MAQUINAS SEQUENCIAIS

LD

CLK

CLR

REG

X

Z

N

ENTRADAS:

X =(X N-1,...X0) XI {0,1}

LD, CLK, CLR {0,1}

ESTADO:

S=(SN-1,...S0) SI {0,1}

SAIDAS:

Z =(Z N-1,...Z0) ZI {0,1}

FUNÇÕES

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)

ESPECIFICAÇÃO

SINCRONO

ASSINCRON

O

Page 119: Aula Sistdigfim Al

SISTEMAS DIGITAIS

IMPLEMENTAÇÃO DO BIT I DO REGISTRADOR

D Q

CLK

CLR

LD01

X I

Z I

CLK

CLR

REGISTRADORES

Page 120: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 13

PROJETE UM SISTEMA COM A ESPECIFICAÇÃO ABAIXO, USANDO:

1. FLIP-FLOP´s TIPO D

2. REGISTRADORES

0

A =0

1A =1

A =0

3A =1

A =0

2A =1

A =0

A=1

Page 121: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 13 – SOLUÇÃO

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

Page 122: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 13 – SOLUÇÃO

S1+ = S1. #A + S0.AS0+ = S0. #A + #S1.A

IMPLEMENTAÇÃO COM FLIP-FLOP´s

D Q

CLK

#Q

D Q

CLK

#Q

S1+

S0+

S1

S0

A

O

R

O

R

Page 123: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 13 – SOLUÇÃO

S1+ = S1. #A + S0.AS0+ = S0. #A + #S1.A

IMPLEMENTAÇÃO COM REGISTRADOR

LD X1 X0

CLK

CLR Z1 Z0

ACLK

CLR

Page 124: Aula Sistdigfim Al

REG

SISTEMAS DIGITAIS

REGISTRADORES DE DESLOCAMENTO

USO: TRANSFERENCIA SERIAL DE BITS

XR XL

CLK

CTRL

REG

X

Z

N

ENTRADAS:

X =(X N-1,...X0) XI {0,1}

XR, XL ,CLK {0,1}

CTRL {CARGA,ESQUERDA, DIR,NADA}

ESTADO:

S=(SN-1,...S0) SI {0,1}

SAIDAS:

Z =(Z N-1,...Z0) ZI {0,1}

FUNÇÕES

ESTAD0

S(T +1) =S(T) SE CTRL = NADA

= X(T) SE CTRL = CARGA

= (SN-2,...S0,,XL) SE CTRL = ESQ.

= (XR,SN-1, ...S1) SE CTLR = DIR

SAIDA

Z(T) = S(T)

ESPECIFICAÇÃO

2

Page 125: Aula Sistdigfim Al

SISTEMAS DIGITAIS

D Q

CLK

X I

Z I

REGISTRADORES DE DESLOCAMENTO(IMPLEMENTAÇÃO BIT I)

D Q

CLK

IMPLEMENTAÇÃO

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

Page 126: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 14

1. PROJETE UM SISTEMA COM A SEGUINTE ESPECIFICAÇÃO:

ENTRADA: X(T) ,SAIDA: Y(T) FUNÇÃO: X(T).X(T-8) =1

2. PROJETE UM SISTEMA COM A SEGUINTE ESPECIFICAÇÃO:

ENTRADA: X(T) ,SAIDA: Y(T)

FUNÇÃO: X(T-8,T)) = 011101101

Page 127: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO ENTRE REGISTRADORES VIA BARRAMENTO DE DADOS

#LD X

#OE REG

CLK Z

CONTROLE DE ALTA IMPEDANCIA

DBO

DB7

DB: DATA BUS

8

Page 128: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTROLE DE ALTA IMPEDANCIA

VCC

GND#OE

CIVCC

GND#OE

CIVCC

GND#OE

CI

VCC

GND#OE

CI

GND

NIVEL

1

GND

NIVEL

0

VCC

NIVEL

Z

3O

ESTADO

ALTA

IMPEDANCIA

ESTAGIO DE SAIDA

Page 129: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO 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

REPRESENTAÇÃO SIMPLIFICADA

Page 130: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO 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

REPRESENTAÇÃO SIMPLIFICADA (METODO REUNIÃO DE LINHAS)

Page 131: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO 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 TRANSIÇÃO DO CLOCK

DIAGR DE TEMPO DOS SINAIS NA TRANSFERENCIA DO DADO 1011 DO REG A PARA O REG C

CLK#LDC#OEADB3DB2DB1DB0

... ...

... ...

... ...

... ...

01

11

CLK#LDC

DB3

#OEA

... ...1011DB0

Page 132: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO ENTRE REGISTRADORES VIA BARRAMENTO DE DADOS

#LD

#OE REG

CLK X/Z

CONTROLE DE ALTA IMPEDANCIA

REGISTRADOR BIDIRECIONAL

Page 133: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO ENTRE REGISTRADORES VIA BARRAMENTO DE DADOS

#LD

#OE REG

CLK X/Z

CONTROLE DE ALTA IMPEDANCIA

REGISTRADOR BIDIRECIONAL

REPRESENTAÇÃO SIMPLIFICADA

Page 134: Aula Sistdigfim Al

SISTEMAS DIGITAIS

INTERCONEXÃO ENTRE REGISTRADORES VIA BARRAMENTO DE DADOS

#LD

#OE REG

CLK X/Z

CONTROLE DE ALTA IMPEDANCIA

REGISTRADOR BIDIRECIONAL

REPRESENTAÇÃO SIMPLIFICADA

METODO REUNIAO DAS LINHAS

Page 135: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 15

1. OS REG`s A, B, C ESTÃO INICIALMENTE CARREGADOS COM 1011,1000,0111.

OS SINAIS DA FIG. SÃO ENTÃO 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

T3T1 T2 T4

CLK

#0EA

#0EB#0EC#LDA#LDB#LDC

C. DESENHE O SINAL EM DB3

Page 136: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 15 CONTINUAÇÃO

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 REG´s 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 REG´s

CONTENHAM 0000.FAÇA UM RESUMO

DA SEQUENCIA DE OPERAÇÕES

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

#ESWGND

VCC

CH0

CH3

CH1

CH2

CLK

L3

L2

L1

L0

Page 137: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 15 CONTINUAÇÃO

A B C

CLK

D Q

D Q

D Q

D Q

VCC

#ESWGND

VCC

CH0

CH3

CH1

CH2

CLK

L3

L2

L1

L0

A1 #O3

A0 #O2

#E #O1

#O0

A1 #O3

A0 #O2

#E #O1

#O0

DEC. DUAL

GND

GND

OS1

OS0

IS1

IS0

#ESW

#OEC

#OEB

#OEA

#LDC

#LDB

#LDA

T0 T1 T2 T3

OS1

OS0

IS1

IS0CLK

3. SUPONDO QUE TODOS OS REG`s ESTÃO COM 0000 NO INSTANTE TO E AS CHAVES ESTÃO NA POSIÇÃO MOSTRADA NA FIGURA

A. QUAL O CONTEUDO DE CADA REG. EM T1, T2 E T3 ?

B. PODE OCORRER CONTENÇÃO DE BARRAMENTO NESTE CIRCUITO ? EXPLIQUE

Lj: LED

Page 138: Aula Sistdigfim Al

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 SELEÇÃO DE MEMORIA, CONFORME É MOSTRADO NA FIG. ABAIXO:

REG1

....

REGN-1

REG0J

B. END

2J = N

B. DADOS B. DADOS

#RD

#CS#WR

Page 139: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 16 - CONTINUAÇÃO

1. PROJETE UMA MEMORIA 8 x 8 ( OITO REGISTRADORES – OITO ENDEREÇOS – OITO POSIÇÕES 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 OQ3S

I0 #00

I1 #01

I2 #O2

#O3

#04

#05

#O6

#O7

#E

DECOD.

I

MEMORIA

Page 140: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 16 - CONTINUAÇÃO

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 :

MEMORIA

MEMORIA

Page 141: Aula Sistdigfim Al

USO MAIS COMUM: CONTAR EVENTOS

REG

SISTEMAS DIGITAIS

CONTADOR MODULO P

CNT

CLK

CLR TC

REG

Z

ENTRADAS:

CNT, CLR,CLK {0,1}

ESTADO:

S: = S {0,1,2 ...P-1}

SAIDAS:

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

TC {0,1}

FUNÇÕES

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

ESPECIFICAÇÃO

CONTAGEM TERMINAL

ASSINCRONO

Page 142: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTADOR MODULO P

TIPOS DE CONTADORES

COM RELAÇÃO 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 RELAÇÃO AO CODIGO

BINARIO

BCD

ANEL

Page 143: Aula Sistdigfim Al

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

Page 144: Aula Sistdigfim Al

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) IJ ε{0,1} I {0,1 ...15}

LD, CNT, CLR,CLK {0,1}

ESTADO:

S : S = (S3,S2,S1,S0) SJ ε{ 0,1} S {0,1...15}

SAIDAS:

Z : Z = (Z3,Z2,Z1,Z0) ZJ ε{0,1} Z {0,1...15}

TC {0,1}

FUNÇÕES

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

ESPECIFICAÇÃOI

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

Page 145: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTADOR MODULO K (2 k 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

NÃO USADA

Page 146: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DIVISOR DE FREQUENCIA MODULO K (2 k 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

XZ

7 8 9 10 11 12 13 14 15

7 8 9 10 11 12 13 14 15

FreqZ = FreqX / 9

1

0

Page 147: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTADOR – USO COMUM

CONTADOR DE EVENTOS

DOWN CLR

CLK CONTADOR

UP

COMPARADOR

Eout Sout

NUMERO MAXIMO

DE ESPAÇOS

LOTADO VAGAS

Page 148: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTADOR - USO COMUM

CONTROLAR UMA SEQUENCIA FIXA DE AÇÕES EM UM SISTEMA DIGITAL

DECODIFIC.

0

1

2

3

4

5

CONTADOR MODULO 6

CLK

SEQUENCIA DE AÇÕES

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

Page 149: Aula Sistdigfim Al

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 21 3 4 5 6 7 0

MESMA FREQUENCIA

FASES DIFERENTES

FF SR SINCRONO

Page 150: Aula Sistdigfim Al

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

Page 151: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTADOR - USO NÃO CONVENCIONAL

CONTADOR USADO COMO REGISTRADOR DE ESTADO NA IMPLEMENTAÇÃO 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

Page 152: Aula Sistdigfim Al

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/1b/0

c/0 #c/0

_ /0#b/0

b/0

Page 153: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 17 – SOLUÇÃO

S0

S1

S3

S4

S2

S5

S6

CNT I3 I2 I1 I0

CLK CONTADOR

LD O3 O2 O1 O0

#O2#O1#O0

#O2#O1O0

#O2O1#O0

#O2O1O0

O2#O1#O0

O2#O1O0

O2O1#O0

CNT = #O2#O1#O0a + #O2#O1O0 + #O2O1#O0 + #O2O1O0b + O2#O1#O0#c + O2#O1O0

LD = O2#O1#O0c + O2O1#O0

I2 I1 I0 SAIDA

O2O1#O0b 0 0 0 #O2O1O0#b 1

O2#O1#O0c 0 0 1

O2O1#O0#b 0 0 1

Page 154: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 17 - SOLUÇÃO

S2S1S0

O2O1

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

O0O1

O2

O1

O2

Page 155: Aula Sistdigfim Al

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 PADRÃO DESEJADO. O PADRÃO É PROGRAMADO USANDO CHAVES ON-OFF E UM CONTADOR.

DESENHE A FORMA DE ONDA Z PARA A POSIÇÃO 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

CLKCLK

Z

I7 I6 I5 I4 I3 I2 I1 I0

#E

VCC

GND

Page 156: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 18 – CONTINUAÇÃO

2. MOSTRE COMO CONECTAR 2 CI´S, 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. ( ESPECIFICAÇÃO: 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 paralelaCPU : clock para contagem UPCPD:clock para cont agem DOWNMR : master reset

Page 157: Aula Sistdigfim Al

MONOESTAVEL

Q

MONO ESTAVEL

CLK #Q

VCCRC

T ~ RC

CLR

D #Q

CLK QGND

VCC Vref

VCC

A

BS

COMPARADOR ANALOGICO

A=B -> S =1

A B -> S =0

SISTEMAS DIGITAIS

Page 158: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 18 – CONTINUAÇÃO

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 SÃO USADA PARA AJUSTAR O CONTADOR PARA UMA CONTAGEM INICIAL, QUANDO UM PULSO É APLICADO A #PL. A OPERAÇÃO DO TEMPORIZADOR É INICIADA PRESSIONANDO-SE O BOTÃO DE INICIO. O FFZ É USADO PARA ELIMINAR OS EFEITOS DA TREPIDAÇÃO (“BOUNCE”) DO CONTATO DO BOTÃO 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 BOTÃO

INICIO#Y MONO CLK

Tp = 100 NS

ASSINCRONO

Page 159: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 18 – CONTINUAÇÃO

A. ADMITA QUE TODOS OS FF`S E CONTADOR ESTÃO NO ESTADO 0. ANALISE E EXPLIQUE A OPERAÇÃO DO CIRCUITO, MOSTRANDO AS FORMAS DE ONDA, PARA O CASO DAS CHAVES PROGRAMADAS COM O NUMERO 4. NÃO DEIXE DE EXPLICAR A FUNÇÃO DO FFX.

B. POR QUE A SAIDA DO TEMPORIZADOR NÃO PODE SER TOMADA DA SAIDA DE #TCD?

C. POR QUE A CHAVE DE INICIO NÃO 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 MANUTENÇÃO DO ACIONAMENTO DA CHAVE INICIO NÃO VÁ AFETAR A OPERAÇÃO DO TEMPORIZADOR.

Page 160: Aula Sistdigfim Al

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

Page 161: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 19

1. DETERMINE A FREQUENCIA DOS PULSOS NOS PONTOS W,X,Y,Z NO CIRCUITO ABAIXO:

CONTADOR EM ANEL DE 16BITS160KHZ

W CONTADOR PARALELO DE 4 BITS

X CONTADOR DE PULSAÇÃO 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 MODIFICAÇÃO NÃO 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

Page 162: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FREQUENCIMETRO

267

CLEAR

1S

0,1S

0,01S

INT. AMOSTR.

FX

CLR

CONTADOR CLK

DECODIFICADOR

CONTROLE DO DISPLAY

FREQUENCIA DESCONHECIDA FXPULSO DE AMOSTRAGEM PXFXPX

CLEAR

Z

Z

PAINEL

PLACA

Page 163: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FREQUENCIMETRO

PARA A FREQUENCIA, DESCONHECIDA PELO FREQUENCIMETRO, DE 3792 PULSOS POR SEGUNDO, DETERMINE A SAIDA DO CONTADOR APÓS O INTERVALO DE AMOSTRAGEM DE:

A. 1s B. 0,1s C. 0,01s

___________________________________________________________________________________________

OBS:

FX = 2,4HZ

1 2

1 2 3

1s

CONTAGEM

CONTAGEM0,4

s

Page 164: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FREQUENCIMETRO

INTERVALO DE AMOSTRAGEMCLK100KHZ DIV10 DIV10 DIV10 DIV10 DIV10

10KHZ

1KHZ 100HZ 1HZ10HZ

1

23

45

61s

0,1s

10ms1ms100us

10us

Q J

CLK

#Q K

PXCHAVE DE SELEÇÃO PARA INTERVALO DE AMOSTRAGEM

VCC

VCCCLK

TEMPO DE AMOSTRAGEM

Page 165: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 19-A:FREQUENCIMETRO

INTERVALO DE AMOSTRAGEMADMITA 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 POSIÇÃO DA CHAVE.

DISPLAY

1s 0,1s 10mS

1ms

100us

10us

MENOR FREQ.

MAIOR FREQ.

1KHZ -> 1ms10KHZ -> 100us

Page 166: Aula Sistdigfim Al

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

VCCMONO

Q CLK

Page 167: Aula Sistdigfim Al

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

Page 168: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FREQUENCIMETRO (CLEAR AUTOMATICO)

COMO O DISPLAY ESTÁ CONECTADO DIRETAMENTE NAS SAIDAS DO CONTADOR, O DISPLAY MOSTRARÁ A OPERAÇÃO 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

VCCMONO

Q CLK

REG CLK

Page 169: Aula Sistdigfim Al

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

Page 170: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DISPOSITIVOS DO TIPO PADRÃO

COMBINACIONAIS

DECODIFICADORCODIFICADORMULTIPLEXADORDEMULTIPLEXADORDESLOCADOR-PSOMADORSUBTRATORUNID. ARITMETICA E LOGICACOMPARADOR

SEQUENCIAIS

REGISTRADORREGISTRADOR DE DESLOCAMENTOCONTADOR

Page 171: Aula Sistdigfim Al

PLD

SISTEMAS DIGITAIS

DISPOSITIVOS LOGICOS PROGRAMAVEIS

FF

G G

FF

FF

FF G

FF

G

SE AS CONEXÕES PUDEREM SER ABERTAS ESTE DISPOSITIVO É PROGRAMAVEL

FF: FLIP-FLOP

G: GATE

PLD

Page 172: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DISPOSITIVOS LOGICOS PROGRAMAVEIS

CONEXÃO

FUSIVEL ELETRONICO

CHAVE ELETRONICA

PROGRAMAVEL UMA ÚNICA VEZ

PROGRAMAVEL DIVERSAS VEZES

CORRENTE

FLIP- FLOP

Page 173: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DISPOSITIVOS LOGICOS PROGRAMAVEIS

PROGRAMAÇÃO DO PLD

PELO FABRICANTE

PELO PROJETISTA

Page 174: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DISPOSITIVOS LOGICOS PROGRAMAVEIS

IDEIA BASICA DE PROGRAMAÇÃO DE PLD COMBINACIONAL COM 3 ENTRADAS E UMA SAIDA

ABC

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 VÃO FAZER PARTE DO OU, PARA QUE QQ FUNÇÃO POSSA SER IMPLEMENTADA

Page 175: Aula Sistdigfim Al

SISTEMAS DIGITAIS

DISPOSITIVOS LOGICOS PROGRAMAVEIS

TIPOS DE PLD´s

PLA

PAL

ROM

PSA

PROGRAMABLE ARRAY LOGIC

PROGRAMABLE LOGIC ARRAY

READ ONLY MEMORY

PROGRAMABLE SEQUENCIAL ARRAY

FIELD PROGRAMABLE GATE ARRAY

SPLD

CPLD

SPLD´s AGRUPADAS

FPGA

Page 176: Aula Sistdigfim Al

PLA(MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

PLA

MATRIZ DE AND

MATRIZ DE OR

ESCOLHA DOS TERMOS DA FUNÇÃO

ESCOLHA DAS COMBINAÇÕES DE TERMOS PARA GERAR AS FUNÇÕES DE SAIDAE

NTR

AD

AS

SAIDAS

Page 177: Aula Sistdigfim Al

PLA (MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

12

K 1

XN-1

X1

X0

YK-1

Y1

Y0

1

2

R

MATRIZ

AND

MATRIZ

OR

...

...

.

.

CONEXÃO PROGRAMAVEL:

PODE SER DESFEITA

1.2.

K

Page 178: Aula Sistdigfim Al

PLA – CIRCUITOS BASICOS

SISTEMAS DIGITAIS

VCC

GND

A

VCC

GND

S

A B S0 0 10 1 01 0 01 1 0

S = #(A + B)

INVERSORVCC

GND

VCC

GND

BUFFER NÃO INVERSOR

NOR

BGND

S = (#A . #B)

Page 179: Aula Sistdigfim Al

PLA (MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

XI

CIRCUITO CIRCUITO

XI

CIRCUITO

XI

XI

CIRCUITO

< ATRASO

MELHOR CONFIGURAÇÃO

Page 180: Aula Sistdigfim Al

PLA (MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

ESPECIFICAÇÃO

ENTRADA

X = (XN-1,...,X0) XI {0,1}

SAIDA

Z = (ZK-1,...,Z0) ZI {0,1}

FUNÇÃO

IMPLEMENTAÇÃO DE K (NO DE OR´s) FUNÇÕES DE CHAVEAMENTO COM NO MAXIMO R (NO DE AND`S) TERMOS, SENDO QUE R < 2N.

Page 181: Aula Sistdigfim Al

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

Page 182: Aula Sistdigfim Al

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 = XN-1.XN-2 2 E 4 ABERTOS

Page 183: Aula Sistdigfim Al

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 = XN-1.#XN-2

PLA

2 E 3 ABERTOS

VCC

Page 184: Aula Sistdigfim Al

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 = #XN-1.XN-2

PLA

1 E 4 ABERTOS

VCC

Page 185: Aula Sistdigfim Al

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 = #XN-1.#XN-2

PLA

1 E 3 ABERTOS

VCC

Page 186: Aula Sistdigfim Al

1

PLA (MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

GND

GND GND

VCC1

2 R

PARA AND1 OR AND2 , 3 ABERTO

PARA AND1 OR ANDR , 2 ABERTO

1

2

R

1 R2

GND

VCC

YK-1

YK-1

.....

.

YK2

Page 187: Aula Sistdigfim Al

PLA (MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

12

2

1

A

B

C

F2

F1

F0

1

2

3

MATRIZ

AND

MATRIZ

OR

.

.

CONEXÃO

1.2.

K

EXEMPLO: F2 = A#BC + AB#C

F0 = A#B

SEM CONEXÃO

Page 188: Aula Sistdigfim Al

EXERCICIO 20

SISTEMAS DIGITAIS

12

1

D3

D1

D0

G3

1

2

4

MATRIZ

AND

MATRIZ

OR

.

.

1

IMPLEMENTAR UM CONVERSOR DE CODIGO BCD-GRAY D2

3

D

0123456789

G

01326754CD

G2

G1

G0

4

56

Page 189: Aula Sistdigfim Al

EXERCICIO 20 - SOLUÇÃO

SISTEMAS DIGITAIS

D

0123456789

G

01326754CD

3210

0000000100100011010001010110011110001001

3210

0000000100110010011001110101010011001101

G3 = D3

G2 = D3 + D2

G1 = D2#D1 + #D2D1

G0 = D1#D0 + #D1D0

Page 190: Aula Sistdigfim Al

EXERCICIO 20 – SOLUÇÃO

SISTEMAS DIGITAIS

12

1

D3

D1

D0

G3

1

2

4

MATRIZ

AND

MATRIZ

OR

.

.

D2

3

SOLUÇÃO PICTORICA: MOSTRAR OS TERMOS E OS AND´S ENVOLVIDOS PARA A GERAÇÃO DAS FUNÇÕES

G3 =D3

G2 = D3 + D2

G1 = #D2D1 + D2#D1

G0 = #D1D0 + D1#D0

5

6

G2

G1

G0

Page 191: Aula Sistdigfim Al

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 NÃO Z1

2

I

I+1

Page 192: Aula Sistdigfim Al

ESPECIFICAÇÃO

ENTRADA

X = (XN-1,...,X0) XI {0,1}

SAIDA

Z = (ZK-1,...,Z0) ZI {0,1}

FUNÇÃO

IMPLEMENTAÇÃO DE K (NO DE OR´s) FUNÇÕES DE CHAVEAMENTO COM J DENTRE R AND`S PERMANENTEMENTE CONECTADOS A CADA OR, SENDO QUE: R < 2N.

PAL(MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

Page 193: Aula Sistdigfim Al

PAL(MATRIZ LOGICA PROGRAMAVEL)

SISTEMAS DIGITAIS

OBSERVAÇÃO:

EM UMA PAL, UM AND (TERMO) NÃO ESTÁ DISPONIVEL PARA TODAS AS FUNÇÕES.

A PAL EM GERAL É MAIS RAPIDA QUE A PLA , TEM MAIS SAIDAS OU TEM MAIS AND´S.

Page 194: Aula Sistdigfim Al

EXERCICIO 21

SISTEMAS DIGITAIS

USANDO A PAL DO BOTÃO, IMPLEMENTE UM SISTEMA QUE TENHA COMO ENTRADA UM DIGITO DECIMAL REPRESENTADO EM BCD E COMO SAIDA A ENTRADA MULTIPLICADA POR 3, COM REPRESENTAÇÃO, TAMBEM, EM BCD.

Page 195: Aula Sistdigfim Al

EXERCICIO 21 SOLUÇÃO (EXPRESSÃO 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 1Y5 = #X3X2X1X0 + X3#X2#X1#X0 + X3#X2#X1X0

Page 196: Aula Sistdigfim Al

EXERCICIO 21 SOLUÇÃO

SISTEMAS DIGITAIS

X3

X2

X1

X0

ENABLE

Y5

Y4

Y3

Y2

Y1

Y0

Y5 = #X3X2X1X0 + X3#X2#X1#X0 + X3#X2#X1X0

Page 197: Aula Sistdigfim Al

ROM ( MEMORIA DE APENAS LEITURA)

SISTEMAS DIGITAIS

12

K

2

XN-1

X1

X0

YK-1

Y1

Y0

1

2

2N

MATRIZ

OR

...

...

.

.

CONEXÃO PROGRAMAVEL:

PODE SER DESFEITA

1.2.

K

PROGRAMAVEL

TEM TODOS OS TERMOS

Page 198: Aula Sistdigfim Al

ROM ( MEMORIA DE APENAS LEITURA)

SISTEMAS DIGITAIS

ESPECIFICAÇÃO

ENTRADA

X = (XN-1,...,X0) XI {0,1}

SAIDA

Z = (ZK-1,...,Z0) ZI {0,1}

FUNÇÃO:

IMPLEMENTAÇÃO DE K (NO DE OR´s) FUNÇÕES DE CHAVEAMENTO COM NO MAXIMO 2N (NO DE AND`S) TERMOS.

CADA AND FICA PERMANENTEMENTE CONECTADO A UM TERMO DIFERENTE, OU SEJA QQ FUNÇÃO PODE SER IMPLEMENTADA.

Page 199: Aula Sistdigfim Al

ROM ( ANALOGIA COM MEMORIA)

SISTEMAS DIGITAIS

1

K

2

XN-1

X1

X0

YK-1

Y1

Y0

1

2

2N

MATRIZ

OR

...

...

.

.

1.2.

K

TEM TODOS OS TERMOS

XN-1

X1

X0 ... ...

BARRAMENTODE ENDEREÇO

REGISTRADOR

REGISTRADOR

REGISTRADOR

BARRAMENTODE DADOS

MEM SÓ DE LEITURA

Page 200: Aula Sistdigfim Al

EXERCICIO 22 EXERCICIO 22

SISTEMAS DIGITAIS

PROJETAR UMA MEMORIA (4 X 4) DE APENAS LEITURA, COM OS

ENDEREÇOS E RESPECTIVOS CONTEUDOS ABAIXO LISTADOS:

END. CONT.

00 1101

01 1001

10 1110

11 0110

Page 201: Aula Sistdigfim Al

EXERCICIO 22 – SOLUÇÃO

SISTEMAS DIGITAIS

2

2

X1

X0

D3

D2

D0

0

2

0.2.

32

D1

1

MEMORIA ROM

END. CONTEUDO

00 1101

01 1001

10 1110

11 0110123

CONEXÃO

SEM CONEXÃO

Page 202: Aula Sistdigfim Al

ESPECIFICAÇÃO

ENTRADA:

X = (XN-1,...,X0) XI {0,1}

ESTADO:

S = (SP-1,...,S0) SI {0,1}

SAIDA:

Z = (ZK-1,...,Z0) ZI {0,1}

FUNÇÃO:

IMPLEMENTAÇÃO DE SISTEMA SEQUENCIAL NOT- AND- OR DE K + P (NO DE OR´s) FUNÇÕES DE CHAVEAMENTO COM NO MAXIMO R (NO DE AND`S) TERMOS.

PSA (MATRIZ SEQUENCIAL PROGRAMAVEL)

SISTEMAS DIGITAIS

PLA

REG

N K

P P

CLKPSA

2P

ESTADOS

Page 203: Aula Sistdigfim Al

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/1b/0

c/0 #c/0

_ /0#b/0

b/0

Page 204: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 23 – MODELO P/SOLUÇÃOa b c

CLKSAIDAD0Q0

D2Q2

Page 205: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 23 –SOLUÇÃOa b c

CLKSAIDAD0Q0

D2Q2

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

Page 206: Aula Sistdigfim Al

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- FUNÇÕES DO SISTEMA

Page 207: Aula Sistdigfim Al

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

.....

.

.....

.....

.

.....

.BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

Page 208: Aula Sistdigfim Al

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

.....

.

.....

.....

.

.....

.BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CONEXÕES VERTICAIS

Page 209: Aula Sistdigfim Al

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

.....

.

.....

.....

.

.....

.BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CONEXÕES HORIZONTAIS

Page 210: Aula Sistdigfim Al

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

.....

.

.....

.....

.

.....

.BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CHAVESMATRIZ DE CHAVEAMENTO

Page 211: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)

TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAÇÃO DE CONEXÕES E FUNÇÕES.

TRANSISTORES DE PASSAGEM

FUSIVEIS (NÃO RECONFIGURAVEL)( NÃO VOLATIL)

Page 212: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)

TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAÇÃO DE CONEXÕES E FUNÇÕES.

SRAM ( STATIC RANDOM ACCESS MEMORY)

MEMORIA ESTATICA (RECONFIGURAVEL)(VOLATIL)

FF

MEMORIA

Page 213: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)

TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAÇÃO DE CONEXÕES E FUNÇÕES.

EPROM (ERASABLE PROGRAMABLE READ ONLY MEMORY)

MEMORIA (RECONFIGURAVEL)(NÃO VOLATIL)

VLIMIAR

>RECONFIGURAÇÃO POR ULTRA VIOLETA

Page 214: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA(MATRIZ DE PORTAS PROGRAMAVEIS NO CAMPO)

TECNOLOGIAS DE FPGA COM RESPEITO A IMPLEMENTAÇÃO DE CONEXÕES E FUNÇÕES.

EEPROM (ERASABLE ELETRICALLY PROGRAMABLE READ ONLY MEMORY)

MEMORIA (RECONFIGURAVEL)(NÃO VOLATIL)

VLIMIAR

>RECONFIGURAÇÃO ELETRICA

Page 215: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

.....

.

.....

.....

.

.....

.BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

Page 216: Aula Sistdigfim Al

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

ABCD

D/Q

X

Y

0

1

2

3

4

5

01

01

01

012

012

012

REGISTRADOR DE CONFIGURAÇÃO

K

G

F

Page 217: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM

LUT LOOK UP TABLE ( IMPLEMENTA A MAIOR PARTE DAS SUB-FUNÇÕES 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

Page 218: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM – POSSIBILIDADES DE INTERCONEXÃO

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

......

.....

......

......

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CLB

CLB

CLB

CLB

1. INTERCONEXÃO DIRETA ENTRE CLB´s HORIZONTALMENTE E VERTICALMENTE ADJACENTES ( CAMINHO DE SINAL RAPIDO)

Page 219: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM – POSSIBILIDADES DE INTERCONEXÃO

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

......

.....

......

......

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CLB

CLB

CLB

CLB

2. CONEXÃO VERTICAL OU HORIZONTAL CURTAS E LENTAS (PASSAM PELA MATRIZ DE CHAVEAMENTO)

Page 220: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM – POSSIBILIDADES DE INTERCONEXÃO

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

......

.....

......

......

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

BLO

CO

S D

E E

NTR

. E S

AID

A

BLOCOS DE ENTRADA E SAIDA

CLB

CLB

CLB

CLB

3. CONEXÃO VERTICAL OU HORIZONTAL LONGAS E RAPIDAS

Page 221: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FPGA – SRAM – POSSIBILIDADES DE CONEXÃO

CLB

CLB

CLB

CLB

BLO

CO

S D

E E

NTR

. E S

AID

A

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

Page 222: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24

PROJETE UM SOMADOR BCD DE 1 DIGITO, CUJA ESPECIFICAÇÃO ESTÁ DESCRITA ABAIXO, USANDO FPGA – SRAM.

ESPECIFICAÇÃO

ENTRADAS:

X = (X3,X2,X1,X0) XJ{0,1} X {0,1,2...9}

Y = (Y3,Y2,Y1,Y0) YJ{0,1} Y {0,1,2...9}

CIN{0,1}

SAIDAS:

S = (S3,S2,S1,S0) SJ{0,1} S {0,1,2...9}

COUT{0,1}

FUNÇÃO:

X + Y + CIN = 10 COUT + S

Page 223: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

COMO O SISTEMA TEM 9 ENTRADAS E 5 SAIDAS, A FUNÇÃO DEVE SER DECOMPOSTA EM SUB-FUNÇÕES DE MODO QUE CADA UMA DELAS POSSA SER IMPLEMENTADA POR UM CLB QUE TEM 4 ENTRADAS E 2 SAIDAS

Page 224: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

PROJETO IGNORANDO O CI QUE IRÁ IMPLEMENTA-LO

+X

Y

4

4

CIN

1O SOMADOR

V

U

TT

+

0

0

S

COUT

2O SOMADOR

T =1 SE U =1 OU V>

9

S = V SE T = 0 S = V + 6 SE T = 1

Page 225: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

ADAPTANDO O PROJETO AO CI ALVO : FPGA – SRAM

10 SOMADOR:DESMEMBRADO EM 4 SOMADORES BINARIOS, CADA SOMADOR COM 3 ENTRADAS(XI,YI E CINI) E 2 SAIDAS (VI E COI), SOMADORES ESTES QUE PODEM SER INDIVIDUALMENTE IMPLEMENTADOS POR UM CLB.

BLOCO T: 4 ENTRADAS ( U,V3, V2, V1) E 1 SAIDA (T)

T = U + V3V2 + V3V1

( C,D,E,F) (A,B)

20 SOMADOR:DESMEMBRADO EM 4 SOMADORES BINARIOS, CADA SOMADOR COM 3 ENTRADAS(VI,TI OU 0 E CINI) E 2 SAIDAS (SI E COUI), SOMADORES ESTES QUE PODEM SER INDIVIDUALMENTE IMPLEMENTADOS POR UM CLB.

Page 226: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

+ A

B

C X

K Y

D

X0 Y0

CIN

CO0

V0

CIN

Y0

X0

CO0

+

X1 Y1

C00

CO1

V1

0

Y1

X1

CO1

V1

+

X2 Y2

C01

CO2

V20

Y2

X2

CO2

V2

+

X3 Y3

CO2

U

V3

0

Y3

X3

U

V3

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

CO0

C01

C02

V0

Page 227: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

A

B

C X

K Y

D

V3CLB4

U

V2

T

V1

Page 228: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 –SOLUÇÃO

+ A

B

C X

K Y

D

V0 0

S0

+

V1 T

COU1

S1

V1

T

COU1

S1

+

V2 T

C0U1

COU2

S2

C0U1

T

V2

COU2

S2

+

V3

COU2

S3

V3

S3

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

C0U2

0

0

0

0

0

Page 229: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 – SOLUÇÃO

CLB0

A

B

C X

K Y

D

LUT

S

D Q

K

R

0 X XX X 01 10

ABCD

D/Q

X

Y

0

1

2

3

4

5

01

01

01

012

012

012

REGISTRADOR

X0

Y0

CIN

CO0

X0Y0

CIN

CO0

GF

0

V00

V0

Page 230: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 24 – SOLUÇÃO

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

Page 231: Aula Sistdigfim Al

1

2

3

5

6

7

4

X0

Y0

00

CIN

VO =S0

X1

Y1

0

X3

Y3

0

0X2Y2

S1

S2

S3

T

V1

V2

V3

U

T

SISTEMAS DIGITAIS

EXERCICIO 24 – SOLUÇÃO

Page 232: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR SERIAL

COMPUTADOR

EQUIPAMENTO REMOTO

COMUNICAÇÃO SERIAL

(1 BIT ENVIADO POR VEZ)

PERMITE A COMUNICAÇÃO BIT A BIT ENTRE 2 DISPOSITIVOS

Page 233: Aula Sistdigfim Al

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

Page 234: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR SERIAL

COMPUTADOR

EQUIPAMENTO REMOTO

PROTOCOLOS DE COMUNICAÇÃO:ASSINCRONO E

SINCRONO

Page 235: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR SERIAL

PROTOCOLO ASSINCRONO

COMPUTADOR

EQUIP. REMOTO

LINHA EM REPOUSO

NIVEL 0

NIVEL 1

CONTROLADOR SERIAL

CLK

DE TRANSMISSÃO

Page 236: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR DE INTERFACE SERIAL

PROTOCOLO ASSINCRONO

COMPUTADOR

EQUIP. REMOTO

DADO ENVIADO

NIVEL 0

NIVEL 1

CONTROLADOR SERIAL

CLK DE TRANSMISSÃO

D0

D1

D2

D3

D4

D5

D6

D7

P

STARTSTOP

OPÇÕES:

BITS: 5, 6, 7 OU 8 BITS DE STOP : 1 OU 2

PARIDADE: COM OU SEM TIPO DE PARIDADE : PAR OU IMPAR

Page 237: Aula Sistdigfim Al

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

Page 238: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR DE INTERFACE SERIAL

INTERFACE

8RD WR SEL

REG TRANSMISSÃO

REG RECEPÇÃO

REG CONFIGURAÇÃO

FF TX READY SEL

00 REG TRANS

00 REG RECEP

01 REG CONFIG

10 REG STATUS

FF RX READY

REG STATUS

2

Page 239: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR DE INTERFACE SERIAL

REGISTRADOR DE CONFIGURAÇÃO

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

Page 240: Aula Sistdigfim Al

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.

Page 241: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR DE INTERFACE SERIAL

TRANSMISSOR

REG. DE DESLOCAMENTO

CONTADOR DOWN

GERADOR DE PARIDADE

FF TXREADY 1, REG DE DESLOCAMENTO CARREGADO

Page 242: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO: CONTROLADOR DE INTERFACE SERIAL

PROJETE O TRANSMISSOR USANDO REG DE DESLOCAMENTO; SOMADOR; CONTADOR DOWN; 4 MUX´S 16X1; PLA (PARA GERAR O BIT DE PARIDADE).

Page 243: Aula Sistdigfim Al

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 RECEPÇÃO

ALINHADOR

Page 244: Aula Sistdigfim Al

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.

Page 245: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONTROLADOR DE INTERFACE SERIAL – PROTOCOLO SINCRONO

A TRANSMISSÃO SERIAL SINCRONA REQUER FLUXO CONTINUO DE CARACTERES. MESMO QUE NÃO 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:NÃO HÁ BITS DE START E STOP.

EX: N A H J 1 W T T Y D F G H J K L N M V C 3 4 5 6 A 2 D

A RECEPÇÃO SERIAL SINCRONA NECESSITA , ANTES DA RECEPÇÃO 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

Page 246: Aula Sistdigfim Al

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 TRANSMISSÃO, SABENDO QUE O BIT D7 DO REGISTRADOR DE CONFIGURAÇÃO, QUANDO EM 0 INDICA PROTOCOLO ASSINCRONO E QUANDO EM 1 PROTOCOLO SINCRONO.

3. PROJETE O CIRCUITO DE DETEÇÃO DE SINCRONISMO NO RECEPTOR SABENDO QUE O BIT D6 DO REGISTRADOR DE CONFIGURAÇÃO, 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

Page 247: Aula Sistdigfim Al

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

TRANSFORMAÇÃO DO DADO

REGISTRADOR

Page 248: Aula Sistdigfim Al

SISTEMA RTL

SISTEMAS DIGITAIS

SISTEMAS RTL

SUBSISTEMA

DE

CONTROLE

SUBSISTEMA

DE

DADOS

Page 249: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

SUBSISTEMA DE DADOS

REGISTRADOR REGISTRADOR

MODULO DE TRANSFORMAÇÃO

REGISTRADOR

REGISTRADOR

MODULO DE TRANSFORMAÇÃO

REGISTRADOR

TRANSFERENCIA ENTRE REGISTRADORES:

TRANSFORMAÇÃO DE UM DADO (VIA MODULO DE TRANSFORMAÇÃO) QUANDO ELE É TRANSFERIDO DE UM REGISTRADOR PARA OUTRO.

Page 250: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

SUBSISTEMA DE DADOS

FUNÇÃO DO SISTEMA

IMPLEMENTADA POR UMA SEQUENCIA DE TRANSFERENCIAS ENTRE REGISTRADORES QUE PODE SER REPRESENTADA POR UM GRAFO CHAMADO DE GRAFO DE EXECUÇÃO.

Page 251: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

SUBSISTEMA DE CONTROLE

CONTROLA A SEQUENCIA DE TRANSFERENCIAS ENTRE REGISTRADORES, PODENDO SER UM CONTROLADOR CONVENCIONAL OU UM CONTROLADOR MICROPROGRAMADO.

Page 252: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

TIPOS DE GRAFOS DE EXECUÇÃO PARA IMPLEMENTAR A

FUNÇÃO P = PIXI (I: 0 A 7), USANDO O MODULO DE

TRANSFORMAÇÃO ABAIXO:

MODULO DE TRANSFORMAÇÃO

A x B + C

A B C

P = P7X7+ P6X6+ P5X5+ P4X4+ P3X3+ P2X2+ P1X1+ P0X0

UM PRODUTO E UMA SOMA

Page 253: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO SEQUENCIAL

P = P7X7+ P6X6+ P5X5+ P4X4+ P3X3+ P2X2+ P1X1+ P0X0P = (((((((P7X+ P6)X+ P5)X+ P4)X+ P3)X+ P2)X+ P1)X+ P0)V6 = P7X+ P6

V5 = V6X+ P5

V4 = V5X+ P4

V3 = P4X+ P3

V2 = V3X+ P2

V1 = V2X+ P2

V0 = V1X+ P0

ENTRE CADA ( ) , UMA MULTIPLICAÇÃO E UMA SOMA

Page 254: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO SEQUENCIAL : IMPLEMENTAÇÃO

REG

P7

REG

P6

REG

P5

REG

P4

REG

P3

REG

P2

REG

P1

REG

P0

REG

X

MT

MT

REG

REG .................

V6

V5

Page 255: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO ITERATIVO DE EXECUÇÃO SEQUENCIAL

P = P7X7+ P6X6+ P5X5+ P4X4+ P3X3+ P2X2+ P1X1+ P0X0P = (((((((P7X+ P6)X+ P5)X+ P4)X+ P3)X+ P2)X+ P1)X+ P0 )I = 6 V = P7

V = VX+ PI

I = I - 1

I 0

Page 256: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO ITERATIVO SEQUENCIAL : IMPLEMENTAÇÃO

REG

REG

P6

REG

P5

REG

P4

REG

P3

REG

P2

REG

P1

REG

P0

REG

X

MT

P7

Page 257: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO CONCORRENTE

P = P7X7+ P6X6+ P5X5+ P4X4+ P3X3+ P2X2+ P1X1+ P0X0

P = (((P7X+ P6)X2+ (P5X+ P4))X2)X2 +(P3X+ P2)X2+(P1X+ P0)

V7= P7X+ P6

V9 = V3VX+ V1V8= V7VX+ V5

V3 = P3X+ P2

V10 = V8 V2X + V9

V5 = P5X+ P4

V1 = P1X+ P0 VX = X.X

V2X = VX.VX

Page 258: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO CONCORRENTE: IMPLEMENTAÇÃO

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

Page 259: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO GRUPO SEQUENCIAL

P = P7X7+ P6X6+ P5X5+ P4X4+ P3X3+ P2X2+ P1X1+ P0X0

P = (((P7X+ P6)X2+ (P5X+ P4))X2)X2 +(P3X+ P2)X2+(P1X+ P0)

V7= P7X+ P6

V9 = V3VX+ V1V8= V7VX+ V5

V3 = P3X+ P2

V10 = V8 V2X + V9

V5 = P5X+ P4

V1 = P1X+ P0 VX = X.X

V2X = VX.VX

Page 260: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

GRAFO DE EXECUÇÃO GRUPO SEQUENCIAL: IMPLEMENTAÇÃO

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

Page 261: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

ORGANIZAÇÃO DO SUBSISTEMA DE DADOS

SEM COMPARTILHAMENTO

COM COMPARTILHAMENTO

UNIMODULO

Page 262: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

SEM COMPARTILHAMENTO

SISTEMAS DIGITAIS

SISTEMAS RTL

IMPLEMENTAÇÃO DO GRAFO DE EXECUÇÃO 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 TRANSFORMAÇÃO E REGISTRADORES NÃO SÃO COMPARTILHADOS

Page 263: Aula Sistdigfim Al

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

IMPLEMENTAÇÃO DO GRAFO DE EXECUÇÃO GRUPO SEQUENCIAL

MODULOS DE TRANSFORMAÇÃO E/OU REGISTRADORES SÃO COMPARTILHADOS. NO EX. ABAIXO OS MODULOS COM A MESMA COR PODEM SER “COMPARTILHADOS”

Page 264: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

IMPLEMENTAÇÃO DO GRAFO ITERATIVO DE EXECUÇÃO SEQUENCIAL

REG

REG

P6

REG

P5

REG

P4

REG

P3

REG

P2

REG

P1

REG

P0

REG

X

MT

P7

IMPLEMENTAÇÃO DO GRAFO ITERATIVO DE EXECUÇÃO SEQUENCIAL

UNIMODULO

O MODULO DE TRANSFORMAÇÃO É UNICO

Page 265: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

ORGANIZAÇÃO DO SUBSISTEMA DE CONTROLE

CENTRALIZADO

DESCENTRALIZADO

SEMI - CENTRALIZADO

Page 266: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

CENTRALIZADO

SISTEMA RTL

SUBSISTEMA

DE

CONTROLE

SUBSISTEMA

DE

DADOS

SUBSISTEMA

DE

DADOS

SUBSISTEMA

DE

DADOS

Page 267: Aula Sistdigfim Al

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

Page 268: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMAS RTL

SEMI - CENTRALIZADO SISTEMA RTL

SUBSISTEMA

DE

CONTROLE

SUBSISTEMA

DE

DADOS

SUBSISTEMA

DE

DADOS

SUBSISTEMA

DE

DADOSSUBSISTEMA

DE

CONTROLE

SUBSISTEMA

DE

CONTROLE

SUBSISTEMA

DE

CONTROLE

Page 269: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 25

1. IMPLEMENTAR A FUNÇÃO P COM GRAFO DE EXECUÇÃO CONCORRENTE, SEM COMPARTILHAMENTO E DESCENTRALIZADO, UTILIZANDO O SEGUINTE MODULO DE TRANSFORMAÇÃO, QUE JÁ ESTÁ ACOPLADO A UM REGISTRADOR E JÁ POSSUI UM CONTROLE INTERNO

MT

CONTROLE

CONTRIN

X

+

REG

CONTROUT

A B C

S

Page 270: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 25 – CONTINUAÇÃO

2A. IMPLEMENTAR A FUNÇÃO P COM GRAFO DE EXECUÇÃO GRUPO SEQUENCIAL, SEM COMPARTILHAMENTO E CENTRALIZADO, UTILIZANDO O SEGUINTE MODULO DE TRANSFORMAÇÃO, 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

S22B. REPETIR PARA CONCORRENTE, SEM COMPARTILHAMENTO E CENTRALIZADO.

Page 271: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SIST. RTL – MULTIPLICADORALGORITMOS DE MULTIPLICAÇÃO DE 2 VETORES COM 4 BITS

ALGORITMO_1

ALGORITMO_2

Z= XY

Z= XYI2I = X(Y020 + Y121 +Y222 +Y323 )

Z= XY020 + XY121 +XY222 +XY323

Z= ((((0 + XY020 )+ XY121 )+XY222 )+XY323 ) --------------------ALGORITMO_1

Z= ((((0 + XY024 /24)+ XY124 /23)+XY224 /22)+XY324 /21)

Z= (((1/2(0 + XY024 /23)+ XY124 /23)+XY224 /22)+XY324 /21)

Z= ((1/2(1/2(0 + XY024 /22)+ XY124 /22)+XY224 /22)+XY324 /21)

Z= (1/2(1/2(1/2(0 + XY024 /21)+ XY124 /21)+XY224 /21)+XY324)

Z= 1/2(1/2(1/2(1/2(0 + XY024)+ XY124)+XY224)+XY324) ---ALGORITMO_2

Page 272: Aula Sistdigfim Al

24

SISTEMAS DIGITAIS

SIST. RTL – MULTIPLICADORALGORITMOS DE MULTIPLICAÇÃO DE 2 VETORES COM 4 BITS

x0 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)

Page 273: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADOR

MULTIPLIERM1

M2P

START CLK

DONE

MULDATA

MULCTRL

SUBSIST. DADOS

SUBSIST. CONTROLE

Page 274: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADOR

GRAFO DE EXECUÇÃO PARA O ALGORITMO ESCOLHIDO

START0

1

ENTRADA X E Y Z =0 I =0

Z = (Z + (X*2N)YI)/2 I = I +1

I?

N=

N

ESTADO DE ESPERA (WAITING)

ESTADO DE ESTABELECIMENTO (SETUP)

ESTADO

ATIVO (ACTIVE)

Page 275: Aula Sistdigfim Al

MULTIPLIER

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO

ESPECIFICAÇÃO: DESCRIÇÃO EM VHDL(COMPORTAMENTAL)

MULTIPLIERM1

M2

START

CLK

DONE

BIBLIOTECA e PACOTES

ENTIDADE

ARQUITETURA

PROCESSO

PuVHDL(descriçãocomportamental)

Page 276: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO

-- BIBLIOTECA

-- ---------------------

01 LIBRARY ieee; -- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO SÃO 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 OPERAÇÕES ARITMETICAS

Page 277: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO

-- 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;

Page 278: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO-- 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;

Page 279: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO-- 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 2n

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 (clk´EVENT 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 SÃO UTILIZADASPARA QUE A ATUALIZAÇÃOSEJA IMEDIATA E ESTEJA DISPONIVEL PARA A PROXIMA LINHA DE CODIGO

Page 280: Aula Sistdigfim Al

SISTEMAS DIGITAIS

MULTIPLICADOR ESPECIFICAÇÃO-- 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; -- & : CONCATENAÇÃO

33 ELSE add_out := (´0´& zout) + (´0´ & x & scale); -- & : CONCATENAÇÃO

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;

Page 281: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SIST. RTL :MULTIPLICADOR SUB. SISTEMA DE DADOS

MULTIPLIERM1

M2P

START CLK

DONE

MULCTRL

MULDATA

Page 282: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL MULTIPLICADORSUBSIST. DE DADOS uVHDLCOMPORTAMENTAL

-- BIBLIOTECA

-- ---------------------01 LIBRARY ieee; -- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO

SÃO 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 OPERAÇÕES ARITMETICAS

Page 283: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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 SÃO 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;

Page 284: Aula Sistdigfim Al

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;

Page 285: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SIST. RTL- MULTIPLICSUBSIST. 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 (clk´EVENT 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;

Page 286: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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_inldX

ldY

shY ldZ

clrZ

x_in y_in

SUDSIST.DE CONTROLE

Page 287: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. DADOS – PROJETO

VAND

REG X

REG Y

VAND

REG X

REG Y

Page 288: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SIST. RTL :MULTIPLICADOR SUB. SISTEMA DE CONTROLE

MULTIPLIERM1

M2P

START CLK

DONE

MULCTRL

MULDATA

Page 289: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL MULTIPLICADOR SUBSIST. DE CONTR uVHDL COMPORTAMENTAL

-- BIBLIOTECA

-- ---------------------

01 LIBRARY ieee; -- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO SÃO 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 OPERAÇÕES ARITMETICAS

Page 290: Aula Sistdigfim Al

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;

Page 291: Aula Sistdigfim Al

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_FUNÇÃO_DE_TRANSIÇÂO -- PROCESSO ESTÁ NO PROX. SLIDE E DEVE SER INSERIDO AQUI

PROCESSO_FUNÇÃO_ DE_SAIDA -- PROCESSO ESTÁ NO PROX. SLIDE E DEVE SER INSERIDO AQUI

41 END behavioral;

Page 292: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUB.SIST. CONTROLE – COMPORTAM.

-- PROCESSO_FUNÇÃO_DE_TRANSIÇÃO

15 PROCESS (clk)

16 BEGIN

17 IF (clk´EVENT 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;

Page 293: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADOR SUBSIST. DE CONTR UVHDL COMPORTAMENTAL

-- PROCESSO_FUNÇÃO_DE _SAIDA30 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;

Page 294: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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

idlesetup

active

done

ldX

ldY

clrZ

shY

ldZ

idle0active1

didle

idle1

qsetup active0

qactivedactive

tc

count_out

Page 295: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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

Page 296: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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

SÃO 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 OPERAÇÕES ARITMETICAS

Page 297: Aula Sistdigfim Al

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;

Page 298: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. CONTROLE - ESTRUTURAL

COMPONENTES BASICOSCOMPONENTE: 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

Page 299: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORSUBSIST. 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

SÃO 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 OPERAÇÕES ARITMETICAS

Page 300: Aula Sistdigfim Al

SISTEMA RTL – MULTIPLICADOR uVHdL ESTRUTURAL

SISTEMAS DIGITAIS

DESCRIÇÃO 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;

Page 301: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – MULTIPLICADORESTRUTURAL

DESCRIÇÃO ESTRUTURAL µVHDL DO MULTIPLICADOR

MULCTRL_STR MULDATA_ STR

ldX

ldY

ldZ

clrZ

shY

strt

x_in y_in

zout

done

clkclk

inicCOMPONENTECOMPONENTE

PORT (ldX, ldY , ldZ,done,shY,clrZ, strt, clk,inic) PORT (ldX, ldY,ldZ,clk,shY,clrZ,x_in,y_in, zout)

Page 302: Aula Sistdigfim Al

SISTEMAS DIGITAIS

-- ENTIDADE05 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 SÃO 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 OPERAÇÕES ARITMETICAS

04 USE WORK.ALL

SISTEMA RTL – MULTIPLICADOR UVHDL ESTRUTURAL

-- ENTIDADE05 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;

Page 303: Aula Sistdigfim Al

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

Page 304: Aula Sistdigfim Al

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

CONDIÇÕES

SISTEMA RTL - GENERICO

Page 305: Aula Sistdigfim Al

SISTEMAS DIGITAIS

GRAFO DE EXECUÇÃO

A < WNÃO

ENTRADA X E Y

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

SISTEMA RTL – INC/DEC

Page 306: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DECPROJETO DO SUBSISTEMA DE DADOS

PROJETO DO SUBSISTEMA DE DADOS

REG_XCLK

X_IN

REG_YCLK

Y_IN

A < WNÃO

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

ENTRADA X E Y

SUBSIST CONTROLE

LDX LDY

Page 307: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC PROJETO DO SUBSISTEMA DE DADOS

PROJETO DO SUBSISTEMA DE DADOS

REG_X ACLK

LDX

X_IN

REG_Y WCLK

LDY

Y_IN

| |

0 1SELY

A < WNÃO

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

ENTRADA X E Y

Page 308: Aula Sistdigfim Al

A < W -> K= 1

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC PROJETO DO SUBSISTEMA DE DADOS

PROJETO DO SUBSISTEMA DE DADOS

REG_X ACLK

LDX

X_IN

REG_Y WCLK

LDY

Y_IN

| |

0 1SELY

E1 E2 COMP E1<E2

K

A < WNÃO

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

ENTRADA X E Y

SUBSISTCONTR.

Page 309: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC PROJETO DO SUBSISTEMA DE DADOS

PROJETO DO SUBSISTEMA DE DADOS

REG_X ACLKLDX REG_Y WCLK

LDY

Y_IN

| |

0 2 1SELY0 SELY1

E1 E2 COMP E1<E2

K

DEC

INC

1 0SELX

X_IN

A < WNÃO

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

ENTRADA X E Y

Page 310: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DO SUBSISTEMA DE DADOS

REG_X ACLKLDX REG_Y WCLK

LDY

Y_IN

| |

0 2 1SELY0 SELY1

E1 E2 COMP E1<E2

K

DEC

INC

1 0SELX

X_IN

LEFT2

Z

SISTEMA RTL – INC/DEC PROJETO DO SUBSISTEMA DE DADOS

MUX1_0UT

XREG_0UT

INC_0UTLFT_0UT

MUX2_0UT

YREG_0UT

ABS_0UTDEC_0UT

A < WNÃO

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

ENTRADA X E Y

Page 311: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL

SUB. SIST. CONTROLE

SUB. SIST. DADOS

X_IN

Z

ENTRADA DE CONTROLE

(EX. strt)

SAIDA DE CONTROLE

(EX. done)

COMANDOS

CONDIÇÕES

Y_IN

LDXLDYSELXSELY0SELY1

K

SISTEMA RTL – INC/DEC

Page 312: Aula Sistdigfim Al

SISTEMAS DIGITAIS

GRAFO DE EXECUÇÃO PARA CONTROLE

A < WNÃO

ENTRADA X E Y

A = X W = |Y|

A = A +1 W = W -1

Z = 4A

SAIDA Z

SIM

WAITING

START =1START =0

SETUP

ABS

CHK_INTK=0

K=1

ITERATIVE

MULTIPLY

SISTEMA RTL - INC/DEC

Page 313: Aula Sistdigfim Al

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 setu

p

chk_iter

waiting0

dwaiting

waiting1

qsetup

qchk_iter

dchk_iter

k

qwaiting

D Q

CLK

absqabs

D Q

CLK

iterate

D Q

CLK

multiply

qiteratechk_iter1

qmultiply

qiterateqsetup

qabsLDX

LDY

SELXSELY1SELY0

dmultiply

sou

DONE

SELX =1: ITERATELDX =1: ITERATE OU SETUPLDY =1: ITERATE OU SETUP OU ABSSELY0 =1: ABSSELY1 =1: ITERATE

PROJETO DO SUBSISTEMA DE CONTROLE (usando 1FF por estado)

Page 314: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DECDESCRIÇÃO 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;

Page 315: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO 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_FUNÇÃO_DE_TRANSIÇÂO -- PROCESSO ESTÁ NO PROX. SLIDE E DEVE SER INSERIDO AQUI

PROCESSO_FUNÇÃO_ DE_SAIDA -- PROCESSO ESTÁ NO PROX. SLIDE E DEVE SER INSERIDO AQUI

45 END behavioral;

Page 316: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO COMPORTAMENTAL DO SUBSIST.DE CONTROLE

-- PROCESSO_FUNÇÃO_DE_TRANSIÇÃO

14 PROCESS (clk)

15 BEGIN

16 IF (clk´EVENT 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;

Page 317: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO COMPORTAMENTAL DO SUBSIST.DE CONTROLE-- PROCESSO_FUNÇÃO_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;

Page 318: Aula Sistdigfim Al

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

Page 319: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO 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() : FUNÇÃO 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;

Page 320: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO 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)

Page 321: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO ESTRUTURAL DO SUBSIST.DE DADOS

-- ARCHITECTURE11 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;

INICICIALIZAÇÃODESNECESSARIA PQ NÃO SERÁ USADA ESTA ENTRADA NO MUX

Page 322: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO 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)

Page 323: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO ESTRUTURAL DO SUBSIST.DE CONTROLE

ARCHITECTURE11 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;

Page 324: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL – INC/DEC DESCRIÇÃO ESTRUTURAL -- BIBLIOTECA

01 LIBRARY ieee; -- BIBLIOTECA DECLARADA PORQUE OS PACOTES ABAIXO SÃO 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 OPERAÇÕES 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;

Page 325: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SISTEMA RTL INC/DEC DESCRIÇÃO 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;

Page 326: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 26

1. CONSIDERE A DESCRIÇÃO 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, APÓS A EXECUÇÃO.

B. PROJETE O SUBSISTEMA DE DADOS QUE SEJA ADEQUADO PARA EXECUTAR A SEQUENCIA RTL.

C. FORNEÇA 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 (CLK´EVENT 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;

Page 327: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 26 – CONTINUAÇÃO

2. O QUE FAZ O SISTEMA DA FIGURA AO LADO?

3. MOSTRE A IMPLEMENTAÇÃO DA SEGUINTE INSTRUÇÃO EM µVHDL

IF (A >B) THEN A <= B ; B <= A;

ELSE A <= C;

END IF;

REG_ACLK

LDA

SOMADORCIN =0

COUT

REG_BCLK

LDBCLRB

REG_CCLK

LDCOR

COUT

S2

A7

S1

LDC

CLRB

LDK

E

8

CONTADOR MOD 4

00

E

LDK CLK

DECODIFICOR

LDA S1 S2 LDB

0 1 2 3

Page 328: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

PROJETAR UM SISTEMA RTL PARA COMPUTAR:

(A2 +B2)USANDO A APROXIMAÇÃO... 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

Page 329: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

GRAFO DE EXECUÇÃO

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

Page 330: Aula Sistdigfim Al

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|

S0A = IN1 B= IN2

X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7

S1

T5 = X – T3

OUT = T7

Page 331: Aula Sistdigfim Al

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|

S0A = IN1 B= IN2

X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7

S1

T5 = X – T3

OUT = T7

Page 332: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

PROJETO DO SUBSISTEMA DE DADOS

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R1 A R2 B

IN1 IN2

Page 333: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

PROJETO DO SUBSISTEMA DE DADOS

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2

IN1 IN2

R1 A,T1

| | | |

Page 334: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y

IN1 IN2

R1 A,T1,X

| | | |

MINMAX

Page 335: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3

IN1 IN2

R1 A,T1,X

| | | |

MINMAX

>>3>>1

R3 T4

Page 336: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5

IN1 IN2

R1 A,T1,X

| | | |

MINMAX

>>3>>1

R3 T4

-

Page 337: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5,T6

IN1 IN2

R1 A,T1,X

| | | |

MINMAX

>>3>>1

R3 T4

- +

Page 338: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5,T6

IN1 IN2

R1 A,T1,X,T7

| | | |

MINMAX

>>3>>1

R3 T4

- +

Page 339: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5,T6

IN1 IN2

R1 A,T1,X,T7

| | | |

MINMAX

>>3>>1

R3 T4

- +

Page 340: Aula Sistdigfim Al

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|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

Page 341: Aula Sistdigfim Al

COMPARTILHAMENTO EM SISTEMA RTL

>>3 E >>1NÃO FORAM COLOCADOSPOR QUE NÃO NECESSITAMDE 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|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7 OP1: | | , MAX ,

OP2: | | , MIN , - , +

OP: | | , MAX, MIN , - , +

O1 O2

OR

SEL_OP

Page 342: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

PROJETO DO OPERADOR0 O1

S_O1/0 0 1

O2

S_O2/#

+ CIN

O1

S_O1/+0 1

O2

0 1OR

CFIM

XOR

CINV

BIT DE SINAL

S_O1/011011

S_O2/#01111

CFIM00111

S_O1/+00011

CINVXX001

+-| |MAXMIN

0 1

Page 343: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = 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

Page 344: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = 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 CONEXÕES

>>3

A

C

B

D

EF

GHI

CONEXÕESNOMEADAS

Page 345: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONEXÃO 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 CONEXÕES

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

Page 346: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CONEXÃO 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 CONEXÕES

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

Page 347: Aula Sistdigfim Al

SISTEMAS DIGITAIS

BUS S0 S1 S2 S3 S4 S5 S6 S7

BUS1

BUS2

BUS3

BUS4

COMPARTILHAMENTO EM SISTEMA RTL

AGRUPAMENTO CONEXÕES

CRITERIO DE AGRUPAMENTO

AS CONEXÕES QUE PODEM SER AGRUPADAS SÃO AQUELAS QUE TENHAM DESTINO COMUM E NÃO SEJAM INCOMPATIVEIS

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

Page 348: Aula Sistdigfim Al

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 CONEXÕES

CRITERIO DE AGRUPAMENTO

AS CONEXÕES AGRUPADAS SÃO AS DE DESTINO COMUM E COMPATIVEIS

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

BUS LIVRE

MESMODESTINO

Page 349: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = 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 CONEXÕES

C D

E F

G

>>3

>>1A

IH

B

BUS2

BUS1

BUS3

BUS4

Page 350: Aula Sistdigfim Al

SISTEMAS DIGITAIS

REG S0 S1 S2 S3 S4 S5 S6 S7

R1

R2

R3

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5,T6R1 A,T1,X,T7 R3 T4

CRITERIO DE AGRUPAMENTO

OS REGISTRADORES QUE NÃO PODEM SER AGRUPADOS SÃO AQUELES ACESSADOS PARA LEITURA AO MESMO TEMPO OU PARA ESCRITA AO MESMO TEMPO.

CRITERIO DE AGRUPAMENTO

OS REGISTRADORES QUE NÃO PODEM SER AGRUPADOS SÃO AQUELES ACESSADOS PARA LEITURA AO MESMO TEMPO OU PARA ESCRITA AO MESMO TEMPO.

SUBSIST. DE DADOS COM AGRUPAMENTO DE REGISTRADORES

Page 351: Aula Sistdigfim Al

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|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = T7

R2 B,T2,Y,T3,T5,T6R1 A,T1,X,T7 R3 T4

CRITERIO DE AGRUPAMENTO

OS REGISTRADORES QUE NÃO PODEM SER AGRUPADOS SÃO 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

EL LEITURA ESCRITA

Page 352: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPARTILHAMENTO EM SISTEMA RTL

T1 =|A| T2 = |B|

S0A = IN1 B= IN2

S1X = MAX(T1,T2)

Y = MIN(T1,T2)

S2

T3 = X >>3

T4 =Y >> 1S3

T5 = X – T3 S4

T6 = T4 + T5 S5

T7 = MAX(T6,X)

S6

S7OUT = 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

BUS4R3 T4

ARQUIVO DE REGISTRADORES

Page 353: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

SUBSIST. DE DADOSMODULOS DE ARMAZENAMENTOMODULOS FUNCIONAISCAMINHO DE DADOSPONTOS DE CONTROLEPONTOS DE CONDIÇÃO

MATRIZ DE REG´s R

WRITE

WRITE_ADDR

READ_ADDR-L

READ_ADDR-R

MUX_L MUX_RCMUX_L

000...00

CMUX_R

CMPL_LCMPL_L

CMPL_RCMP_R

ALUOP_CODE

CINSINAL

Z

COUT

DESLOCADORSH_LEFTSH_RIGHT

R_DATA

DATA_IN

LD_DATA

CLK

R_ADDR

LD_ADDRCLK

S

C

Z

CLKLD_COND

REGCONDIÇÃO

Page 354: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

MODULOS DE ARMAZENAMENTOMODULO BASICO: REGISTRADORES

ORGANIZAÇÃO:REGISTRADORES INDIVIDUAISMATRIZES DE REGISTRADORESCOMBINAÇÃO

CONEXÕES E CONTROLES SEPARADOS

ARMAZENAMENTO DE DADOS E CONDIÇÕES

CONEXÕES E CONTROLES COMPARTILHADOS

Page 355: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

MATRIZES DE REGISTRADORESTIPOS MAIS COMUNS:

ARQUIVO DE REGISTRADORESMEMORIA DE ACESSO ALEATORIO (RAM)

ARQUIVO DE REGISTRADORES (REGISTER FILE -RF)

ARQUIVO DE REGISTRADORES

XN

WARAL

CLK

WRRAR

ZL ZR

K

K

K

N N

RANDOM ACCESS MEMORY

Page 356: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL DESCRIÇÃO µVHDL DO ARQUIVO DE REGISTRADORES

-- BIBLIOTECA01 LIBRARY ieee;

02 USE ieee.std_logic_1644.all;

03 USE ieee.std_logic_arith.all;

-- ENTIDADE04 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 ; -- N0 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;

Page 357: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

-- ARCHITECTURE14 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) – função de transição de estado

20 BEGIN

21 IF (clk´EVENT AND clk =´1´) AND (Wr = ´1´) THEN RF(CONV_INTEGER(WA)) <= X;

22 END IF;

23 END PROCESS;

24 PROCESS (Ral,Rar,RF) – função 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;

Page 358: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 27

PROJETAR UM ARQUIVO DE REGISTRADORES (8 x 8) USANDO:

LD

OE REGCLK

8

8

E DECOD

OE 3-STATE

8

8

8

3

Page 359: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

MEMORIA RAM

RAM

XN

A

CLK

Z

K

N

RD

WR

Page 360: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL DESCRIÇÃO µVHDL DA MEMORIA RAM

-- BIBLIOTECA01 LIBRARY ieee;

02 USE ieee.std_logic_1644.all;

03 USE ieee.std_logic_arith.all;

-- ENTIDADE04 ENTITY ram IS

05 GENERIC (n:NATURAL :=16; -- TAMANHO DA PALAVRA

06 p: NATURAL := 256; -- TAMANHO DA RAM

07 k: NATURAL :=8 ; -- N0 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;

Page 361: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

-- ARCHITECTURE14 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) – função de transição de estado

20 BEGIN

21 IF (clk´EVENT AND clk =´1´) AND (Wr = ´1´) THEN RF(CONV_INTEGER(WA)) <= X;

22 END IF;

23 END PROCESS;

24 PROCESS (Rd,Memory) – função 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;

Page 362: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 28

PROJETAR UMA RAM (8 x 8) USANDO :

LD

OE REGCLK

8

8

E DECOD

8

3

Page 363: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

OUTROS MODULOS DE ARMAZENAMENTOMODULOS DE ARMAZENAMENTO SEQUENCIAL

FIFO LIFO

FIFO:

FIFO

XN

Z

N

RDWRCLK

EMPTYFULL

DATA_OUT

DATA_IN

Page 364: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL DESCRIÇÃO µVHDL DA MEMORIA FIFO

-- BIBLIOTECA01 LIBRARY ieee;

02 USE ieee.std_logic_1644.all;

03 USE ieee.std_logic_arith.all;

-- ENTIDADE04 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;

-- ENTIDADE04 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;

Page 365: Aula Sistdigfim Al

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) – função de trans. de estado

20 BEGIN

21 IF (clk´EVENT 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 (clk´EVENT 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;

Page 366: Aula Sistdigfim Al

SISTEMAS DIGITAIS

EXERCICIO 29

BASEADO NA ESPECIFICAÇÃO µ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

Page 367: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

MODULOS FUNCIONAIS (OPERADORES)REALIZAM TRANSFORMAÇÕES EM VETORES DE BIT

DESCRIÇÃO µVHDL COMPORTAMENTAL DO MODULO FUNCIONAL

CASE OP_SEL ISWHEN F1 => Z_OUT <= X_IN OP1 Y_IN AFTER DELAYWHEN F2 => Z_OUT <= X_IN OP2 Y_IN AFTER DELAY

................ END CASE;

OPERADOR F

X_IN

Z_OUT

OP_SEL

Y_IN

Page 368: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

CAMINHO DE DADOS:FORNECEM AS CONEXÕES ENTRE COMPONENTES

CONSISTE EM: CONEXÕES DIRETAS (FIOS, LINHAS, LINKS)

CHAVES (PARA ATIVAR AS CONEXÕES)

CLASSIFICAÇÃO:LARGURA: NO 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 MULTIPXEXADORESDESTINO: DIRETO X INDIRETO

Page 369: Aula Sistdigfim Al

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 CMODULO A

CHAVE CHAVE CHAVE

COMPARTILHADO

Page 370: Aula Sistdigfim Al

SISTEMAS DIGITAIS

COMPONENTES DE UM SISTEMA RTL

ESTRUTURAS DE CAMINHO DE DADOS EXTREMASINTERCONEXÃO COMPLETA – CROSSBARINTERCONEXÃO DE BARRAMENTO SIMPLES

MODULO B MODULO CMODULO A

CHAVE CHAVE CHAVEBARRAMENTO SIMPLES

MODULO B MODULO CMODULO A

CHAVE A

CHAVE B

CHAVE C

COMPLETA

SEL_ASEL_B SEL_C

Page 371: Aula Sistdigfim Al

QUALQUER ALTERAÇÃO IMPLICA EMMUDANÇA DO HARDWARE

CARACTERISTICAS DA ESTRUTURA DE UM CONTROLADOR CONVENCIONAL

NÃO MODULARIRREGULARFIXA

ALTERNATIVA:

CONTROLADOR MICROPROGRAMADO

SISTEMAS DIGITAIS

SIST. RTL : CONTROLE MICROPROGRAMADO

Page 372: Aula Sistdigfim Al

SISTEMAS DIGITAIS

SIST. RTL : CONTROLE MICROPROGRAMADO

IMPLEMENTAÇÃO DO CONTROLADOR MICROPROGRAMADO

ESTADOS

FUNÇAO DE TRANSIÇÃO DE ESTADO

FUNÇÃO DE SAIDA

MEMORIA

ESTADO J

ESTADO J + 1

ESTADO J - 1

MEMORIA

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

MEMORIA

ESTADO J

ESTADO J + 1

ESTADO J - 1

DADO

Page 373: Aula Sistdigfim Al

SIST. RTL: CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO

MEMORIA DE CONTROLE

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

DADO

COMANDOS PARA O SUBSISTEMA DE DADOS

SELECIONA UM ESTADO

Page 374: Aula Sistdigfim Al

SIST. RTL

SISTEMAS DIGITAIS

ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO

MEMORIA DE CONTROLE

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

DADO

REGEND

CLK

COMANDOS PARA O SUBSISTEMA DE DADOS

Page 375: Aula Sistdigfim Al

SIST. RTL

SISTEMAS DIGITAIS

ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO

MEMORIA DE CONTROLE

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

DADO

REGEND.

CLK

COMANDOS P/ O SUBSISTEMA DE DADOS

GERADOR DEENDEREÇO

Page 376: Aula Sistdigfim Al

SIST. RTL CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO

MEMORIA DE CONTROLE

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

REGEND

CLK

COMANDOS P/ O SUBSISTEMA DE DADOS

GERADOR DEENDEREÇO

CONDIÇÕES GERADAS PELO SUBSISTEMA DE DADOS

DADO

Page 377: Aula Sistdigfim Al

SIST. RTL: CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

CARACTERISTICA DA ESTRUTURA DE UM CONTROLADOR MICROPROGRAMADO

MODULARREGULAR

PROGRAMAVEL

VANTAGENS DA ESTRUTURA MICROPROGRAMADA COM RELAÇÃO A ESTRUTURA CONVENCIONAL

PROGRAMAVELMAIS SIMPLES DE VERIFICAR E SIMULAR

DESVANTAGENS DA ESTRUTURA MICROPROGRAMADA COM RELAÇÃO A ESTRUTURA CONVENCIONAL

IMPLEMENTAÇÃO MAIS LENTA: POR CAUSA DA ESTRUTURA REGULAR ( NÃO OTIMIZADA) E POR USAR MEMORIA

INDEPENDE DE UMA COMPUTAÇÃO PARTICULAR

Page 378: Aula Sistdigfim Al

MEMORIA DE CONTROLE

SISTEMAS DIGITAIS

MICROPROGRAMA E MICROINSTRUÇÃO

ESTADO J

ESTADO J + 1

ESTADO J - 1

SIST. RTL:

MICROINSTRUÇÃO

MICROPROGRAMA(FORMADO POR UMA SEQUENCIA DE MICROINSTRUÇÕES) , CUJO OBJETIVO É IMPLEMENTAR AS FUNÇÕES DE TRANSIÇÃO DE ESTADO E DE SAIDA)

Page 379: Aula Sistdigfim Al

SIST. RTL CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃO (CAMPO DE SEQUENCIAMENTO – CAMPO DE CONTROLE)

MEMORIA DE CONTROLE

ESTADO J

ESTADO J + 1

ESTADO J - 1ENDEREÇO

REGEND

CLK

COMANDOS P/ O SUBSISTEMA DE DADOS

GERADOR DEENDEREÇO

CONDIÇÕES GERADAS PELO SUBSISTEMA DE DADOS

DADO

CAMPO DE CONTROLE

CAMPO DE SEQUENCIAMENTO

Page 380: Aula Sistdigfim Al

SIST. RTL CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃOCAMPO DE CONTROLE CAMPO DE SEQUENCIAMENTO

HORIZONTAL VERTICAL

MEM. CONTROLE

SIN

AL A

SIN

AL B

SIN

ALC

SIN

AL D

SIN

AL E

SIN

AL F

SIN

AL G

SIN

AL H

S.SIST DE DADOS

MEM. CONTROLE

DECODIFICADORS

INA

L A

SIN

AL B

SIN

ALC

SIN

AL D

SIN

AL E

SIN

AL F

SIN

AL G

SIN

AL H

S.SIST DE DADOS

MAIS DE UM SINAL ATIVADOSIMULTANEAMENTE

SOMENTE UM SINAL ATIVADO POR VEZ

FORMATO DO CAMPO DE CONTROLE

Page 381: Aula Sistdigfim Al

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃO VERTICAL

MEM. CONTROLE

DEC.

S.SIST DE DADOS

DEC. DEC.....

SUBCAMPO DE CONEXÃO

1 SINAL ATIVO POR VEZ

OBS: PARA MELHOR APROVEITAMENTO DO SUBCAMPO VERTICAL, DEVEMOS AGRUPAR EM SUBCAMPOS, SINAIS QUE NÃO SÃO NECESSARIOS AO MESMO TEMPO, OU SINAIS EM QUE O SUBSISTEMA DE DADOS NÃO PERMITA O USO SIMULTANEO DELES.

SIST. RTL CONTROLE MICROPROGRAMADO

Page 382: Aula Sistdigfim Al

SIST. RTL CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃOSEQUENCIAMENTO EXPLICITO

CAMPO DE CONTROLE CAMPO DE SEQUENCIAMENTO

SEQUENCIAMENTO IMPLICITO

CAMPO DE CONTROLE

CAMPO DE SEQUENCIAMENTO

BITSEL

O: CONTROLE1: SEQUENCIAMENTO

Page 383: Aula Sistdigfim Al

EXERCICIO 30

SISTEMAS DIGITAIS

PARA O SUBSISTEMA DE DADOS ABAIXO, DÊ O FORMATO DA MICROINSTRUÇÃO COM O CAMPO DE CONEXÃO HORIZONTAL E COM O CAMPO DE CONEXÃO VERTICAL.FORNEÇA A MICROINSTRUÇÃO, NOS DOIS FORMATOS, PARA CONTROLAR A SEGUINTE TRANSFERENCIA ENTRE REGISTRADORES: R1 <- R2 XOR R6 OPXOR : 110

LD

CLK R1LD

CLK R2LD

CLK R7 ALU

C_2C_1

C_3

C_5C_4 C_20C_19

C_6 C_21

3

OP

CLK

Page 384: Aula Sistdigfim Al

SIST. RTL CONTROLE MICROPROGRAMADO

SISTEMAS DIGITAIS

TEMPO DE BUSCA E EXECUÇÃO DE MICROINSTRUÇÃO

CICLO DE BUSCA E EXECUÇÃO DE MICROINSTRUÇÃO CONSISTE EM:CARREGAR O PROXIMO END. BUSCAR A MICROINSTR.NA MEM.DECODIFICAR OS CAMPOSEXECUTAR AS OPER. NO S.SIST.DADOSCALCULAR O PROXIMO END.

t

CLK

PERIODO DO CLK

Page 385: Aula Sistdigfim Al

EXERCICIO 31

SISTEMAS DIGITAIS

PEDE-SE O MICROPROGRAMA PARA REALIZAR AS SEGUINTES TRANSFERENCIAS EM SEQUENCIA:

R1 <- R2 XOR R6R2 <- R4 + R5R1 <- R1 AND R3

SABENDO QUE: O SEQUENCIAMENTO É EXPLICITO E VERTICAL OPSOMA: 101 OPAND: 011

OPXOR: 110

Page 386: Aula Sistdigfim Al

EXERCICIO 32

SISTEMAS DIGITAIS

UM SISTEMA DIGITAL TEM O SUBSISTEMA DE DADOS MOSTRADO NA FIGURA ABAIXO.A. OBTENHA O GRAFO DE EXECUÇÃO SEQUENCIAL PARA CARREGAR EM R0 O MAIOR

VALOR ARMAZENADO NOS REGISTRADORES R0,R1, R2 E R3, SABENDO QUE ESTES VALORES SÃO 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 MICROINSTRUÇÃO TEM FORMATO IMPLICITO E HORIZONTAL.OBS: PULO CONDICIONAL

CONDIÇÃO FALSA: NOVO END. <- END. ATUAL + 1 CONDIÇÃO VERDADEIRA: NOVO END. FORNECIDO PELA

MICROINSTRUÇÃO

L0 R0 E0 CLK

L1 R1 E1 CLK

L2 R2 E2 CLK

L3 R3 E3 CLK

L4 R4 CLK

0 SEL

MUX 1

QS DCLK

QZ DCLK

CLK

CLK

I

ES

EZ

OPERAÇÕES (OPC)ADD :000SUB :001INCUP :010XOR :011AND :100

OPC

UP

SINAL OPERAÇÃO

ZERO

DOWN

Page 387: Aula Sistdigfim Al

EXERCICIO 32- APARA O ALGORITMO BUBLESORT,ABAIXO ESPECIFICADO, QUE CLASSIFICA 256 NUMEROS INTEIROS SEM SINAL ARMAZENADOS NOS ENDEREÇOS O A 255 DE UMA RAM.

ESPECIFICAÇÃO 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Á ESTÃO ARMAZENADOS NA RAM.

- USE REGISTRADORES COM LD E OE, TRI-STATES,UM UNICO OPERADOR COM VARIAS FUNÇÕES, QUE DEVEM SER EXPLICITADAS E PORTAS LOGICAS.

- A UTILIZAÇÃO DE MUX´s ESTÁ PROIBIDA.

Page 388: Aula Sistdigfim Al

EXERCICIO 32-A

PEDE-SE:

1. O GRAFO DE EXECUÇÃO E O PROJETO DO SUBSISTENA DE DADOS.

2. O GRAFO DE EXECUÇÃO E O PROJETO DO SUBSISTEMA DE CONTROLE, COM FORMATO HORIZONTAL E SEQUENCIAMENTO EXPLICITO.

3.  O FORMATO DA MICROINSTRUÇÃO.

4. O MICROPROGRAMA BUBLESORT.

 

Page 389: Aula Sistdigfim Al

CPU – UNIDADE CENTRAL DE PROCESSAMENTO

SISTEMAS DIGITAIS

GRAFO DE EXECUÇÃO

SISTEMA RTL

GRAFO DE EXECUÇÃO

SISTEMA RTL

GRAFO DE EXECUÇÃO

SISTEMA RTL

SISTEMA RTL CPU

GRAFO DE EXECUÇÃO

GRAFO DE EXECUÇÃO

GRAFO DE EXECUÇÃO

COM

ANDO

COMANDOCOMANDO

NUMERO BINARIO

Page 390: Aula Sistdigfim Al

CPU – UNIDADE CENTRAL DE PROCESSAMENTO

SISTEMAS DIGITAIS

COMANDO

COMANDO

COMANDO

UM COMANDO PARA DISPARAR A EXECUÇÃO DE UM GRAFO DE EXECUÇÃO É CHAMADO DE

INSTRUÇÃO

COMANDO

COMANDO

COMANDO

UMA SEQUENCIA DE INSTRUÇÕES FORMA UM

PROGRAMA

COMANDO

COMANDO

COMANDO

PROGR1 PROGR2

Page 391: Aula Sistdigfim Al

CPU

MEMORIA

E/S

SISTEMAS DIGITAIS

COMPUTADOR

PROGR1PROGR2

PROGRNINSTR.E DADOS

Page 392: Aula Sistdigfim Al

CPU

MEMORIA

E/S

SISTEMAS DIGITAIS

COMPUTADOR

PROGR1PROGR2

PROGRN

INSTR.E DADOS

SIST. RTL

REGISTRADOR DE INSTRUÇÃO (IR)

APONTADOR DE INSTRUÇÃO (IP)(PC)

IP : ENDEREÇA INSTRUÇÃO

IR : ARMAZENA INSTRUÇÃO

Page 393: Aula Sistdigfim Al

SISTEMAS DIGITAIS

CPU

CPU

SUBSIST. CONTROLE SUBSIST. DADOS

IP IR ARQUIVO DE REG´S

FLAG´s

OPERADORES ARITMETICOS

BUSCA DE INSTR. NA MEM.

EXECUÇÃO DA INSTRUÇÃO

BUSCA DE DADOS NA MEM.

CICLO DE INSTRUÇÃO

Page 394: Aula Sistdigfim Al

MEMORIA DE PROGRAMA ( ARMAZENAMENTO DE INSTRUÇÕES E DADOS)

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

INSTRUÇÃO 1

INSTRUÇÃO 2

INSTRUÇÃO 3

INSTRUÇÃO 1

INSTRUÇÃO 9

DADO 1

DADO 22

MEMORIA

PROGRAMA

ENDEREÇO DE MEMORIA

SISTEMAS DIGITAIS

Page 395: Aula Sistdigfim Al

TIPOS DE INSTRUÇÕES

SISTEMAS DIGITAIS

INSTRUÇÕES QUE DISPARAM UM GRAFO DE EXECUÇÃO

PROXIMO ENDEREÇO: END. ATUAL + 1

INSTRUÇÕES DE CONTROLE DE SEQUENCIAMENTO

PROXIMO ENDEREÇO: FORNECIDO PELA INSTRUÇÃO

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

INSTRUÇÃO 1

INSTRUÇÃO 2

INSTRUÇÃO 3

INSTRUÇÃO 1

INSTRUÇÃO 9

MEMORIA

INSTRUÇÃO 3

INSTRUÇÃO 8

INSTRUÇÃO 11

INSTRUÇÃO 4

INSTRUÇÃO 7

INSTRUÇÃO

INSTRUÇÃO

INSTRUÇÃO 14

INSTRUÇÃO 17

CONDICIONAL

INCONDICIONAL

Page 396: Aula Sistdigfim Al

INSTRUÇÕES DE CONTROLE DE SEQUENCIAMENTO(DESVIO) (PULO) ( JUMP) (BRANCH)

SISTEMAS DIGITAIS

TIPOS : CONDICIONAL: ENDEREÇO DE DESVIO DEPENDE DE FLAG CONDIÇÃO NÃO SATISFEITA : NOVO END. = END. ATUAL + 1 CONDIÇÃO SATISFEITA : NOVO END. = END. FORNECIDO PELA INSTRUÇÃO

INCONDICIONAL: :NOVO END. FORNECIDO PELA INSTRUÇÃO

DESVIO CONDICIONAL PERMITE 2 TIPOS DE ESTRUTURAS DE SEQUENCIAMENTO : SEQUENCIA DEPENDENTE DOS DADOS LAÇOS (UMA PARTE DO PROGRAMA É EXECUTADO REPETIDAMENTE)

Page 397: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

REGISTRADORES

PC 24 BITS

IR

4 BITSFLAGS

32 BITS

Z|N|C|V

ARQ. REG.

REG0

REG1

REG31

32 REGISTRADORES, CADA UM COM32 BITS

Page 398: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

TIPOS BASICOS DE INSTRUÇÕES

MOVIMENTAÇÃO DE DADOS:

ARITMETICAS - LOGICAS

DESVIO

REG REG REG MEM REG E/S

REG

REG

OPERADOR REG

FLAGS

Page 399: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

FORMATO DAS INSTRUÇÕES

31....26

25....21

20....16

15....11

10....0

RT:=OP(RA)

OPCODE RT RA

BINARIORB RT:=RA OP RB OPCODE RT RA

SIRT:=RA OP SI OPCODE RT RA

UIRT:=RA OP UI OPCODE RT RA

UNARIO

MEMDRT:= M[RA + D]

OPCODE RT RA

DM[RA + D]:=RS OPCODE RS RA

Page 400: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

FORMATO DAS INSTRUÇÕES

E/SRT:= IO[PN] OPCODE RTIO[PN]:= RS OPCODE RS

31....26

25....21

20....16

15....11

10....0

PN

PN

DESVIODPC:= PC + 4 + D

OPCODE

PC:= RA OPCODE RA

DESVIOINDIRETO

Page 401: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

INSTRUÇÕES

NO-OP

OPCODE000000

FUNÇÃO CR LING. ASSEMBLYNOMENO-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

Page 402: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

INSTRUÇÕES

OPCODE FUNÇÃO CR LING. ASSB

NOMEOR 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)

Page 403: Aula Sistdigfim Al

PROJETO DE UMA CPU – ESPECIFICAÇÃO

SISTEMAS DIGITAIS

INSTRUÇÕES

OPCODE FUNÇÃO CR LING. ASSB

NOMEBRANCH 111000 PC:=PC + 4 + D BR D

BRANCH INDIR.

111001 PC:=RA BRI RA

BRANCH IF N=0

SE N= 0 ENTÃO PC:=PC+4+D

BRP D

BRANCH IF N=1

110001 SE N= 1 ENTÃO PC:=PC+4+D

BRN D

110000

BRANCH IF Z=0

SE Z= 0 ENTÃO PC:=PC+4+D

BNZ D

BRANCH IF Z=1

110011 SE Z= 1 ENTÃO PC:=PC+4+D

BRZ D

110010

BRANCH IF C=0

SE C= 0 ENTÃO PC:=PC+4+D

BNC D

BRANCH IF C=1

110101 SE C= 1 ENTÃO PC:=PC+4+D

BRC D

110100

BRANCH IF V=0

SE V= 0 ENTÃO PC:=PC+4+D

BNV D

BRANCH IF V=1

111001 SE V= 1 ENTÃO PC:=PC+4+D

BRV D

111000

Page 404: Aula Sistdigfim Al

SISTEMAS DIGITAIS

NOT RA

INVESOR BIT A BIT

RT

INSTRUÇÃO NOT

Page 405: Aula Sistdigfim Al

SISTEMAS DIGITAIS

LEFT SHIFT RA

RT

0.....

INSTRUÇÃO LEFT SHIFT

Page 406: Aula Sistdigfim Al

SISTEMAS DIGITAIS

LEFT ROTATE RA

RT

.....

INSTRUÇÃO LEFT ROTATE

Page 407: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ADD RA

SOMADOR

RT

RB

INSTRUÇÃO ADD

Page 408: Aula Sistdigfim Al

SISTEMAS DIGITAIS

ADI RA

SOMADOR

RT

NUMERO (COMPL2)

INSTRUÇÃO ADI

Page 409: Aula Sistdigfim Al

MEMORIA

SISTEMAS DIGITAIS

LOAD BYTE

RT 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

RA

D

SOMADOR

SOMENTE O BYTEENDEREÇADOINSTRUÇÃO LOAD BYTE

Page 410: Aula Sistdigfim Al

MEMORIA

SISTEMAS DIGITAIS

LOAD WORD

RT 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

RA

D

SOMADOR

INSTRUÇÃO LOAD WORD

Page 411: Aula Sistdigfim Al

MEMORIA

SISTEMAS DIGITAIS

STORE BYTE

RS 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

RA

D

SOMADOR

SOMENTE O BYTEENDEREÇADOINSTRUÇÃO STORE BYTE

Page 412: Aula Sistdigfim Al

MEMORIA

SISTEMAS DIGITAIS

STORE WORD

RS 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

RA

D

SOMADOR

INSTRUÇÃO STORE WORD

Page 413: Aula Sistdigfim Al

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 BYTEENDEREÇADOINSTRUÇÃO IORD BYTE

Page 414: Aula Sistdigfim Al

IO N

SISTEMAS DIGITAIS

IORD WORD

RT 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

N

INSTRUÇÃO IORD WORD

Page 415: Aula Sistdigfim Al

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 BYTEENDEREÇADOINSTRUÇÃO IOWR BYTE

Page 416: Aula Sistdigfim Al

IO N

SISTEMAS DIGITAIS

IOWR WORD

RS 31..24 23..16 15....8

7......0

31..24 23..16 15....8

7......0

N

INSTRUÇÃO IORW WORD

Page 417: Aula Sistdigfim Al

SISTEMAS DIGITAIS

BRP D

INSTRUÇÃO BRP

FN FO FC FZ

+ ?SIM

NÃO

PC + 4 + D

PC + 4

Page 418: Aula Sistdigfim Al

EXERCICIO 33

SISTEMAS DIGITAIS

1. FAÇA UM PROGRAMA QUE ARMAZENE O NUMERO 5H NA POSIÇÃO DE MEMORIA CUJO ENDEREÇO É 0300H.

2. FAÇA UM PROGRAMA QUE REALIZE UMA OPERAÇÃO DE AND COM OS NUMEROS ARMAZENADOS NOS ENDEREÇOS 0400H E 0401H E ARMAZENE O RESULTADO EM 0402H.

3. FAÇA UM PROGRAMA QUE GRAVE 00H EM 32 ENDEREÇOS CONSECUTIVOS A PARTIR DE 0500H.

OBS: ENDEREÇO INICIAL DO PROGRAMA É : 000000H

4. FAÇA UM PROGRAMA QUE CONTE O NUMERO DE BITS EM NIVEL 1, NO REGISTRADOR R1. O RESULTADO DEVE SER GUARDADO EM R5.

Page 419: Aula Sistdigfim Al

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)

Page 420: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UM COMPUTADOR

CPU

E/S

MEMORIA

ARMAZENAINSTRUÇÕESEDADOS

PERMITE A ENTRADA E SAIDA DEDADOS

EXECUTA UMA SEQUENCIADE INSTRUÇÕES

REPETE CICLOS DE INSTRUÇÃO: BUSCA DE INSTRUÇÃO NA MEM. EXECUTA INSTRUÇÃO: OPERAÇÕES OPERAÇÃO 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.

Page 421: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA CPU – ESPECIFICAÇÃO 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,RBADI RT,RA,SISUB RT,RA,RBSBI RT,RA,SIAND RT,RA,RBANI 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

Page 422: Aula Sistdigfim Al

IOAddr MEMAddr

IOData MEMData

IORd MEMRd

IOWr MEMWr

IOEnable MEMEnable

IOReady MEMReady

IOLength MEMLength

CLK

RESET STATUS

EM GERAL BUS DE DADOS E ENDEREÇOS SÃO UNICOS

SISTEMAS DIGITAIS

CONEXÁO 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 – ESPECIFICAÇÃO DE BARRAMENTO(ENDEREÇO, DADOS, CONTROLE)

2411

3232 32

LENGTH1 ACESSO A WORD0: ACESSO A BYTE

SINCRONIZAÇÃO COM A CPU. MREADY EM NIVEL 0 DURANTE O ACESSO. NO FINAL DO ACESSO, READY É COLOCADO EM NIVEL 1.

SELEÇÃO DE DISPOSITIVO DE ENTRADA E SAIDA

Page 423: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA CPU – ESPECIFICAÇÃO DE BARRAMENTO - TEMPORIZAÇÃO

DIAGRAMA DE TEMPO

LEITURA ESCRITAAddr

Enable

Rd

Wr

Data

Ready

Tsu SETUP

Td

Tmem ACESSO A MEM

Tdv dado valido

Page 424: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA CPU – ESPECIFICAÇÃO

-- 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;

Page 425: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA CPU – ESPECIFICAÇÃO-- ARCHITECTURE06 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;

Page 426: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA CPU – ESPECIFICAÇÃO

-- ARCHITECTURE22 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;

Page 427: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA MEMORIA – ESPECIFICAÇÃO

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

Page 428: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA MEMORIA – ESPECIFICAÇÃO DE BARRAMENTO

DIAGRAMA DE TEMPO

LEITURA ESCRITAAddr

Enable

Rd

Wr

Data

Ready

Tsu SETUP

Td

Tmem ACESSO A MEM

Tdv dado valido

Page 429: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA MEMORIA – ESPECIFICAÇÃO

-- BIBLIOTECA01 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;

DESCRIÇÃO COMPORTAMENTAL

Page 430: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA MEMORIA – ESPECIFICAÇÃO

-- 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;

Page 431: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DE UMA MEMORIA – ESPECIFICAÇÃO

-- 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;

Page 432: Aula Sistdigfim Al

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

Page 433: Aula Sistdigfim Al

SISTEMAS DIGITAIS

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

1. BUSCA DE INSTRUÇÃO: GERAÇÃO DE ENDEREÇO

PC_in WrPC

PC Reset

PC_out Clk

MemAddr24

Page 434: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

1. BUSCA DE INSTRUÇÃO: ARMAZENAMENTO DA INSTRUÇÃO

PC_in WrPC

PC Reset

PC_out Clk

MemAddr

WrIr

IR Clk

MemData32

24

Page 435: Aula Sistdigfim Al

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

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

5

5

32

5 32

Page 436: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

3. LEITURA E ESCRITA DE DADOS NA MEM: GERAÇÃO DE ENDEREÇO

PC_in WrPC

PC Reset

PC_out Clk

MemAddr

WrIr

IR Clk

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

5

5

16

EXTSE_ZE

Ain ALU Bin

ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

4

32

Page 437: Aula Sistdigfim Al

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

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

5

5

16

EXTSE_ZE

Ain ALU Bin ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

32

Page 438: Aula Sistdigfim Al

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

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

5

5

16

EXTSE_ZE

Ain ALU Bin ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

Sin_Sout

32

Page 439: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

4. EXECUÇÃO DA INSTRUÇÕES: ARITM/LOGICAS/MOV. DE DADOS

PC_in WrPC

PC Reset

PC_out Clk

MemAddr

WrIr

IR Clk

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

5

16

EXTSE_ZE

Ain ALU Bin ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

Sin_Sout0

1

Mem_ALU

STATUS WrCr Clk

Z,N,C,V

1 0

IR_RB

5

32

Page 440: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

4. EXECUÇÃO DA INSTRUÇÕES: DESVIO

PC_in WrPC

PC Reset

PC_out Clk

MemAddr

WrIr

IR Clk

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

16

EXTSE_ZE

Ain ALU Bin ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

Sin_Sout0

1

Mem_ALU

STATUS WrCr Clk

Z,N,C,V

1 0

IR_RB1 0PC_RA

Page 441: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

PC_in WrPC

PC Reset

PC_out Clk

MemAddr

WrIr

IR Clk

MemData32

24

WrC Reset

DataB DataC AddrB AddrC RF DataA Clk AddrA

32

16

EXTSE_ZE

Ain ALU Bin

ALUop ALUdata

DC_in WrDC

DC_out DC Clk

ALU_PC0

1

Sin_Sout0

1

Mem_ALU

STATUS WrCr Clk

Z,N,C,V

1 0

IR_RB1 0PC_RA

32

Page 442: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE DADOS DA CPU

SISTEMAS DIGITAIS

OPERAÇÕES DA ALU EXTENSOR

ALU_OP OPERAÇÃO

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 OPERAÇÃO

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

Page 443: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

CICLO DE INSTRUÇÃO

BUSCA

EXECUÇÃOACESSO DE LEITURA/ESCRITA DE MEM/IO

SE A INSTRUÇÃO FOR DE ACESSO A MEM. OU I/O, NO ESTADO DE EXECUÇÃO O ENDEREÇO É 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

RBIOWBIO

Page 444: Aula Sistdigfim Al

SEQUENCIADOR

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MEMORIA DECONTROLE

REG

GERADORDE ENDEREÇO

Page 445: Aula Sistdigfim Al

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 CONTROLEEND.(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 OPERAÇÃO DA INSTR. (BIT`s 31-26)

Page 446: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

SEQUENCIADOR DA UNIDADE DE CONTROLE

IRCLK 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 REG´s SUB.SIST.DADOS

2A

2B

2C

2D

6

7

9

8

PRESETRENDUC= 3F(BUSCA)

Page 447: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃO

CONTROLE HORIZONTAL, COM SEQUENCIAMENTO EXPLICITO

CONTROLE SEQUENCIAMENTO

MX3|MX2|MX1| MX0

Page 448: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

FORMATO DA MICROINSTRUÇÃO: 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 INSTRUÇÕES DE DESVIO

FZ

FN

FV

FC

01

2

3

FL1 FL0

#XOR

NIVEL( 0/1)

AND

HAB

OR

WRPC

Page 449: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DE BUSCA DE INSTRUÇÃO

OBS:DURANTE A BUSCA DE INSTRUÇÃO O PC DEVE SER SOMADO COM 4, PARA APONTAR PARA PROXIMA INSTRUÇÃO

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

Page 450: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO 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

Page 451: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO 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

Page 452: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO 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

EXTENSÃO DE SINALSEZE = 1

Page 453: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO 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

Page 454: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO 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

FL10

FL00

#XOR

NIVEL( 0/1)

1

HAB1

OR

WRPC0

0

2

3

AND

Page 455: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 456: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 457: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 458: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 459: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 460: Aula Sistdigfim Al

PROJETO DO SUB.SISTEMA DE CONTROLE DA CPU

SISTEMAS DIGITAIS

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

MICROINSTRUÇÃO DA INSTRUÇÃO:________

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: _________

Page 461: Aula Sistdigfim Al

EXERCICIO 35

SISTEMAS DIGITAIS

CONTEUDO DOS REGISTRADORES, MEMORIA E BARRAMENTOS, A CADA PERIODO DE CLK, DURANTE A EXECUÇÃO DO PROGRAMA ABAIXO.OBS: APÓS O RESET, PC =000000H E RENDUC = 3FH

IR3A3B3C3D3F

RENDUC

MEM UNIDCONTR00 NOP02 NOT11 ADI12 SUB22 STB3C DADO3F BUSCACLK

RESETPC DC

IR ALU

CZNV

R0 R1

R2 R3

R4 R5

R30 R31

CLKRESET

SUB. SIST. CONTROLESUB. 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,30000000C 88 22 00 00 STB R1,0(R2)

000300 XX XX XX XX

MEMORIA DE PROGRAMA E DADOS

RD:WR:LEN:EN:

DADOS :END.:

Page 462: Aula Sistdigfim Al

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 INSTRUÇÃO DE MULTIPLICAÇÃO (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 INSTRUÇÃO DE MULTIPLICAÇÃO E O OP-CODE DA INSTRUÇÃO.

B.     A CONEXÃO DO MULTIPLICADOR NO SUBSISTEMA DE DADOS, SABENDO QUE A PARTE MENOS SIGNIFICATIVA DO PRODUTO VAI SER ARMAZENADA DURANTE O CICLO DE EXECUÇÃO E A PARTE MAIS SIGNIFICATIVA DURANTE O CICLO DE BUSCA DA PROXIMA INSTRUÇÃO.

C.     O ENDEREÇO DA MICROINSTRUÇÃO DE MULTIPLICAÇÃO E O NOVO FORMATO DAS

MICROINSTRUÇÕES, DESTACANDO OS SINAIS ACRESCENTADOS E A MICROINSTRUÇÃO DE MULTIPLICAÇÃO

D.    A NOVA MICROINSTRUÇÃO DE BUSCA

QUANTOS PERIODOS DE CLOCK SERÃO 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 EXECUÇÃO?

SISTEMAS DIGITAIS

PROGRAMA:SUB R1,R1,R1ADI R3,R1,14HADI R4,R1,0AHSTW R3,400H(R1)MUL R7,R3,R4ADD R6,R3,R4

MULTIPLICADOR:

3232

64

Page 463: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

OTIMIZAÇÕES EM SISTEMAS RTL

REDUÇÃO DE CUSTO

MELHORIA DE PERFORMANCE

COMPARTILHAMENTO DE REGISTRADORESCOMPARTILHAMENTO DE OPERADORESCOMPARTILHAMENTO DE BARRAMENTOSCOMPARTILHAMENTO DE ACESSO A REG´s (AGRUPAMENTO DE REGISTRADORES)

TECNICA DE PIPELINE

Page 464: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE EM OPERADORES (MODULOS FUNCIONAIS)

X0 YO

Z1

X1 Y1

Z0

t

IMPLEMENTAÇÃO SEM PIPELINE

TEMPO:2

ENTRADA

SAIDA

Page 465: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE EM OPERADORES (MODULOS FUNCIONAIS)

X0 YO

Z1

X1 Y1

Z0

t

IMPLEMENTAÇÃO COM PARALELISMO

TEMPO:

MELHORIA DE PERFORMANCE (50%) , COM ALTO CUSTO(ACRESCIMO DE OUTROOPERADOR)

ENTRADA

SAIDA

Page 466: Aula Sistdigfim Al

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,5

REGISTRADOR

/2

/2

/2 /2

MELHORIA DE PERFORMANCE (25%) , COM BAIXO CUSTO(ACRESCIMO DE REGISTRADORES)

IMPLEMENTAÇÃO COM PIPELINE

/2

ENTRADA

SAIDA

REG

Page 467: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

EXEMPLO DE PIPELINE EM OPERADOR

Page 468: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

COMPARAÇÃO 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

S3X = MAX(T1,T2)

T3=MAX(T1,T2)>>3

S4

S7

S8

R3 T4

>>3

>>1

OUT

Page 469: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

COMPARAÇÃO 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)>>1X = 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

S1S2S3S4S5S6S7S8

TEMPO DE EXECUÇÃO SEM PIPELINE: 9 TCLK

LR1: LEITURA DE R1ER1: ESCRITA DE R1

Page 470: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

COMPARAÇÃO 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

S3X = MAX(T1,T2)

T3=MAX(T1,T2)>>3

S4

S7

S8

R3 T4

>>3

>>1

OUT

ALU1

ALU2REGISTRADOR

PIPELINE

Page 471: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

COMPARAÇÃO 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)>>1X = 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

S1S2S3S4S5S6S7S8

TEMPO DE EXECUÇÃOCOM PIPELINE: 13 TCLK/2

NOP

Page 472: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE

RENDUC

MEM DE CONTROLE

GERADOR DE END

CLK

SUB SIST. CONTROLE SUB SIST. DADOS

REG1 REG2

ALU

REG4

M

A

M E A SÃO OS RETARDOS MAIS RELEVANTES

TCLK = M + A

REG3

Page 473: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE

SEM PIPELINE TCLK = M + A

CLK

BUSCAiNSTR

EXEC.iNSTR

BUSCAiNSTR

EXEC.iNSTR

Page 474: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE

RENDUC

MEM DE CONTROLE

GERADOR DE END

CLK*

SUB SIST. CONTROLE SUB SIST. DADOS

REGISTRADOR

REG1 REG2

ALU

REG4

TCLK* = MAX(M, A)

REG3M

A

Page 475: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE

COM PIPELINE TCLK* = MAX(M + A)

CLK*

BUSCAiNSTR

EXEC.iNSTR

BUSCAiNSTR

EXEC.iNSTR

Page 476: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE E NO DE DADOS

RENDUC

MEM DE CONTROLE

GERADOR DE END

CLK**

SUB SIST. CONTROLE SUB SIST. DADOS

REGISTRADOR

REG1 REG2

ALU

REG4

A/2

TCLK* = MAX(M, A/2)

REGISTRADOR

A/2

REG3M

Page 477: Aula Sistdigfim Al

PIPELINE

SISTEMAS DIGITAIS

PIPELINE NO SUB.SIST. DE CONTROLE E NO DE DADOS

RENDUC

MEM DE CONTROLE

GERADOR DE END

CLK**

SUB SIST. CONTROLE SUB SIST. DADOS

REG. CONTROLE

REG1 REG2

ALU

REG4

TCLK* = MAX(M, A/2)

REG DADO

PIPELINE COM 3 ESTAGIOS

REG3

A/2

A/2

M

Page 478: Aula Sistdigfim Al

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

NÃO

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