Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís...
Transcript of Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís...
![Page 1: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/1.jpg)
Universidade Federal de Santa CatarinaCentro Tecnológico
Departamento de Informática e EstatísticaCurso de Graduação em Ciências da Computação
Aula 7Máquinas Seqüencias Síncronas: Síntese de circuitosseqüenciais. Exemplos. Mapeamento e alternativas de
implementação de máquinas de estado: "hardwired", PLA,ROM e PLD.
Prof. José Luís Gü[email protected]
www.inf.ufsc.br/~guntzel/ine5348/ine5348.html
LLóógica Programgica ProgramáávelvelINE 5348INE 5348
![Page 2: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/2.jpg)
slide 7.2 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsRegistrador de Estados:• Tipos de registradores:
– Feito com FFDs ou com FFJKs ou com FFTs– Pode ser um registrador-deslocador– Pode ser um registrador-contador
• Quanto à forma de fabricação:– Registradores podem estar prontos, integrados em chips com 4 ou 8
bits, cascateáveis (componentes MSI CMOS ou TTL)
– Registradores podem fazer uso de flip-flops pre-existentes dentro deum componente programável tipo SPLD, CPLD ou FPGA.
– Registradores podem ser especificados para serem fabricados do zero(opção de fabricação com máscaras ou masked)
![Page 3: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/3.jpg)
slide 7.3 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
hardwired
Micropro-gramação
Alternativas de Implementação de FSMsLógica de Próximo Estado e Lógica de Saída:• Tipos de implementações:
– Implementando as equações por meio de um circuito combinacional(“lógica aleatória”)
– Implementando as equações pela configuração de planos “E” e “OU”(PALs e PLAs)
– Gravando a tabela-verdade em bloco de memória (ROM, EPROM,EEPROM ou RAM)
• Quanto à forma de fabricação:– Usando chips de memória ROM, EPROM ou EEPROM– Usando chips programáveis SPLDs: PLAs ou PALs– Usando chips programáveis CPLDs ou FPGAs– Mandando fabricar um chip do zero (masked)
![Page 4: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/4.jpg)
slide 7.4 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMs
Lógica Combinacional Registradores
saídasentradas
estado atual
prox.estado
Lógica de Saída
Lógica de PróximoEstado
Lógica de Próximo Estado e Lógica de Saída
![Page 5: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/5.jpg)
slide 7.5 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMs
PROM(ou ROM)
Registradores
saídasentradas
estado atual
prox.estado
A0
An-1
An
An+m-1
D0
Dk-1
Dk
Dk+m-1
Lógica de Próximo Estado e Lógica de Saída como Bloco ROM
Entradas deendereço
Saídas dedados
![Page 6: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/6.jpg)
slide 7.6 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsLógica de Próximo Estado e Lógica de Saída como Bloco ROM
ROM
Registradorde estado
0 1 0 0 1 1 0 1 1 0 1 0 1
entradas
saídas
endereço
9
4
Conteúdo da ROMPróximo estado
Saída
Estado atual
ckreset
![Page 7: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/7.jpg)
slide 7.7 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsPara Cada Linha da Tabela de Estados uma Linha da ROM
00
00
00
00
11
11
11
11
10
01
10
01
01
01
00
00
Próximo estado
Y1Y0
0011
1011
0111
0010
1010
0110
1001
0101
0001
0100
0000
1
1
1
1
0
E1
111
110
101
100
100
saídasE0Estado atual
y1y0ROM
Registradorde estado
0 0 0 1 1 0 1 1 0 1 0 10 00 00 00 10 10 10 11 0…
E1E0
saídas
endereço
n
2
ckreset y1 y0
• O número de linhas da ROM é limitado• Pode haver diversas linhas da tabela de transição
que resultem nos mesmo valores para as saídas
![Page 8: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/8.jpg)
slide 7.8 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMs
010X01
X
X
X
1
0
E1
00X11
11X10
10101
01X00
00X00
Próximo estado
Y1Y0
E0Estado atual
y1y0
101001
010101
010001
010100
000000
X
X
1
1
0
E1
00X11
11X10
10101
01100
00100
Próximo estado
Y1Y0
E0Estado atual
y1y0
Necessita de 10 linhas da ROM Necessita de 6 linhas da ROM
Agrupando-seos don’t cares
A Solução é Agrupar Casos Equivalentes na Tabela de Transição
![Page 9: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/9.jpg)
slide 7.9 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsO Agrupamento Pode Ser Implementado Por um Codificador
ROM
Registradorde estado
0 1 0 0 1 1 0 1 1 0 1 0
E0E1E2
saídas
endereço
n
2
ckreset
Codifi-cador
![Page 10: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/10.jpg)
slide 7.10 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsExplorando Características da FSM
B
C
D
E
A
0 0 0 1 0 1 0 1 1 0 1 0 11 0 0 0 1 0 0 0 1 1 1 1 00 1 1 0 0 0 1 0 0 1 1 0 0
Seqüências de estadospodem ser implementadoscomo contagem embinário…
ii+1i+2
endereço
ROM não precisa armazenar prox. estado, somente saídas!
![Page 11: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/11.jpg)
slide 7.11 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMs
ROM
0 1 0 0 1 1 0 1 1 0 1 0 1
saídas
endereço
n
Bloco ROM + Registrador Contador (Incrementador)
incrreset
• A codificação de estadosprecisa ser coerente com aoperação do contador
• Mas onde entra a variável decontrole w?
B
C
D
E
A w
wck
Registrador-incrementadorcom reset assíncrono
![Page 12: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/12.jpg)
slide 7.12 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsBloco ROM + Registrador Contador (Incrementador)
B
C
D
E
A
F
E0
E0
E1
E1
E2E2
ROM
0 1 0 0 1 1 0 1 1 0 1 0 1
saídas
endereço
n
incr
reset
ck
Lógicacombinacional
carga
E0 E1 E2
Registrador-incrementadorcom carga paralela ecom reset assíncrono
![Page 13: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/13.jpg)
slide 7.13 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsLógica de Próximo Estado e Lógica de Saída como PLA
Plano E Plano OU
Inversores e buffers
entradas
saídas
…
reset
ckcarga
Registradorde estado
saídasn
E0 E1 E2
![Page 14: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/14.jpg)
slide 7.14 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsPLA em Tecnologia CMOS
Negando as entradas eaplicando De Morgan…
Soma de Produtos (SdP) “NOR de NORs”
A
B
C
D
A
B
C
D
![Page 15: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/15.jpg)
slide 7.15 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsLógica de Próximo Estado e Lógica de Saída como PLA
Plano NOR(1o nível)
Plano NOR(2o nível)
Inversores e buffers
entradas
…
reset
ckcarga
saídasn
E0 E1 E2
A
S
B C D
transistor depré-carga
NOR CMOS com muitas entradas
![Page 16: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/16.jpg)
slide 7.16 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsLógica de Próximo Estado e Lógica de Saída como PAL
Plano E(configurável)
entradas
saídas
Plano OU(fixo)
![Page 17: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/17.jpg)
slide 7.17 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsImplementando uma FSM Completa com PAL
Lógica Combinacional Registradores
saídasentradas
estado atual
prox.estado
Lógica de Saída
Lógica de PróximoEstado
![Page 18: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/18.jpg)
slide 7.18 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsImplementando uma FSM Completa com PAL
saída
Para o plano E
D Q
Clock
Select Enable
Flip-flop
![Page 19: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/19.jpg)
slide 7.19 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Alternativas de Implementação de FSMsImplementando uma FSM Completa em um CPLD
BlocotipoPAL
Blo
co d
e E
/S B
loco
de E
/S
Blo
co d
e E
/S
Blo
co d
e E/S
Rede de interconexão
BlocotipoPAL
BlocotipoPAL
BlocotipoPAL
Estrutura deum CPLD
CPLDs existentes nomercado:
• Possuem entre 2 a100 blocos tipo PAL
• Variedade deencapsulamentos,com até 200 pinos(QFP)
![Page 20: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/20.jpg)
slide 7.20 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
D Q
D Q
D Q
PAL-like block (details not shown)
PAL-like block
macrocell
CPLDs reais:• Cada bloco
possui em tornode 16 macrocells
• Cada porta ORpossui entre 5 a20 entradas
Tri-state buffers:Permitem configuraros pinos (E/S)
Alternativas de Implementação de FSMsImplementando uma FSM Completa em um CPLD
![Page 21: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/21.jpg)
slide 7.21 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
I/O block
I/O block
I/O block I/O
blo
ck
Estrutura de um FPGA
chaves programáveis(ligações entre linhasverticais ehorizontais)
bloco lógicoprogramável
chaves programáveis(ligações do blococom as linhas deinterconexão)
![Page 22: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/22.jpg)
slide 7.22 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
AB
C
F
FPGAs: LUTs (Lookup Tables)
• Implementadas com muxes 2:1 ebits de memória, SRAM(reprogramabilidade…)
• Normalmente, possuem 4 ou 5entradas
• Implementam qualquer funçãológica. Para 4 entradas, existem
224 = 65.536 diferentes funções!!!
![Page 23: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/23.jpg)
slide 7.23 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
0 1 0 0 0 0 1 1
AB
C
F1
FPGAs: LUTs (Lookup Tables)
1
1
0
0
0
0
1
0
F1
1111
1011
1101
0001
0110
0010
1100
0000
F2CBA
Programando LUTs
![Page 24: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/24.jpg)
slide 7.24 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
saída
D Q
Clock
Select
Flip-flop
LUTIn1In2In3
Alternativas de Implementação de FSMsImplementando uma FSM Completa em um FPGA
![Page 25: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/25.jpg)
slide 7.25 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Arquitetura do CLB dodispositivo VIRTEX-II
Slice
Slice
Slice
Slice
• Fast Carry Logic Path
• Provides fast arithmetic add and sub
RESUMINDO O CLB• 4 Slices• 8 LUTS / 8 Flip-Flops• 2 cadeias de vai-um• 64 bits para memória• 64 bits para shift-register
Transparência de F. Moraes (PUCRS)
![Page 26: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/26.jpg)
slide 7.26 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Arquitetura (metade) do Slice
![Page 27: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/27.jpg)
slide 7.27 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
FPGAs Altera: Stratix II
EstruturaBásica daMatriz doStratix II
![Page 28: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/28.jpg)
slide 7.28 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
FPGAs Altera: Stratix IIEstrutura de um LAB (Logic Array Block)
• 8 ALMs (Adaptative LogicModules)
• Cadeia de carry• Cadeia aritmética
compartilhada• Sinais de controle do LAB• Conexões locais• Cadeia de registradores
Cada LAB é constituído por:
1 LAB
ALMs
![Page 29: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/29.jpg)
slide 7.29 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
FPGAs Altera: Stratix IIDiagrama de blocos de um ALM
![Page 30: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/30.jpg)
slide 7.30 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Detalhes de um ALMFPGAs Altera: Stratix II
![Page 31: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/31.jpg)
slide 7.31 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
controle reg. de desl.reg. de desl.
reg. de desl.
A
BS = A + B
a
b
s
ck
Síntese de Circuitos SeqüenciaisExemplo 7: Somador (Bit) Serial
![Page 32: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/32.jpg)
slide 7.32 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Síntese de Circuitos SeqüenciaisExemplo 7: Somador (Bit) Serial, versão Mealy
ab/s11/0reset
G H00/001/110/1
01/010/011/1
00/1Estado G: carry-in = 0Estado H: carry-in = 1
![Page 33: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/33.jpg)
slide 7.33 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Síntese de Circuitos SeqüenciaisExemplo 7: Somador (Bit) Serial, versão Mealy
H11G
G00H
H10H
H01H
H
G
G
G
Estadoatual
H11
G01
G10
G00
Próximoestado
ba
Tabela de (transição de) estados
ab/s11/0reset
G H00/001/110/1
01/010/011/1
00/1Estado G: carry-in = 0Estado H: carry-in = 1
![Page 34: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/34.jpg)
slide 7.34 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Síntese de Circuitos SeqüenciaisExemplo 7: Somador (Bit) Serial, versão Mealy
1110
0001
1101
1011
1
0
0
0
y
111
001
010
000
Yba
Tabela de (transição de) estados
ab/s11/0reset
G H00/001/110/1
01/010/011/1
00/1
Y = a·b + a·y + b ·y
1110
0100
Y
y
y
a ba b a b a b a·b
a·y
b·y
![Page 35: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/35.jpg)
slide 7.35 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Mealy
0110
1001
0101
0011
1
0
0
0
y
111
101
110
000
sba
Tabela de saída
ab/s11/0reset
G H00/001/110/1
01/010/011/1
00/1
s = a ⊕ b ⊕ y
0101
1010
Y
y
y
a ba b a b a b
Síntese de Circuitos Seqüenciais
![Page 36: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/36.jpg)
slide 7.36 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Moore
Síntese de Circuitos Seqüenciais
Estados G0 e G1: carry-out = 0Estados H0 e H1: carry-out = 1
11
reset
G0/s=0(ab)00 H0/s=0
G1/s=1 H1/s=1
0001, 10
01, 10
11 01, 10
00
01, 10
11
11
00
![Page 37: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/37.jpg)
slide 7.37 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Moore
Síntese de Circuitos Seqüenciais
G1
G1
G0
G0
00
Próximo estado
H0
H0
G1
G1
01
saídaEstadoatual
1H1H0H1
H0
G1
G0
0H1H0
1H0G1
0H0G1
s0110
Tabela de estados e de saída11
reset
G0/s=0(ab)00 H0/s=0
G1/s=1 H1/s=1
0001, 10
01, 10
11 01, 10
00
01, 10
11
11
00
![Page 38: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/38.jpg)
slide 7.38 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Moore
Síntese de Circuitos Seqüenciais
01
01
00
00
00
Próximo estado (Y1Y0)
10
10
01
01
01
saídaEstadoatual
y1y0
1111011
10
01
00
01110
11001
01001
s0110
Tabela de estados e de saída(Após a codificação doe estados)
11
reset
G0/s=0(ab)00 H0/s=0
G1/s=1 H1/s=1
0001, 10
01, 10
11 01, 10
00
01, 10
11
11
00
![Page 39: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/39.jpg)
slide 7.39 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Moore
Síntese de Circuitos Seqüenciais
01
01
00
00
00
Próximo estado (Y1Y0)
10
10
01
01
01
saídaEstadoatual
y1y0
1111011
10
01
00
01110
11001
01001
s0110
Y1 = a·b + a·y1 + b ·y1
Y0 = a ⊕ b ⊕ y1
s = y0
![Page 40: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/40.jpg)
slide 7.40 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 7: Somador (Bit) Serial, versão Moore
Síntese de Circuitos Seqüenciais
b
s
ck
y1
y0
Y1
Y0
reset
D0 Q0
Q0
D1 Q1
Q1
Somadorcompleto s
cout
a
Y1 = a·b + a·y1 + b ·y1
Y0 = a ⊕ b ⊕ y1
s = y0
![Page 41: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/41.jpg)
slide 7.41 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
LIBRARY ieee ;USE ieee.std_logic_1164.all ;
-- registrador-deslocador para a direita, com carga paralela e sinal de enableENTITY shiftrne IS
GENERIC ( N : INTEGER := 4 ) ;PORT ( R : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0) ;
L, E, w : IN STD_LOGIC ;Clock : IN STD_LOGIC ;Q : BUFFER STD_LOGIC_VECTOR(N-1 DOWNTO 0) ) ;
END shiftrne ;
ARCHITECTURE Behavior OF shiftrne ISBEGIN
PROCESSBEGIN
WAIT UNTIL Clock'EVENT AND Clock = '1' ;IF E = '1' THEN
IF L = '1' THENQ <= R ;
ELSEGenbits: FOR i IN 0 TO N-2 LOOP
Q(i) <= Q(i+1) ;END LOOP ;Q(N-1) <= w ;
END IF ;END IF ;
END PROCESS ;END Behavior ;
Deslocador
VHDL para o Exemplo 7
Retirado de BROWN, S.; VRANESIC, Z. Fundamentals ofDigital Logic with VHDL Design. McGraw-Hill, 2000.
![Page 42: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/42.jpg)
slide 7.42 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
1 LIBRARY ieee ;2 USE ieee.std_logic_1164.all ;
3 ENTITY serial IS4 GENERIC ( length : INTEGER := 8 ) ;5 PORT ( Clock : IN STD_LOGIC ;6 Reset : IN STD_LOGIC ;7 A, B : IN STD_LOGIC_VECTOR(length-1 DOWNTO 0) ;8 Sum : BUFFER STD_LOGIC_VECTOR(length-1 DOWNTO 0) );9 END serial ;
10 ARCHITECTURE Behavior OF serial IS11 COMPONENT shiftrne12 GENERIC ( N : INTEGER := 4 ) ;13 PORT ( R : IN STD_LOGIC_VECTOR(N-1 DOWNTO 0) ;14 L, E, w : IN STD_LOGIC ;15 Clock : IN STD_LOGIC ;16 Q : BUFFER STD_LOGIC_VECTOR(N-1 DOWNTO 0) ) ;17 END COMPONENT ;
18 SIGNAL QA, QB, Null_in : STD_LOGIC_VECTOR(length-1 DOWNTO 0) ;19 SIGNAL s, Low, High, Run : STD_LOGIC ;20 SIGNAL Count : INTEGER RANGE 0 TO length ;21 TYPE State_type IS (G, H) ;22 SIGNAL y : State_type ; continua no próximo slide
Deslocador
VHDL para o Exemplo 7
Retirado de BROWN, S.; VRANESIC, Z. Fundamentals ofDigital Logic with VHDL Design. McGraw-Hill, 2000.
![Page 43: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/43.jpg)
slide 7.43 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
23 BEGIN24 Low <= '0' ; High <= '1' ;25 ShiftA: shiftrne GENERIC MAP (N => length)26 PORT MAP ( A, Reset, High, Low, Clock, QA ) ;27 ShiftB: shiftrne GENERIC MAP (N => length)28 PORT MAP ( B, Reset, High, Low, Clock, QB ) ;29 AdderFSM: PROCESS ( Reset, Clock )30 BEGIN31 IF Reset = '1' THEN32 y <= G ;33 ELSIF Clock'EVENT AND Clock = '1' THEN34 CASE y IS35 WHEN G =>36 IF QA(0) = '1' AND QB(0) = '1' THEN y <= H ;37 ELSE y <= G ;38 END IF ;39 WHEN H =>40 IF QA(0) = '0' AND QB(0) = '0' THEN y <= G ;41 ELSE y <= H ;42 END IF ;43 END CASE ;44 END IF ;45 END PROCESS AdderFSM ;
Continua no próximo slide
Deslocador
VHDL para o Exemplo 7
Retirado de BROWN, S.; VRANESIC, Z. Fundamentals ofDigital Logic with VHDL Design. McGraw-Hill, 2000.
![Page 44: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/44.jpg)
slide 7.44 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
46 WITH y SELECT47 s <= QA(0) XOR QB(0) WHEN G,48 NOT ( QA(0) XOR QB(0) ) WHEN H ;49 Null_in <= (OTHERS => '0') ;50 ShiftSum: shiftrne GENERIC MAP ( N => length )51 PORT MAP ( Null_in, Reset, Run, s, Clock, Sum ) ;52 Stop: PROCESS53 BEGIN54 WAIT UNTIL (Clock'EVENT AND Clock = '1') ;55 IF Reset = '1' THEN56 Count <= length ;57 ELSIF Run = '1' THEN58 Count <= Count -1 ;59 END IF ;60 END PROCESS ;61 Run <= '0' WHEN Count = 0 ELSE '1' ; -- stops counter and ShiftSum62 END Behavior ;
Retirado de BROWN, S.; VRANESIC, Z. Fundamentals ofDigital Logic with VHDL Design. McGraw-Hill, 2000.
![Page 45: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/45.jpg)
slide 7.45 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA
Síntese de Circuitos Seqüenciais
Sinais:
BR= Bus RequestBG= Bus GrantRD= ReadWR= WriteDS= DMA selectRS= register select
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
![Page 46: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/46.jpg)
slide 7.46 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA
Síntese de Circuitos Seqüenciais
Passo 1:Passo 1: processador ativa o DMAC (controlador de DMA)
• Informando a identidade do dispositivo
• A operação a ser realizada pelo dispositivo
• O endereço de memória que é a fonte ou o destino do dadoe
• O número de bytes a serem transferidos
![Page 47: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/47.jpg)
slide 7.47 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA
Síntese de Circuitos Seqüenciais
Passo 2:Passo 2: O DMAC inicia a operação sobre o dispositivo:
• Arbitrando o barramento
• Quando os dados estiverem disponíveis ele os transfere
• Fornece os endereços de memória a serem lidos ouescritos
• Gera o próximo endereço de memória e inicia a novatransferência…
![Page 48: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/48.jpg)
slide 7.48 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA
Síntese de Circuitos Seqüenciais
Passo 3:Passo 3: Uma vez completada a transferência sob ocontrole do DMAC:
• O DMAC interrompe o processador,
• O processador deve verificar se toda a operação detransferência foi realizada com sucesso.
• O processador retoma o controle do barramento
![Page 49: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/49.jpg)
slide 7.49 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
O controlador de DMA no sistemaAcesso Direto à Memória (DMA)
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
![Page 50: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/50.jpg)
slide 7.50 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
O dispositivoenvia uma
requisição de DMA
Transferência DMA
![Page 51: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/51.jpg)
slide 7.51 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leituraBR=1
Transferência DMA
![Page 52: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/52.jpg)
slide 7.52 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
A CPU inicializao controladorpor meio do
bar. de dados
Transferência DMA
BR=1
![Page 53: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/53.jpg)
slide 7.53 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
BG=1
Transferência DMA
![Page 54: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/54.jpg)
slide 7.54 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
BG=1
R=1 ou W=1
O DMACcoloca no barramento
de endereços o valor do
Registrador de endse faz R=1 ou W=1
Transferência DMA
![Page 55: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/55.jpg)
slide 7.55 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
BG=1
R=1 ou W=1
Quando o dispositivode E/S recebe a confirmação,
ele baixa o sinal derequisição de DMA e coloca
o dado no barramento dedados.
Então, o DMAC controla atransferência entre Memória
e dispositivo de E/S
Transferência DMA
![Page 56: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/56.jpg)
slide 7.56 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
Transferência DMA
BG=1
O DMAC testa se ocontador de palavras
vale zero. Casonegativo, ele fica a
espera do dispositivode E/S sinalizar que
está pronto para novatransferência.
![Page 57: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/57.jpg)
slide 7.57 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
Transferência DMA
interrupção=1
Quando o DMACverifica que o contadorde palavras vale zero,ele interrompe a CPU.BG=1
![Page 58: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/58.jpg)
slide 7.58 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
CPU Memória
ControladorDMA
Dispositivode E/S
DS
RS
BR
BG
interrupção
RD WR end dado
BR
BG
interrupção
RD WR end dado RD WR end dado
Decod. deendereços
requisição DMA
confirmação DMA
barramento de ends
barramento de dados
controle de escrita
controle de leitura
Transferência DMA
interrupção=1
A CPU baixa o valor deBG.
BG=0
![Page 59: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/59.jpg)
slide 7.59 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA
Síntese de Circuitos Seqüenciais
buffersbar. dedados
RD
RS
WR
BR
DS
BG
Lógicade
Controle Registrador de controle
Contador de palavras
Registrador de ends
buffersbar. deends
bar
ram
ento
inte
rno
requisição de DMA
confirmação de DMA p/ dispositivo de E/Sinterrupção
seleção de DMA
seleção de registrador
leitura
escrita
requisição do barramento
concessão do barramento
barramento de ends
barramento de dados
Estrutura Interna
![Page 60: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/60.jpg)
slide 7.60 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA. Projetando o Bloco de Controle
Síntese de Circuitos Seqüenciais
buffersbar. dedados
RD
RS
WR
BR
DS
BG
Lógicade
Controle Registrador de controle
Contador de palavras
Registrador de ends
buffersbar. deends
bar
ram
ento
inte
rno
requisição de DMA
confirmação de DMA p/ dispositivo de E/Sinterrupção
seleção de DMA
seleção de registrador
leitura
escrita
requisição do barramento
concessão do barramento
barramento de ends
barramento de dados
![Page 61: Lógica Programável - UFSCj.guntzel/ine5348/LogP_aula7.pdf · ALMs. slide 7.29 Prof. José Luís Güntzel Máquinas Seqüenciais Síncronas INE/CTC/UFSC Lógica Programável - semestre](https://reader034.fdocuments.ec/reader034/viewer/2022050310/5f7282109c80092a20741e0b/html5/thumbnails/61.jpg)
slide 7.61 Prof. José Luís Güntzel
Máquinas Seqüenciais Síncronas
INE/CTC/UFSCLógica Programável - semestre 2007/2
Exemplo 8: Controlador de DMA. Projetando o Bloco de Controle
Síntese de Circuitos Seqüenciais
BR
BG
Lógicade
Controle
Contador de palavras
Registrador de ends
requisição de DMA
confirmação de DMA p/ dispositivo de E/Sinterrupção
inc
requisição do barramento
concessão do barramento
barramento de ends
WR RD
=0?
zero
transf_OK
dec
RDWR