ParteV.ppt [Modo de Compatibilidade] - ipb.ptjpcoelho/SD/ParteV.pdf · Coel Quantos pinos deveria...

27
Memórias.P 1 MEMÓRIAS PLD.PLA.FP Até ao momento ... MEMÓRIA =FLIP- FLOP 07/08 PGA. ais : Y20 mas Digita como armazenar mais do que um bit? @ Sistem ho, J.P. @ Coelh

Transcript of ParteV.ppt [Modo de Compatibilidade] - ipb.ptjpcoelho/SD/ParteV.pdf · Coel Quantos pinos deveria...

Mem

órias.P

1MEMÓRIAS

PLD.PLA

.FP

Até ao momento ...MEMÓRIA =FLIP-

FLOP

07/0

8PG

A.

ais

: Y20

mas

Dig

ita

como armazenar mais do que um bit?

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

2como armazenar mais do que uma palavra? PLD

.PLA.FP

07/0

8PG

A.

ais

: Y20

mas

Dig

ita@

Sis

tem

ho, J

.P. @

Coe

lh

Quantos pinos deveria ter um CI capaz de armazenar 1024 Bytes (W=1B)

Mem

órias.P

3 Conceito de linhas de ENDEREÇO...PLD

.PLA.FP

07/0

8PG

A.

ais

: Y20

mas

Dig

ita@

Sis

tem

ho, J

.P. @

exemplo...

Coe

lh

Mem

órias.P

4 Para reduzir o número de pinos do CI frequentemente os terminais de I/O são comuns...

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

m

- Será possível num dado instante alterar o bit k da palavra w?

ho, J

.P. @ - Será possível, num dado instante, alterar o bit k da palavra w?

- Esta é uma memória de leitura/escrita (RWM) mas não é uma RAM!

Coe

lh

Mem

órias.P

5 Memória RAM (Random Access Memeory)

- Memória de Acesso Aleatório PLD.PLA

.FP

- Nome atribuído a RWM com a capacidade de indexar célula a célula

ORGANIZAÇÃO INTERNA:

07/0

8PG

A.

ORGANIZAÇÃO INTERNA:

1-D 2-D

ais

: Y20

mas

Dig

ita@

Sis

tem

ho, J

.P. @

A versão 2 D requer menos “hardware”

Coe

lh A versão 2-D requer menos hardware

Mem

órias.P

6- Para além das memórias RAM existem muitos outros tipos de memórias...

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

MEMÓRIAS RAM

É R li t ã t t d

@ S

iste

m É possível ler/escrever em qualquer célula de

memória

Requer alimentação constante de contrário a informação é perdida

ho, J

.P. @

RAM(Random Access Memory)

Utilizada em arquitecturas de computadores para o

armazenamento temporário de iá i

Coe

lh variáveis

Mem

órias.P

7Baseadas em

multivibradores biestáveis

Maior Velocidade (4X) PLD.PLA

.FP

biestáveis

Maior €/bit

07/0

8PG

A.

SRAM

Maior €/bit

ais

: Y20

família RAMDistingem-se no tempo-de-vida dos dados

mas

Dig

ita

g pDe implementação

simples

@ S

iste

m DRAM

ho, J

.P. @

Mais complexas

Coe

lh Permitem maior densidade de integração

Maior capacidade de armazenamento

Mem

órias.P

8 MEMÓRIAS DRAM

-Armazena os bits individuais em “condensadores” PLD.PLA

.FP

Armazena os bits individuais em condensadores

-A carga nos condensadores não é mantida indefinidamente

-Requer um circuito de “refresh”

07/0

8PG

A.

eque u c cu o de e es

cada célula é visitada periodicamente l ló i é t

ais

: Y20

e o seu valor lógico é reposto

mas

Dig

ita@

Sis

tem

ho, J

.P. @

Coe

lh

Mem

órias.P

9 MEMÓRIAS ROMROM

A t á i d RAM ã PLD.PLA

.FP

O conteúdo das células é fixo

Ao contrário das RAM não requer fornecimento constante de energia

07/0

8PG

A.

É também uma memória de acesso aleatório

ais

: Y20

Disponível sob diversas tecnologias: PROM, EPROM, etc.

ROM(Read Only Memory)

mas

Dig

ita

Primeiro tipo de ROMUtilizadas para PROM (OTP)

