memórias e circuitos de circuitos de lógica programável

Propaganda
SISTEMAS DIGITAIS
MEMÓRIAS E
CIRCUITOS DE
LÓGICA PROGRAMÁVEL
Setembro de 10
H. Neto, N. Horta
MEMÓRIAS - 2
SUMÁRIO:
MEMÓRIAS INTEGRADAS
RAM
ROM
PROM
EPROM
LÓGICA PROGRAMÁVEL
PLAs
PALs
FPGAs
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 3
MEMÓRIAS
Na sequência do estudo de FFs, como elementos básicos de memória de
1 bit, e de registos como elementos capazes de armazenar 1 palavra de
N bits, surge, naturalmente, a necessidade de elementos que permitam o
armazenamento conjuntos de K palavras de N bits. Esses elementos
designam-se por memórias.
Na presente abordagem, referem-se em especial os aspectos funcionais
e as estruturas lógicas destes circuitos, deixando-se os detalhes da
electrónica para cadeiras subsequentes.
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 4
RAM - MODELO SIMPLIFICADO
RAM – “Random Access Memory”
Operação de Escrita:
(1) Colocar endereço nas linhas de endereço;
(2) Colocar dados nas linhas de entrada de dados (Ds);
(3) Activar CS_L e WE_L (L - Escrita).
RAM 16x4
Endereço
A0
0
A1
1
A2
2
A3
3
CS_L
G1
WE_L
1 EN [READ]
A 0
15
1C2 [WRITE]
D0
D1
Entrada de
Dados
1, 2D
A,2D
1,A
Q0
Q1
D2
Q2
D3
Q3
Setembro de 10
Operação de Leitura:
(1) Colocar endereço nas linhas de endereço;
(2) Activar CS_L e Desactivar WE_L (H – Leitura) ;
(3) Ler dados pretendidos nas linhas de saída (Os).
Saída
Dados
de
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 5
RAM - MODELO LÓGICO DA ESTRUTURA BASE
Linha_0
C1
1D
Linha_1
C1
DMUX
A0
A1
}
0
1
G
0
_
0
3
2
ChipSelect
EN
1D
1
Linha_2
3
C1
1D
Linha_3
C1
1D
Entrada_Dados
Saída_Dados
WriteEnable_H
Selecciona
Coluna
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 6
RAM - ESTRUTURA TIPO
EXEMPLO:
RAM 16x1,
organizada
segundo uma
matriz de 4x4 bits.
DMUX
}
A2
0
A3
1
0
_
0
G
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
ChipSelect
EN
Descodificador
de Linha
Entrada_Dados
WriteEnable_H
Saída_Dados
DMUX
}
A0
0
A1
1
ChipSelect
EN
0
_ 1
0
G
3
2
3
Descodificador
de Coluna
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 7
RAM - ESTRUTURA TIPO
EXEMPLO:
Uma RAM 8x2 é
organizada segundo a
mesma matriz de 4x4
bits, que é agora, de
facto, uma matriz de 4x2
palavras de 2 bits cada.
DMUX
}
A1
0
A2
1
0
_
0
G
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
ChipSelect
EN
Descodificador
de Linha
Entrada_Dados 0
Entrada_Dados 1
WriteEnable_H
Saída_Dados 0
Saída_Dados 1
DMUX
A0
ChipSelect
0
0 G_
1
0
1
EN
Descodificador
de Colunas
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 8
RAM - ASSOCIAÇÃO
Aumento da Dimensão das Palavras (de 4 para 8 bits):
RAM 16x4
A0
0
A1
1
0
A2
2
A3
3
3
CS_L
G1
G1
WE_L
1 EN [READ]
1 EN [READ]
1C2 [WRITE]
1C2 [WRITE]
A
D0
Setembro de 10
RAM 16x4
1
0
A
15
2
0
15
Q0
D4
D1
Q1
D5
Q5
D2
Q2
D6
Q6
D3
Q3
D7
Q7
1, 2D
A,2D
1,A
SISTEMAS DIGITAIS
1, 2D
A,2D
1,A
Q4
H. Neto, N. Horta
MEMÓRIAS - 9
RAM - ASSOCIAÇÃO
Aumento do Número de Palavras (de 16 para 32 palavras):
RAM 16x4
A0
0
A1
1
A2
2
A3
3
A4
G1
0
A
WE_L
D0
RAM 16x4
1
0
A
15
2
0
15
3
A4
G1
1 EN [READ]
1 EN [READ]
1C2 [WRITE]
1C2 [WRITE]
Q0
D0
D1
Q1
D1
Q1
D2
Q2
D2
Q2
D3
Q3
D3
Q3
1, 2D
A,2D
1,A
1, 2D
A,2D
1,A
Q0
Nota: Por simplicitade omitiram-se as ligações das entradas D e das saídas Q
das duas memórias ao BUS de Dados
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 10
ROM - DEFINIÇÕES
ROM – “Read Only Memory” – Memória apenas de leitura, sendo o conteúdo definido
durante a fabricação.
ROMs PROGRAMÁVEIS - Memória apenas de leitura, sendo o conteúdo definido pelo
utilizador.
PROM - ROM Programável (uma única vez).
EPROM - ROM Programável com capacidade de reprogramação.
Neste caso, a memória pode ser apagada através da aplicação prolongada a
radiação ultravioleta intensa.
Nota: existem outras classes de memórias não abordadas neste estudo.
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 11
ROM - SIMBOLOGIA
ROM 32x8
A0
0
A1
1
A2
2
A3
3
A4
4
RE_L
EN
A
1, 2D
0
31
A
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 12
ROM – ESTRUTURA TIPO
EXEMPLO: ROM 4x3 que armazena os 4 primeiros números primos:
A1 A0
A1 A0 Q2 Q1 Q0
0
0
0
1
0
0
1
1
0
1
Plano OR
"0"
m0
2
m1
m2
3
m3
1
0
1
0
1
5
1
1
1
1
1
7
Plano AND
Q2
Q1
Q0
A programação da ROM é concretizada pela efectivação das ligações entre as saídas das
ANDs e as entradas das ORs.
Nota: As linhas sem ligação são, por defeito, ligadas a “0” (elemento neutro da OR).
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 13
LÓGICA PROGRAMÁVEL
As FPGAs - “FIELD PROGRAMMABLE GATE-ARRAYS” - são dispositivos lógicos
programáveis que permitem realizar circuitos de complexidade equivalente até algumas
centenas de milhar de portas lógicas.
O tipo de programação usado nas FPGAs mais populares baseia-se na utilização de
memórias RAM distribuídas para realizar as funções lógicas e controlar as interligações do
circuito.
Bloco lógico
Zona de interligações
Célula de entrada/saída
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 14
BLOCO LÓGICO BÁSICO DE UMA FPGA
O bloco lógico básico de uma FPGA é constituído tipicamente por uma LUT – “Look-Up
Table” e um FF D.
A LUT é simplesmente uma pequena RAM (são habitualmente utilizadas LUTs de 4
entradas = RAM de 16 bits) que, para efeitos de utilização do circuito, funciona apenas
em modo de leitura (a escrita corresponde à programação da função lógica).
A programação da lógica consiste no armazenamento na LUT da tabela de verdade da
função lógica a realizar.
O controlo (programável) do MUX permite incluir/excluir o FF no/do circuito.
RAM 16X1
X0
X1
X2
X3
MUX
0
}
1
2
0
A __
15
3
R
1D
G1
Q
0
1
C1
S
CLK
S/R
Controlo
S/R
Bloco Básico – Modelo simplificado
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 15
MÁQUINAS DE ESTADO E MEMÓRIAS
A estrutura de uma máquina de estados permite que se utilizem memórias (para
implementar o circuito combinatório) conferindo a possibilidade tanto de tornar os sistemas
de controlo programáveis, portanto mais versáteis, como, ainda, o desenvolvimento de
sistemas funcionalmente mais complexos sem o aumento correspondente da complexidade
do hardware. Qual o preço a pagar por esta solução em relação à implementação clássica?
Máquina Sequencial (Sincrona)
Modelo Geral
Entradas
Actuais (x)
C.C.
(Circuito
Combinatório)
*
*
*
*
*
*
Saídas
Actuais (z)
Estado
Seguinte
(ES)
Estado
Actual
(EA)
*
*
*
Memória
(Flip-Flops)
*
*
*
CP
Setembro de 10
SISTEMAS DIGITAIS
H. Neto, N. Horta
MEMÓRIAS - 16
MÁQUINAS DE ESTADO E MEMÓRIAS (cont.)
EXEMPLO: Máquina de Distribuição de Pastilhas
(conforme analisada no capítulo dos Circuitos Sequenciais Síncronos)
Reset
Entradas: m5,m10
Saída: abre
00
S0/0
10
00
00
S5C
0
1
S10C
1
0
S15C
1
1
S5/0
10
01
Estado Actual
Q1 Q0
S0C
0
0
01
S10/0
01,10
S15/1
Setembro de 10
XX
Entradas
m5
m10
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
SISTEMAS DIGITAIS
Estado Seguinte
Q1 Q0
S0C
0
0
S10C
1
0
S5C
0
1
X
X
X
S5C
0
1
S15C
1
1
S10C
1
0
X
X
X
S10C
1
0
S15C
1
1
S15C
1
1
X
X
X
S0C
0
0
S0C
0
0
S0C
0
0
X
X
X
Saída
ABRE
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
H. Neto, N. Horta
MEMÓRIAS - 17
MÁQUINAS DE ESTADO E MEMÓRIAS (cont.)
Tabela de Memória
EXEMPLO: Máquina de Distribuição de Pastilhas (cont.)
Tendo por base a Tabela de Transição de Estados
e a memória RAM apresentada anteriormente
utiliza-se esta memória para implementar
a função do circuito combinatório, i.e., determinar
o Estado Seguinte e a Saída.
O Endereço de Memória (A3 A2 A1 A0)
será especificado, respectivamente, pelas variáveis
de estado Q1 Q0 e pelas entradas M5 M10.
A Palavra de Memória deverá conter a informação
do Estado Seguinte Q1 Q0 em (n+1) e a Saída Z
nos 3 bits menos significativos.
Nota: A cinzento indicam-se as entradas (endereços)
não utilizadas e as saídas não consideradas
(bit mais significativo).
Setembro de 10
Endereço
A3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
SISTEMAS DIGITAIS
A2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
A1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Conteúdo
A0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Q3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Q2
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
0
Q1
0
0
1
0
1
1
0
0
0
1
1
0
0
0
0
0
H. Neto, N. Horta
Q0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
MEMÓRIAS - 18
MÁQUINAS DE ESTADO E MEMÓRIAS (cont.)
EXEMPLO: Máquina de Distribuição de Pastilhas (Implementação)
RAM 16x4
ENTRADAS
M10
0
M5
1
2
A 0
15
3
RESET_L
CP
R
'0'
G1
'1'
1 EN [READ]
C1
1C2 [WRITE]
Q0(n)
1, 2D
A,2D
1D
Q1(n)
Z
1,A
Q0(n+1)
ESTADO
PRESENTE
Setembro de 10
SAÍDA
SISTEMAS DIGITAIS
Q1(n+1)
ESTADO
SEGUINTE
H. Neto, N. Horta
Download