@ S

iste

m -Primeiro tipo de ROM programada no fabrico

(masked ROM’s)

Utilizadas para armazenar o

conteúdo da BIOS em PC’s

PROM (OTP)Adquirida ‘virgem’ e programada, apenas uma vez, pelo utilizador.

ho, J

.P. @

p

EPROMPassível de ser reprogramada:

Processo de desenvolvimento de

Coe

lh reprogramada: Escrever – sinal eléctricoApagar – U.V.

desenvolvimento de “firmware”

Mem

órias.P

10 MEMÓRIAS HÍBRIDASHÍBRIDAS

O avanço da tecnologia fez esbater a fronteira entre ROM e RAM PLD.PLA

.FP

O avanço da tecnologia fez esbater a fronteira entre ROM e RAM

Reúnem o melhor dos dois mundos...Reúnem o melhor dos dois mundos...

07/0

8PG

A.-Podem ser lidas e escritas diversas vezes (como as RAM)

-Mantém o conteúdo armazenado mesmo na ausência de alimentação (como as ROM)

ais

: Y20

Híbrido EEPROM

FLASH

mas

Dig

ita FLASH

NVRAM

@ S

iste

m

- Alta densidade- Baixo custo- Electricamente

- Internamente semelhantes às EPROM- Apagam com sinal

ho, J

.P. @ programável

- Ao contrário das EEPROM não pode apagar Byte a Byte

- Apagam com sinal eléctrico.- Custo elevado e ciclos de escrita longos.

- SRAM+Bateria- Estratégia + onerosa

Coe

lh apagar Byte a Byte apenas sectores.

Mem

órias.P

11 MEMÓRIAS ROM: ROM: Tópicos de Hardware

-Função booleana qualquer pode ser escrita como uma “soma de produtos” ou PLD.PLA

.FP

Função booleana qualquer pode ser escrita como uma soma de produtos ou como um “produto de somas”

-Uma memória ROM consiste numa função que executa um mapeamento ENDEREÇO/DADO

07/0

8PG

A.

ENDEREÇO/DADO

-Uma memória ROM pode ser criada como SdP ou PdS

ais

: Y20 Ex. Criar uma memória ROM capaz de armazenar 8 palavras de 1 nibble

Endereço != para cada palavra => 8 endereços

N á i 3 bit di ti i 8 d

mas

Dig

ita Necessários 3 bits para distinguir 8 endereços

RO

M

ENDEREÇO DADOS

A2 A1 A0 D3 D2 D1 D0

@ S

iste

m

cont

eúdo

da 0 0 0 1 1 1 0

0 0 1 0 0 1 0

0 1 0 1 1 0 0

ho, J

.P. @ c 0 1 1 0 1 1 1

1 0 0 1 1 0 0

1 0 1 1 1 0 0

Coe

lh 1 1 0 0 0 1 0

1 1 1 0 0 0 1

Mem

órias.P

12Da ROM para a PROM...

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

13Sistema embebido com uP...

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

14LÓGICA PROGRAMÁVEL

PLD.PLA

.FP

-Multiplexer como forma versátil de implementar funções booleanas arbitrárias

-ROM’s também podem ser usadas para esse fim

O t t té i d l lé d ló i bi tó i ló i

07/0

8PG

A.

-Outras estratégias que podem envolver, além de lógica combinatória, lógica sequencial

Família de IC que possuem um

ais

: Y20

Família de IC que possuem um conjunto de elementos lógicos (ex. portas lógicas) que podem ser configuradas arbitrariamente

Lógica Programável

mas

Dig

ita

ASIC’s PLD’sPossuem uma arquitectura pré-determinada

@ S

iste

m

Um ou mais conjuntos de circuitos com portas AND e OR configuráveis

PLAPALGAL

SPLD

ho, J

.P. @ - Funções Analógicas e/ou

Digitais- Configurado pelo fabricante a partir de um projecto

OR configuráveis

Outros dispositivos mais complexos possuem flip-flop’s

él l tCPLD FPGA

Coe

lh macrocélulas etc.C G

Mem

órias.P

15Ao contrário dos CI digitais clássicos, em que a sua função era rígida, nos PLD’s o mesmo CI pode executar um sem número de funções!

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

m SPLD

Em forte declínio, são já poucos os fabricantes que ainda produzem SPLDs-Lattice

ho, J

.P. @

Lattice-Cypress-AMD-PHILIPS

Coe

lh

15

PHILIPS-TI

Mem

órias.P

16PAL’s

PAL... PLD.PLA

.FPPAL...

-Programmable Array Logic

-Implementação da forma disjuntiva

07/0

8PG

A.-Apenas a matriz de AND é programável

-Tipo de Arquitectura PLD mais popular

-Apenas as variáveis de cada termo

ais

: Y20

pmínimo podem ser programadas

mas

Dig

ita@

Sis

tem

ho, J

.P. @

Coe

lh

Mem

órias.P

17PLA’s

PLA... PLD.PLA

.FPPLA...

-Programmable Logic Array

-Possui tanto termos programáveis AND como OR

07/0

8PG

A.

como OR

-Maior Flexibilidade

-Normalmente possuem realimentação entre a saída de cada OR e a entrada do L

Win

CU

PL

ais

: Y20

entre a saída de cada OR e a entrada do conjunto de AND

-Permite implementar máquinas de estado assíncronas da

ptad

o de

: ATM

EL

mas

Dig

ita

exemplos

ad

@ S

iste

m

trôni

ca D

igita

l

ho, J

.P. @

de: L

uís

Laus

, Ele

ct

Coe

lh

adap

tado

d

Mem

órias.P

182ª Geração de PAL’s: GAL’s

GAL (Generic Array Logic)... PLD.PLA

.FPGAL (Generic Array Logic)...

-Desenvolvido pela LATTICE

-Capazes de implementar tanto funções combinatórias como sequenciais

07/0

8PG

A.

combinatórias como sequenciais (contadores, registadores, etc.)

-A sua velocidade compete com a da série 74XX da TTL

ais

: Y20 -Podem ser reprogramadas (~100X)

-Utilização de “macro-células” à saída

mas

Dig

ita

AR –RESET assíncronoSP – PRESET síncrono

S0 e S1 são “fuses”

@ S

iste

m

O-C

ÉLU

LAS0 e S1 são fuses

REGISTERED MODE

S1=0 S0=X

ho, J

.P. @

MA

CR

OS1 0 S0 X

COMBINATIONAL MODE

S1=1 S0=X

Coe

lh

NOTA: As saídas também podem ser entradas (como?)

Mem

órias.P

19Exemplo de Aplicação: PAL 16L8

x(A B C D) = Σ(7 8 9 10 11 12 13 14 15) x(A B C D) = A + BCD PLD.PLA

.FP

x(A,B,C,D) Σ(7,8,9,10,11,12,13,14,15) y(A,B,C,D) = Σ(0,2,3,4,5,6,7,8,10,11,15) z(A,B,C,D) = Σ(1,2,8,12,13) w(A,B,C,D) = Σ(2,12,13)

x(A,B,C,D) A + BCDy (A,B,C,D) = A'B + CD + B'D'z(A,B,C,D) = w + AC'D' + A'B'C'Dw (A,B,C,D) = ABC' + A'B'CD‘após simplificação…

07/0

8PG

A.

ais

: Y20

mas

Dig

ita@

Sis

tem

ho, J

.P. @

Coe

lh

Mem

órias.P

20

( )= ⋅ + ⋅ + ⋅

= ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅

x(A,B,C,D) A B A C A D

y(A,B,C,D) A C B A D B A C D B C D PLD.PLA

.FP( )( )= ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ + ⋅ ⋅

= ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅

z(A,B,C,D) w D A w A B w D B w C w A D

w(A,B,C,D) B A C A A B C B A C B C A D B D C D

07/0

8PG

A.

ais

: Y20

mas

Dig

ita@

Sis

tem

ho, J

.P. @

Coe

lh

Mem

órias.P

21

Num PLD a memória é usada para guardar o padrão que é dado ao IC durante a

Como ‘e que as PLD’s armazenam a informação?PLD

.PLA.FP

Num PLD a memória é usada para guardar o padrão que é dado ao IC durante a programação. Os métodos usados para a programação podem ser do seguinte tipo

- Anti-fusíveis Silício (PROM)- SRAM

C O O

07/0

8PG

A.- Células EPROM, EEPROM - Memória Flash

CPLD’s

ais

: Y20

CPLD s

As PALs e GALs estão disponíveis somente em tamanhos pequenos, equivalentes a algumas centenas de portas lógicas.

mas

Dig

ita

Para circuitos lógicos maiores pode-se usar Complex PLD ou CPLDs.

Este contém o equivalente a algumas PALs ligadas por interconexões programadas.

@ S

iste

m

CPLDCPLD

(Complex PLD)

ho, J

.P. @

(Complex PLD)

“rouba” portas AND

Capacidade para aumentar os termos AND para cada termo OR fixo

Coe

lh adjacentes ou utiliza uma matriz adicional

Mem

órias.P

22 As PLD’s internas são designadas por FB’s ou CFB’s (Configurable PLD.PLA

.FPCFB s (ConfigurableFunctional Bocks)

XILINX ‘9500

07/0

8PG

A.- Cada CFB possui 36

entradas e 18 macro-células

ais

: Y20 - O número de pinos I/O

é menor do que o número total de macro-él l

mas

Dig

ita células

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

23FPGA’s

FPGAFPGADispositivo constituído por um conjunto de células lógicas PLD.PLA

.FP

FPGAFPGA(Field Prog. Gate Arrays)

Dispositivo constituído por um conjunto de células lógicas ou blocos lógicos alocados em forma de uma matriz

-Elevada densidade de portasEl d d h

07/0

8PG

A.

-Elevado desempenho-Elevado número de I/O-Esquema de interligação flexível

Surgiram em 1985 com XilinxOutras companhias:Actel, Altera, Plessey, Plus, AMD, etc.

ais

: Y20 Estrutura Interna

– CLB’s (Configurable Logic Block)– IOB’s (In/Out Block)

mas

Dig

ita – SB’s (Switch Box)

Switch Box (SB)

@ S

iste

m

Cada CLB possui lógica combinatória

Cada IOB pode ser configurado como entrada, saída, I/O.(Bufferizadas).

ho, J

.P. @

Possui uma matriz de CLB’s

Cada CLB possui lógica combinatória programável e registos de memória.

Coe

lh Possui uma matriz de CLB s [configurable logic blocks] circundada por um anel de blocos de I/O (IOB’s)

Mem

órias.P

24CLB’s

Xilinx XC3000 PLD.PLA

.FP

Xilinx XC300007

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

25IOB’s

PLD.PLA

.FP07

/08

PGA

.ai

s : Y

20m

as D

igita

@ S

iste

mho

, J.P

. @C

oelh

Mem

órias.P

26Switch Box

Permite a interconexão entre os CLB’s através dos canais de routeamento PLD.PLA

.FP

Permite a interconexão entre os CLB s através dos canais de routeamento07

/08

PGA

.ai

s : Y

20

Routeamento

mas

Dig

ita

A interligação entre os blocos é feita através de uma rede de duas camadas de metal

@ S

iste

m camadas de metal. As ligações físicas entre os fios são feitas:.Com transistores de passagem

ho, J

.P. @

p gcontrolados por bits de memória (PIP), .Com chaves de interconexão

Coe

lh

(Switch Matrix).

Mem

órias.P

27Programação de SPLD’s, CPLD’s e FPGA’s

PLD.PLA

.FP

Se bem que seja possível projectar um PLD simples manualmente, no caso de dispositivos mais complexos como é o caso dos CPLD’s e FPGA’s é obrigatório o uso de ferramentas CAD para o seu projecto.

07/0

8PG

A.

PAL’s:Aceitam na entrada um formato de ficheiro conhecido por ficheiro “JEDEC“ [Joint

ais

: Y20

conhecido por ficheiro JEDEC [Joint Electron Device Engineering Council].

Diversas linguagens para compiladores

mas

Dig

ita Diversas linguagens para compiladores lógicos:•CUPL, ABEL, HDL e VHDL, etc.

@ S

iste

m •Nos CPLD’s e FPGA’s, devido ao tipo de encapsulamento utilizado, a programação deve ser “em circuito”.

•Cada fabricante tem um nome proprietário para este sistema de

ho, J

.P. @ •Cada fabricante tem um nome proprietário para este sistema de

programação.

•A Lattice Semicondutor chama-lhe programação “in-system“ (ISP).

Coe

lh

•Normalização através da Joint Test Action Group (JTAG).