Índicevargas/disciplinas/eletronica-digital/... · máquina de moore 4.2. máquina de mealy 4.3....

54
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA Prof. Fabian Vargas 1 ÍNDICE INTRODUÇÃO AOS CIRCUITOS SEQUENCIAIS 03 1. LATCHES E FLIP FLOPS 08 1.1 LATCH RS – NAND 1.2 LATCH RS – NOR 1.3 FLIP-FLOP RS COM CLOCK 1.4 LATCH D, FLIP-FLOP D, FLIP-FLOP T 1.5 FLIP-FLOP D MESTRE-ESCRAVO ou D-MS 1.6 ENTRADAS ASSÍNCRONAS 1.7 FLIP-FLOP JK MESTRE - ESCRAVO 1.8 Aplicações com Flip-Flops 1.8.1 Exemplo 1 1.8.2 Exemplo 2 1.9 CI´s de Flip-Flops 1.10 Detectando uma Seqüência de Entrada 2. REGISTRADORES 18 2.1 Armazenamento e Transferência Serial de Dados 2.2 Transferência Paralela de Dados 2.3 Transferência Serial de Dados: Registradores de Deslocamento 2.4 Transferência Serial entre Registradores 2.5 Conversão Paralelo-Paralelo 2.6 Conversão Série-Paralelo 2.7 Conversão Paralelo-Série 2.8 Circuito Roteador ou Contador em Anel 2.9 Divisão de Freqüência e Contagem

Upload: phamdung

Post on 26-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

1

ÍNDICE

INTRODUÇÃO AOS CIRCUITOS SEQUENCIAIS 03 1. LATCHES E FLIP FLOPS 08

1.1 LATCH RS – NAND 1.2 LATCH RS – NOR 1.3 FLIP-FLOP RS COM CLOCK

1.4 LATCH D, FLIP-FLOP D, FLIP-FLOP T 1.5 FLIP-FLOP D MESTRE-ESCRAVO ou D-MS 1.6 ENTRADAS ASSÍNCRONAS 1.7 FLIP-FLOP JK MESTRE - ESCRAVO 1.8 Aplicações com Flip-Flops 1.8.1 Exemplo 1 1.8.2 Exemplo 2

1.9 CI´s de Flip-Flops 1.10 Detectando uma Seqüência de Entrada

2. REGISTRADORES 18

2.1 Armazenamento e Transferência Serial de Dados 2.2 Transferência Paralela de Dados 2.3 Transferência Serial de Dados: Registradores de Deslocamento 2.4 Transferência Serial entre Registradores 2.5 Conversão Paralelo-Paralelo 2.6 Conversão Série-Paralelo 2.7 Conversão Paralelo-Série 2.8 Circuito Roteador ou Contador em Anel 2.9 Divisão de Freqüência e Contagem

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

2

3. CONTADORES 25

3.1 Contador de Módulo 2n 3.2 Contador de Módulo < 2n 3.3 Diagrama de Transição de Estados 3.4 Contadores Síncronos (Paralelos) 3.5 Contadores Síncronos com Carga Paralela

4. MÁQUINA DE ESTADOS (FSM): MEALY E MOORE 30

4.1. Máquina de Moore

4.2. Máquina de Mealy

4.3. Projeto de Contadores Síncronos

5. MEMÓRIAS RAM E ROM 38

5.1. Memórias SRAM e DRAM

5.1.1 Introdução

5.1.2 Organização Interna de uma Memória

5.1.3 Chip de Memória

5.1.4 Mapeamento de Memória

5.2. Memórias ROM

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

3

INTRODUÇÃO AOS CIRCUITOS SEQUENCIAIS

A figura 1 mostra o diagrama de blocos de um circuito seqüencial. Um

circuito seqüencial é composto por um circuito combinacional e elementos de

memória. As entradas e as saídas do circuito seqüencial estão conectadas

somente ao circuito combinacional. Os elementos de memória são circuitos

capazes de armazenar informação codificada em binário. Algumas das saídas do

circuito combinacional são entradas para os elementos de memória, recebendo o

nome de variáveis do próximo estado. Já as saídas dos elementos de memória

constituem parte das entradas para o circuito combinacional e recebem o nome de

variáveis do estado atual. As conexões entre o circuito combinacional e os

elementos de memória configuram o que se costuma chamar laço de

realimentação, pois a saída de um bloco é entrada para o outro e vice-versa. A

informação armazenada nos elementos de memória num dado instante determina

o estado em que se encontra o circuito seqüencial. O circuito seqüencial recebe

informação binária das entradas que, juntamente com a informação do estado

atual, determinam os valores das saídas e os valores do próximo estado (vide

figura 1). Desta forma, fica evidente que as saídas de um circuito seqüencial

dependem não apenas das entradas, mas também do estado atual, armazenado

nos elementos de memória. E o mesmo pode ser dito para as variáveis de próximo

estado. Em função deste comportamento seqüencial, um circuito seqüencial é

especificado pela seqüência temporal de entradas, saídas e estados internos.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

4

Fig. 1. Diagrama de blocos de um circuito seqüencial.

Os circuitos seqüenciais podem ser divididos em dois tipos, conforme o

comportamento temporal dos seus sinais: síncronos e assíncronos.

O comportamento de um circuito seqüencial assíncrono depende da ordem

segundo a qual as entradas mudam e o estado do circuito pode se alterar a

qualquer tempo, como conseqüência de uma mudança de suas entradas. Os

elementos de memória utilizados nos circuitos seqüenciais assíncronos

apresentam uma capacidade de armazenamento que está associada diretamente

ao atraso de propagação dos circuitos que os compõem. Em outras palavras, o

tempo que esses circuitos levam para propagar uma mudança de suas entradas

até suas saídas pode ser encarado como o tempo durante o qual eles retêm os

valores aplicados antes da mudança, e esse fenômeno coincide com o conceito de

memória, para os circuitos digitais. Nos circuitos seqüenciais assíncronos, os

elementos de memória são compostos por portas lógicas que provêem um atraso

de propagação com valor adequado para o funcionamento do circuito. Então, um

circuito seqüencial assíncrono pode ser visto como um circuito combinacional com

realimentação. O projeto de circuitos com realimentação apresenta grandes

dificuldades, uma vez que seu funcionamento correto é dependente das

características temporais dos componentes (portas lógicas e fios). A principal

dificuldade provém do fato de que os componentes apresentam atrasos que não

são fixos, podendo serdiferentes mesmo para exemplares com mesma função e

de um mesmo fabricante. Desta forma, os circuitos seqüenciais assíncronos têm

sido evitados, sempre que possível, em favor do uso de circuitos seqüenciais

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

5

síncronos. Um circuito seqüencial síncrono utiliza um sinal especial denominado

de relógio (clock, em inglês) o qual tem a função de cadenciar uma eventual troca

de estado. A figura 2 mostra um exemplo de sinal de relógio. A forma de onda de

um sinal de relógio é dita monótona, pois não se altera ao longo do tempo. Nela

podem ser identificados a borda de subida, a borda de descida, o nível lógico zero

e o nível lógico um. O tempo que decorre para o sinal se repetir é denominado

período e é representado por T. Por exemplo, o tempo entre duas bordas de

subida sucessivas é igual a T. Da mesma forma, o tempo entre duas bordas de

descida sucessivas é igual a T.

Fig. 2. Exemplo de sinal de relógio (clock).

A freqüência de um sinal de relógio, representada por f, é definida como

sendo o inverso do período, ou seja:

Para medir-se o período, usa-se os múltiplos do segundo: ms (milissegundo

= 10-3s), ms (microssegundo = 10-6s), ns (nanossegundo = 10-9s) e ps

(picossegundo = 10-12s). Para medir-se a freqüência, usa-se os múltiplos do hertz:

kHz (quilohertz = 10+3Hz), MHz (megahertz = 10+6Hz) e GHz (gigahertz = 10+9Hz).

Um hertz equivale a 1/1s (i.e., o Hertz é o inverso do segundo).

Exemplo: um circuito digital síncrono é cadenciado pelo uso de um sinal de

relógio de 200 MHz. Qual é o maior atraso permitido para um circuito

combinacional qualquer dentro deste circuito. Ora, se esse circuito deve trabalhar

à freqüência de 200 MHz, então, cada um de seus blocos combinacionais deve ter

um atraso inferior ao período do relógio, o qual pode ser calculado por:

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

6

Num circuito seqüencial síncrono, o sinal de relógio determina quando os

elementos de memória irão amostrar os valores nas suas entradas. Conforme o

tipo de circuito utilizado como elemento de memória, esta amostragem das

entradas pode ser sincronizada pela borda ascendente ou pela borda descendente

do relógio. Seja qual for o tipo de sincronização, o tempo que transcorre entre

duas amostragens sucessivas equivale a T, o período do relógio. Isto implica que,

qualquer mudança no estado de um circuito seqüencial síncrono irá ocorrer

somente após a borda do sinal de relógio na qual seus elementos de memória são

disparados.

A figura 3 mostra o diagrama de blocos de um circuito seqüencial síncrono.

Os elementos de memória utilizados nos circuitos seqüenciais síncronos são

denominados flip-flops. Um flip-flop é um circuito digital que possui duas entradas

e duas saídas e é capaz de armazenar um bit de informação. As duas entradas

não são intercambiáveis: uma é reservada ao sinal de controle (relógio) e a outra

recebe o dado (bit) a ser armazenado. As saídas correspondem ao dado (bit)

armazenado e ao seu complemento. O sinal de relógio determina o instante em

que o flip-flop amostra o valor do dado, podendo corresponder a uma borda de

subida ou a uma borda de descida, dependendo de como o flipflop é constituído.

O diagrama da figura 3 mostra que o valor de cada variável de estado é

armazenado num flip-flop específico. Os valores que representam o próximo

estado só são amostrados na borda ativa do relógio. Logo, o estado atual fica

armazenado no conjunto de flip-flops até que uma nova borda do relógio chegue,

quando então o próximo estado passa a ser o estado atual e um novo próximo

estado será gerado pelo circuito combinacional.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

7

Fig. 3. Diagrama de blocos de um circuito seqüencial síncrono.

Desde que devidamente alimentado com energia, um flip-flop pode manter

indefinidamente um estado, até que os sinais de entrada assumam uma

configuração tal que o façam mudar de estado. Essa configuração depende de

como o flip-flop é constituído. O estado em que um flip-flop se encontra

usualmente é associado ao valor binário que ele está armazenando. Desta forma,

num dado instante, um flip-flop estará armazenando ou o valor lógico 1 (um) ou o

valor lógico 0 (zero), pois esses são os dois valores possíveis para uma variável

Booleana.

Elementos de Memória: Neste capítulo estudaremos dispositivos lógicos com dois estados estáveis,

o estado SET e o estado RESET. Por isto, tais dispositivos são denominados

dispositivos biestáveis.

Uma vez que estes dispositivos são capazes de reter indefinidamente o seu

estado (SET ou RESET), eles são usados como elementos de armazenamento de

informação. Informalmente, dispositivos biestáveis “memorizam” o seu estado.

Estudaremos dois tipos de dispositivos biestáveis: o latch e o flip-flop. A

diferença entre um latch e um flip-flop é a maneira como ocorre a troca de estado:

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

8

• Um flip-flop muda seu estado por ação de um pulso de disparo, denominado de

clock. Por este motivo, um flip-flop é caracterizado como um dispositivo

biestável síncrono, porque somente muda de estado em sincronismo com a

ocorrência do pulso de clock.

• Um latch, por sua vez, é caracterizado como um dispositivo biestável

assíncrono, porque muda de estado sem necessidade de sincronismo com um

trem de pulsos de controle (pulsos de clock).

1. LATCHES E FLIP FLOPS

1.1. LATCH RS - NAND

1.2. LATCH RS – NOR

/SET /RESET Q /Q CONDIÇÂO

0 0 1 1 INVÁLIDA

0 1 1 0 SET

1 0 0 1 RESET

1 1 Q /Q MEMÓRIA

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

9

SET RESET Q /Q CONDIÇÂO

0 0 Q /Q MEMÓRIA

0 1 0 1 RESET

1 0 1 0 SET

1 1 0 0 INVÁLIDA

1.3. FLIP-FLOP RS COM CLOCK

CLOCK SET RESET Q /Q CONDIÇÂO

0 0 0 Q /Q MEMÓRIA

0 0 1 Q /Q MEMÓRIA

0 1 0 Q /Q MEMÓRIA

0 1 1 Q /Q MEMÓRIA

1 0 0 Q /Q MEMÓRIA

1 0 1 0 1 RESET

1 1 0 1 0 SET

1 1 1 1 1 INVÁLIDA

1.4. LATCH D, FLIP-FLOP D, FLIP-FLOP T

Latch D:

Q

Q

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

10

Flip-Flop D:

CLOCK D Q /Q CONDIÇÂO

0 0 Q /Q MANTÉM

0 1 Q /Q MANTÉM

1 0 0 1 RESET

1 1 1 0 SET

FF-D é uma variação do FF-RS, onde as duas entradas estão unidas

através de um inversor, e assim formando uma única entrada (D).

1.5. FLIP-FLOP D MESTRE-ESCRAVO ou D-MS

CLOCK D QM /QM QS /QS

1 0 0 1 QS /QS

0 0 QM /QM 0 1

1 1 1 0 QS /QS

0 1 QM /QM 1 0

(QM)

(/QM)

QS

/QS

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

11

1.6. ENTRADAS ASSÍNCRONAS

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

12

1.7. FLIP-FLOP JK

equivalente a

uma NAND

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

13

CLOCK J K Q /Q

0 0 0 Q /Q

0 0 1 Q /Q

0 1 0 Q /Q

0 1 1 Q /Q

1 0 0 Q /Q

1 0 1 0 1

1 1 0 1 0

1 1 1 INVERTE INVERTE

Exemplo de implementação de um FF-D edge triggered (disparado por borda

de subida)

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

14

1.8. APLICAÇÕES COM FLIP- FLOPS

1.8.1 EXEMPLO 1

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

15

1.8.2 EXEMPLO 2

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

16

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

17

1.9. CI´S DE FLIP-FLOPS

1.10. Detectando uma Seqüência de Entrada

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

18

t

tHL

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

19

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

20

2. REGISTRADORES

2.1. Armazenamento e Transferência de Dados

2.2. Transferência Paralela de Dados

Obs: “S” e “C” é o

mesmo que “SET”

e “RESET”

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

21

2.3. Transferência Serial de Dados: Registradores de

Deslocamento

2.4. Transferência Serial entre Registradores

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

22

2.5. Conversão Paralelo-Paralelo

2.6. Conversão Série-Paralelo

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

23

2.7. Conversão Paralelo-Série

2.8. Circuito Roteador ou Contador em Anel

No contador em anel, uma das saídas dos flip-flops está em 1 e as outras está em 0. Por ser

um registrador de deslocamento, esse 1 é transferido para o próximo flip-flop e assim

sucessivamente. A tabela abaixo mostra a seqüência da contagem.

Para o perfeito funcionamento deste tipo de contador, um dos flip-flops deve ter inicialmente

o valor 1 e os outros 0. Isso pode ser feito através das entradas assíncronas PRESET e CLEAR.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

24

2.9. Divisão de Freqüência e Contagem

Este circuito divide a freqüência do clock de entrada em 1/2n onde n é o

número de flip-flops utilizados.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

25

Exercícios:

Questão 1: Dados os Flip-Flops D das Sessões 1.5 e 1.6 vistos anteriomente,

apresente as saídas Q e /Q em função das entradas D e Ck. Suponha que a

condição inicial de Q é “0”.

D

Ck

Q

/Q

Tempo: 1 2 3 4 5 6 7 8

D

Ck

Q

/Q

Tempo: 1 2 3 4 5 6 7 8

FF-D,

Sessão

1.5

FF-D,

Sessão

1.6

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

26

Questão 2: Dado o Divisor de Freqüência da Sessão 2.9, implemente um circuito

que divide a freqüência por 16 e apresente o Diagrama de Tempo para

demonstrar seu funcionamento. Apresente também o circuito ao nível de portas

lógicas e calcule a freqüência máxima de operação deste, considerando que o

atraso de uma porta NAND-2 é 1 ns.

Questão 3: Suponha que uma versão de 8 bits do Circuito Conversor Paralelo-

Série (Sessão 2.7) esteja conectada ao Circuito Roteador ou Contador em Anel

visto na Sessão 2.8. Admitindo-se que:

a) a porta “A” de 8 bits de um microcontrolador esteja conectada ao

Circuito Conversor Paralelo-Série,

b) que a saída serial do circuito conversor acima controle a entrada “Clock”

do Contador em Anel, e

c) que as 4 saídas do Contador em Anel estejam conectadas a 4 relés que

comandam motores na linha de produção de uma dada fábrica,

responda: qual a sequencia de endereços que o microprocessador deve colocar

na porta “A” para que ele envie ative cada um dos motores pelo menos uma vez

(assuma que ativar os motores implica em enviar um nível lógico alto para o relé

que controla o referido motor.

Questão 4: Dado o Circuito Roteador ou Contador em Anel e o diagrama de

tempo da Sessão 2.8, pergunta-se: qual era a condição inicial deste circuito antes

do primeiro pulso de clock?

3. CONTADORES

3.1. Contador de Módulo 2n

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

27

3.2. Contador de Módulo < 2n

Até que valor conta

este circuito?

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

28

3.3. Diagrama de Transição de Estados

Explique o porquê

destes pulsos

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

29

3.4. Contadores Síncronos (Paralelos)

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

30

3.5. Contadores Síncronos com Carga Paralela

Exercício:

Apresente o

Diagrama de Tempo

deste circuito

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

31

4. Máquina de Estados (FSM): Mealy e Moore

As máquinas seqüenciais síncronas se classificam quanto à forma da

função de saída, em dois grandes tipos:

- Máquina de Moore

- Máquina de Mealy

Veremos a seguir as equações que definem estas máquinas:

4.1. Máquina de Moore

As equações que definem este tipo de circuito seqüencial síncrono são:

Qi+1 = f (E,Qi) onde: f é a função próximo estado

S = g (Qi) g é a função de saída

Note que o estado futuro ( Qi+1 ) depende do valor atual das entradas

e do estado em que o circuito se encontra. O valor das saídas (S), por outro

lado, depende apenas do estado atual.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

32

O diagrama de blocos genérico desta máquina seria:

Obs: - “f” e “g” são implementados usando lógica combinacional.

- a memória (que em geral é um registrador) guarda o estado atual Qi. Ela é

uma “barreira temporal” que, controlada pelo relógio (“clock”), impede a alteração

do estado, e portanto das saídas, antes do tempo previsto. Note que a cada ciclo

de relógio tem-se um novo Qi, e portanto, um novo Qi+1.

Numa máquina de Moore, o “futuro” (Qi+1) não consegue modificar o

“presente” (Qi) devido à barreira temporal. Quando chegar o “tempo” (clock), o

presente se torna o “passado” e o “futuro”, “presente”.

4.2. Máquina de Mealy

Suas equações são as seguintes:

Qi+1 = f (Qi, E) onde f: função próximo estado

S = g (Qi, E) g: função de saída

A diferença desta máquina para a de Moore é que o valor das saídas (S) é

função não somente do estado atual, mas também do valor instantâneo das

entradas. A máquina de Mealy é útil nas aplicações em que a manifestação das

entradas sobre as saídas não pode ser postergada até o próximo estado Qi+1

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

33

(isto é, as saídas devem reagir imediatamente a condições específicas das

entradas).

O diagrama de blocos genérico da máquina de Mealy é:

Aqui, o efeito das entradas faz parte do “presente” e manifestam-se

imediatamente nas saídas (S). Pode inclusive haver mudanças nas saídas entre

“transições” do relógio. Na máquina de Moore, o valor das saídas (S) é função

somente do estado, só mudando junto com as mudanças do relógio (as

“transições”), ou seja, na máquina de Moore a ação das entradas (E) só será

sentida no próximo estado, e de maneira indireta, já que E influi em Qi+1 e este

determinará os próximos valores das saídas. Por isso, a máquina de Mealy pode

produzir algumas saídas com avanço de até um ciclo de relógio em relação à

máquina de Moore. Em geral, as máquinas de Mealy são mais econômicas e

mas difíceis de se projetar.

Exemplo de Máquina de Moore:

Imaginemos um circuito digital que receba uma seqüência de entradas

(valores numéricos) e que coloque na saída o maior dos valores recebidos até

então. “E” (o vetor de entradas) terá 4 bits e será sempre positivo (variando,

portanto, na faixa E = (0000)2 = 0 até E = (1111)2 = 15). “S” (o vetor de saídas) é

uma variável do mesmo tipo de “E” (inteiro positivo representado em 4 bits). Para

facilitar faremos S = Qi , isto é, o próprio valor do vetor de estado é a saída,

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

34

tornando a função “g” trivial (a função identidade). A função “f” pode ser enunciada

como:

“Se E>Qi { Qi = S}

então Qi+1 = E {próximo valor de S será E}

senão Qi+1 = Qi {próximo valor de S será o atual}”

Este circuito é conhecido como Comparador de Magnitude.

Obs.: o sinal adicional RESET é

uma entrada “assíncrona”, que

serve para inicializar o circuito

seqüencial (por exemplo, forçar

o estado de RQ para (0000)2

antes do início do

funcionamento).

- Supusemos RQ sensível à borda de subida de CK.

- T = período do relógio (“clock”) = 1/f freqüência

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

35

A função “f” poderia ainda ser mais detalhada :

CM = Comparador de Magnitude

MUX = Multiplexador 2:1

Comparador : Se E >= Qi

Então MAIOR = 1

Senão MAIOR = 0

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

36

Multiplexador : Se SELECT = 1

Então Qi+1=E

Senão Qi+1=Qi

4.3. Projeto de Contadores Síncronos

Projeto de um contador Up/Down que conta 0 → 1 → 2 :

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

37

Contador Up/Down de 3 Bits em Código Gray

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

38

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

39

5. Memórias RAM e ROM

5.1 Memórias SRAM e DRAM

5.1.1 Introdução

Num contexto de sistemas computacionais a palavra “memória” é utilizada para designar um

conjunto de registradores no qual são armazenados programas e dados. Sob o ponto de vista do processador,

não há muita diferença se estes programas são sistemas operacionais, assemblers, compiladores ou softwares

de aplicação tais como editores de texto, planilhas ou jogos eletrônicos. É importante observar que a mesma

informação que é considerada dado em um momento, pode transformar-se em código no momento seguinte.

Por exemplo, quando o sistema operacional está carregando um editor de texto na memória, o conjunto de

instruções que formam o programa do editor de texto é considerado como dado pelo sistema operacional.

O desenvolvimento e expansão da tecnologia de fabricação de circuitos integrados para

armazenamento de dados determinaram o grande avanço dos computadores digitais. Até 1970, as memórias

de núcleo de ferrite eram de uso corrente. Entretanto, por causa de seu alto custo, grande consumo e

limitações em velocidade foram substituídos pelas memórias a semicondutores que lideram o mercado até

hoje.

Entre as principais características para se avaliar memórias, podemos destacar as seguintes:

- Densidade: Número de bits armazenados por área física. Está relacionado à capacidade total de

armazenamento.

- Velocidade: Se refere à rapidez com que os dados podem ser acessados (lidos) ou

armazenados(escritos).

- Potência: Potência consumida ou dissipada pela memória.

- Custo: Custo para armazenamento por bit, ou seja, o valor do semicondutor dividido pelo número

de bits que pode armazenar.

No manuseio de memórias é comum o uso de expressões referentes aos modos de operação, aos

terminais de entrada/saída, à capacidade de armazenamento e a sinais de controle. Dentre estas, cabe ressaltar:

- Escrita (Write): Termo usado para o procedimento de armazenamento de uma informação binária

na memória. Numa operação de escrita, a informação colocada nas entradas de dados é copiada numa posição

ou endereço da memória.

- Leitura (Read): Termo usado para o procedimento de obtenção, ou busca, de uma informação

armazenada em uma memória. Numa operação de leitura, a informação é armazenada na posição

correspondente às entradas de endereço e copiada nos bits de saída.

- Palavra (Word): Corresponde à informação formada por um grupo de bits armazenado em uma

determinada posição de memória que chamamos de endereço.

- Endereços (Address): Correspondem aos terminais do circuito integrado usados para identificar

uma certa posição de memória.

- Entrada de Dados (Data Input): Correspondem aos terminais do circuito integrado usados para

introdução dos dados a serem armazenados.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

40

- Saída de Dados (Data Output): Correspondem aos terminais do circuito integrado onde serão

colocados os dados armazenados numa dada posição da memória, em uma operação de leitura.

- Byte: Termo usado para uma informação binária que contém 8 bits.

- Kilobyte: Termo usado para um conjunto de 1.024 bytes.

- Memória volátil: É aquela que perde seu conteúdo na ausência de alimentação.

- Memória fixa: É aquela que não perde seu conteúdo na ausência de alimentação.

- Habilitação do CI (Chip Enable): Um terminal do circuito integrado, quando polarizado

convenientemente habilita ou desabilita a operação do chip provocando uma redução na potência dissipada e

impedindo a operação de escrita e leitura. Normalmente tais entradas são designadas por CE (Chip Enable)

quando a habilitação é com NL1 ou CE barrado quando a habilitação é com NL0. Alguns chips são

designados por CS (Chip Select) em vez de CE, porém ambos têm a mesma finalidade.

As memórias podem ser divididas em dois tipos: Memórias apenas de Leitura (ROM) e Memórias de

Acesso Aleatório (RAM).

As memórias ROM são do tipo não volátil e permitem o acesso aleatório a qualquer um dos

endereços. Permite apenas a leitura do conteúdo e é destinada a guardar uma informação de forma

permanente. As memórias RAM são do tipo volátil e permitem o acesso aleatório a qualquer um dos

endereços tanto para a escrita quanto para a leitura. São usadas para armazenar temporariamente as

informações, tais como os programas dos usuários (principalmente de computador).

5.1.2 Organização Interna de uma Memória

Uma memória constitui-se de uma matriz (array) de células de memória, cada célula com

capacidade de armazenar um bit. Da mesma forma que em programas de alto nível, estes arrays podem ser

unidimensionais ou multidimensionais. Para reduzir o número de linhas necessárias para comunicar o

endereço da célula (ou palavra) que está sendo endereçada, o endereço fornecido pelo processador é

codificado em N linhas de endereço. Dado este endereço, é preciso utilizar um circuito decodificador para

identificar dentre as 2N

possíveis posições de memória, qual que está sendo lida/escrita. Um possível circuito

decodificador é ilustrado na fig. 6.1. O circuito que implementa o decodificador desta figura é mostrado na

fig. 6.2.

Fig. 6.1. Circuito decodificador de 3 para 8 linhas.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

41

Fig. 6.2. Circuito que implementa o decodificador de 3 para 8 linhas.

Observe que para um codificador de 3 linhas de endereço para 8 linhas de dados são necessárias 8

portas AND com 3 entradas por porta.

Numa estrutura de array unidimensional, um único decodificador é necessário, conforme ilustrado

na fig. 6.3. Considere uma memória com 4 Kbits (4096 bits). Para endereçar individualmente cada um dos

bits desta estrutura são necessárias 12 linhas de endereço. Na estrutura unidimensional é necessário um

decodificador com 4096 portas AND, cada uma com 12 entradas.

Para simplificar os decodificadores, arrays bidimensionais são mais comumente utilizados para

implementar memórias. A mesma memória de 4Kbits pode ser endereçada através de 6 linhas de endereço

de linha e 6 linhas de endereço de coluna. Esta memória precisa de dois decodificadores, cada

decodificador com 64 portas AND, com 6 entradas cada uma. Isto representa uma economia de 4096 - (2 x

64) = 3968 portas AND. Uma estrutura interna bidimensional é mostrada na fig. 6.4.

Fig. 6.3. Estrutura interna unidimensional de uma memória.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

42

(a)

(b) (c)

Fig. 6.4. Memória RAM: (a) Estrutura interna bidimensional de uma memória; (b) Célula de memória

SRAM; (c) Célula de memória DRAM

Gnd

Bit node

(Capacitor Drain-Bulk)

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

43

A figura seguinte mostra que a RAM dinâmica apresenta um terminal a mais em relação à RAM estática,

responsável pelo Refresh (revivamento) a fim de não perder o conteúdoarmazenado dentro das células.

A tabela abaixo mostra os valores que devem ser inseridos nos terminais CE e WE para que se

possa acessar a memória para leitura e escrita.

Além da vantagem de redução na complexidade dos decodificadores, um array bidimensional

pode reduzir o número de pinos necessários no chip de memória. Isto é feito através da multiplexação

dos pinos que fornecem o endereço de linha e de coluna. A fig. 6.5 ilustra os processos de multiplexação e

demultiplicação que ocorre para cada par de linhas fora e dentro do chip, respectivamente. Observe que uma

estrutura similar à mostrada na fig. 6.5 terá que ser construída para cada par de linhas de endereços que

compartilham pinos do chip.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

44

Fig. 6.5. Multiplexação de linhas de endereço para compartilhamento de pinos.

Por exemplo, o chip de memória µPD4216800 da NEC Electronics que possui uma capacidade de

armazenamento de 2 Mbytes tem apenas doze linhas de endereço. Isto é conseguido endereçando os dados

não bit-a-bit, mas byte-a-byte. O que significa que cada uma das células do array de memória armazena não

mais um bit, mas sim um byte. Ainda assim, doze linhas de endereço seriam apenas suficiente para endereçar

212

= 4096 = 4Kbytes. Como é feita a mágica?

A “mágica” é realizada por uma multiplexação externa ao chip das linhas de endereço e uma

demultiplexação interna como ilustra a fig. 6.6. Neste chip especificamente são utilizadas 12 linhas de

endereço para endereçar as linhas da matriz de memória e 9 linhas para as colunas. Portanto temos uma matriz

de 212

x 29

= 4096 x 512 = 221

= 2.097.152 = 2Mbytes.

Fig. 6.6. Representação do chip PD4216800.

Pergunta: É possível implementar a mesma organização de memória (2 Mbytes) com apenas

11 linhas de endereço? E com 10?

Com 11 linhas, sim: implementando o array de células com fator de forma quase igual a 1. Assim,

multiplexa-se as 11 linhas de endereço para as linhas da matriz e depois dez das onze linhas para as colunas,

num total de 211

x 210

= 221

bytes acessados. Com 10 linhas de endereço não é possível: 210

x 210

= 220

= 1.048.576 = 1Mbytes.

A0

A1

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

45

5.1.3 Chip de Memória

Agora que conhecemos a estrutura interna de uma memória, podemos subir um nível de abstração e

considerar memórias como “chips” prontos, que podemos utilizar em um sistema computacional baseado em

microprocessadores. Um destes chips é representado na fig. 6.6.

RAS (Row Address Strobe) é o sinal que indica para o chip de memória que o endereço da linha da

memória que está sendo acessada está presente no barramento de endereço. CAS (Column Address Strobe)

indica que o endereço da coluna da memória que está sendo acessada está presente no barramento de

endereços e WE indica que a operação é de escrita (quando está ativado) ou de leitura (quando está

desativado)1.

Para operar adequadamente, os sinais de endereço e dados devem ser fornecidos ao chip de memória

em sincronismo com os sinais de controle (RAS, CAS e WE). O diagrama de tempos simplificado para o

ciclo de leitura é apresentado na fig. 6.7.

Fig. 6.7. Diagrama de tempo simplificado do ciclo de leitura do µPD4216800.

5.1.4 Mapeamento de Memória

Considere um chip de memória capaz de armazenar 2 Mbytes e suponha que queremos

implementar um sistema microprocessado com capacidade de armazenamento de 16 Mbytes, cuja memória é

organizada em palavras de 16 bits. Como organizaríamos este sistema?

Solução: Uma forma natural de organizar esta memória seria colocar dois chips µPD4216800 lado

a lado para formar uma palavra de 16 bits, e utilizar 4 destas combinações para alcançar os 16 Mbytes de

memória desejado. Supondo que esta área de 16 Mbytes de memória inicie no endereço 0000.0000, a

organização desta memória ficaria conforme indicado na tabela 6.1.

1 A barra em cima do nome do sinal indica que o sinal é ativo baixo, isto é, o sinal deve ser considerado

ativado ou verdadeiro quando o seu nível elétrico é baixo e desativado ou falso quando o seu nível elétrico é

alto.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

46

ENDEREÇOS

(23 bits)

Dados (16 bits) Palavras

Endereçáveis

A

31 A

0 d

15 d

8 d

7 d

0

0000 0000

001F FFFF Mem0 Mem1 2M

0020 0000

003F FFFF Mem2 Mem3 2M

0040 0000

005F FFFF Mem4 Mem5 2M

0060 0000

007F FFFF Mem6 Mem7 2M

Tabela 6.1. Organização do espaço de endereçamento de memória.

Como a tabela 6.1 indica, as linhas de endereçamento A22 e A21 (A22/A21 = 00, 01, 10, 11, para

Mem0/Mem1, Mem2/Mem3, Mem4/Mem5, Mem6/Mem7, respectivamente) são utilizadas para fazer a

seleção entre os 4 slots do sistema. Estas linhas podem ser usadas como entradas de um decodificador cujas

saídas são utilizadas na geração de um sinal de Chip Select (CS) para os respectivos slots, conforme ilustrado

na fig. 6.8.

Mem0/Mem1

Mem2/Mem3

Mem4/Mem5

Mem6/Mem7

Chip Select's:

A22

A21

22 21 20 19

Linhas de EndereçoBancos de

Memória

Mem0/Mem1

Mem2/Mem3

Mem4/Mem5

Mem6/Mem7

0 0 0 00 0 1 1

0 1 0 00 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

Fig. 6.8. Decodificador de endereços.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

47

Fig. 6.9. Organização do Sistema de Memória com capacidade para 16MBytes e palavras de 16 bits.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

48

Exercício:

Dada uma célula de memória RAM, pergunta-se.

a) esssa célula é de uma RAM estática ou dinâmica? Justifique.

b) Preencher a tabela abaixo indicando se os transistores MOS estão cortados (0 =) ou conduzindo

(= 1), de acordo com a ordem dos fatos.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

49

5.2 Memórias ROM, PROM, EPROM e E2PROM

A seguir, estudaremos as memórias ROM que possuem as seguintes classificações:

ROM (Read Only Memory): Essa foi o primeiro tipo de memória da família ROM que surgiu e a

informação é gravada pelo fabricante através da queima de componentes (diodos, fusíveis ou transistores

bipolares) em uma matriz conforme a solicitação do projetista.

O funcionamento por queima de componentes é muito simples. Sempre que houver a necessidade de

se gravar “1” mantém-se a integridade do componente, caso contrário queima-se o mesmo. Para uma memória

constituída de fusíveis, quando se coloca “Vcc” no terminal de entrada de um fusível, obtém-se na saída o

nível lógico “1”. No entanto, quando se coloca “Vcc” no terminal de entrada de um fusível queimado, obtém-

se na saída o nível lógico “0”, formando assim a lógica de gravação de uma memória do tipo ROM.

A utilização da memória ROM tem duas grandes desvantagens:

1- Como a gravação depende do fabricante, o projetista fica sujeito a morosidade da entrega da

memória gravada.

2- O custo é alto, viabilizando o uso da memória apenas para produtos produzidos em larga escala,

pois a aquisição de memórias em grandes volumes reduz o custo por unidade.

PROM (Programmable Read Only Memory): Esse tipo de memória soluciona os problemas

levantados pelas desvantagens do uso da memória ROM, pois nesse caso a gravação é feita pelo próprio

projetista. Essa gravação funciona da mesma maneira que na ROM, ou seja, por queima de componentes

(normalmente diodos ou fusíveis).

O procedimento para a queima dos componentes é fornecido pelos fabricantes e específico para cada

circuito. A gravação é executada através de um aparelho chamado “Gravador de PROM”, que tem como

função a queima dos componentes conforme a tabela de gravação do projeto.

A memória PROM apresenta ainda uma grande desvantagem, pois uma vez programada (gravada)

não pode ser apagada para correções ou nova utilização. Isto ocorre porque uma vez que houve a queima dos

componentes é impossível a sua substituição.

EPROM (Erasable Programmable Read Only Memory): Essas memórias podem ser

programadas e reprogramadas pelo usuário, ou seja, em caso de erros de programação o chip não precisa ser

descartado, como no caso das memórias ROM e PROM. A programação (gravação) é feita pela aplicação de

sinais elétricos convenientes em pinos do chip e indicados pelos fabricantes.

A EPROM é um dispositivo com arquitetura similar às PROMs, mas do tipo MOS (“Metal Oxide

Semicondutor”), onde o conjunto inteiro das informações armazenadas pode ser apagado através da aplicação

de raios ultravioleta em uma janela de quartz localizada numa das faces do chip. Este raio deve possuir

comprimento de onda em torno de 2.537 Å, uma potência própria indicada pelo fabricante e ser aplicado

durante um intervalo de tempo situado entre 10 e 30 minutos. A gravação é feita através de circuitos

eletrônicos especiais, ou seja, um aparelho chamado de “Gravador de EPROM”.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

50

Essa memória é implementada usando o princípio de armazenamento do tipo “Floating-gate

Avalanche Injection MOS”. Num transistor PMOS, um potencial negativo aplicado ao gate produz um canal

de condução de cargas positivas (buracos) entre a fonte e o dreno. No transistor NMOS, para causar a

condução da fonte para o dreno e o conseqüente armazenamento de cargas negativas no gate, devemos aplicar

um pulso da ordem de 25 a 50 volts na junção p-n (dreno / fonte). Cerca de 20 a 30 % da carga armazenada se

perde depois de 20 anos. Ver figura abaixo.

Transistor nMOS Transistor pMOS

O pulso de programação é aplicado em um pino próprio do circuito no qual foram polarizadas as

linhas de dados e endereços. A duração típica desse pulso é da ordem de 1 ms e é encessário 1 destes pulsos

para cada endereço que se deseja programar na EPROM. O apagamento ocorre quando os elétrons

armazenados retornam ao substrato pela exposição aos raios ultravioletas.

E2

PROM (Electrically Erasable Programmable Read Only Memory): Neste tipo de

memória, tanto a gravação como a desgravação são feitas por sinais elétricos, ou seja, pode-se ler e escrever

na memória E2

PROM sem ter a necessidade de retirar-la da placa de circuito impresso para apagar-la e depois

gravar-la novamente no aparelho gravador. A principal tecnologia utilizada é a nMOS. Na verdade é um

transistor MOS modificado que é usado como um capacitor de carga que alcança um tempo de

armazenamento entre 20 e 30 anos.

Uma tensão elevada e da ordem de 20 volts entre a porta e dreno provoca a indução de cargas nas

portas flutuantes que ali permanecem quando a tensão é retirada. Uma tensão reversa apaga a carga

armazenada. Desta forma, tanto a programação como o apagamento pode ser feito por endereços de memória.

Não é preciso apagar toda a memória para corrigir algum dado ou usar a memória com novos valores.

Também não é necessário retirar os circuitos integrados dos soquetes. A memória E2

PROM pode ser

inteiramente gravada ou apagada em um tempo da ordem de 10 ms.

Essa memória pode ser confundida com a RAM uma vez que pode ser lida e escrita no próprio

circuito, porém a E2

PROM quando gravada permanece com os dados armazenados mesmo que se retire sua

alimentação, o que é característica básica de uma memória da família ROM, sem contar que a arquitetura é

similar à da EPROM.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

51

Dimensionamento de Memórias:

O dimensionamento de memórias é igual para qualquer tipo de memória, seja da família ROM ou da

família RAM. Para melhor compreender o dimensionamento ou tamanho de memória, vamos exemplificar

através das figuras seguintes:

As figuras A e B representam uma determinada memória da família ROM totalmente fictícia. A

figura A representa a forma como os bits são armazenados dentro da memória, ou seja, cada linha significa

um endereço, que conforme o exemplo dado, vai de “0” a “2.047”, resultando num total de 2.048 endereços.

Verifique que nesse exemplo cada endereço tem 10 bits, sendo que no total essa memória tem 20.480 bits. O

dimensionamento é dado na seguinte formato:

Nesse exemplo então, a memória tem tamanho de 2.048 x 10, ou seja, 2.048 endereços sendo que em

cada endereço tem 10 bits. Nesse exemplo, como existem 2.048 endereços então existem 2.048 pinos no chip

para poder acessar cada um desses endereços?

Claro que não, pois se você reparar na figura B (pinagem do circuito integrado) vai observar que

existem 11 pinos para o endereçamento dos 2.048 endereços, que vai do pino A0 até o pino A10. Isso é

possível devido a seguinte fórmula:

Número de endereços = 2Número de pinos de endereço

O número de pinos de saída da memória depende de quantos bits existem por endereço, pois desta

forma se houver 10 bits por endereço, esse invólucro terá 10 pinos de saída (Q), onde cada pino de saída

representa um bit gravado no determinado endereço. Por exemplo: se for acionado o endereço 3 da memória

fictícia anterior, devemos introduzir nos pinos de entrada o seguinte código: 00000000011 e a saída da

memória será 0111011000. Não devemos esquecer de introduzir “0” no pino CE para poder habilitar a

memória. Ainda com esse exemplo fictício, podemos mostrar as 3 maneiras de se dimensionar uma memória:

2.048 x 10 ou 2K x 10 ou 211 x 10

Quando for comprar uma memória, nunca se deve solicitar ao vendedor pelo tamanho (dimensão) da

mesma e sim pelo código obtido através dos databooks dos fabricantes de memórias. Caso não tenha o

tamanho necessário para o projeto, deve-se então partir para a “Associação de Memórias”.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

52

Configuração Interna da Memória:

A construção interna de uma memória da família ROM é feita pelo processo matricial conforme o

desenho seguinte. No caso de memórias do tipo ROM ou PROM que funcionam por queima de componentes

(diodo, fusível ou transistor bipolar), o seu princípio de construção é feito através do cruzamento de todos os

endereços com todas as saídas pelo sistema matricial, onde cada cruzamento é constituído por um dos

componentes a serem queimados conforme a conveniência. Já nos casos da EPROM ou da E2PROM também

é pelo processo matricial descrito acima, só que em cada cruzamento fazem parte os transistores da família

MOS que evidentemente neste caso não serão queimados e sim polarizados convenientemente.

Verificando-se o exemplo da configuração interna da figura, nota-se que o cruzamento dos endereços com as

saídas dá-se através de diodos (no caso ainda virgens). Sendo uma ROM ou PROM tanto pode ter nos

cruzamentos diodos como fusíveis ou transistores que funcionarão pela queima dos mesmos.

Se a memória for constituída internamente por transistores bipolares, o tempo de acesso é de

aproximadamente 50 ns. Tempo de acesso significa o período decorrido desde o momento em que a memória

foi endereçada até que a palavra esteja disponível na saída da memória.

As memórias EPROM ou E2PROM são constituídas com o mesmo tipo de arquitetura interna, ou seja

matricial (endereços por saídas), só que o cruzamento é feito através de transistores da família MOS.

O tempo de acesso através de dispositivos MOS é de aproximadamente 400 ns. A vantagem do transistor

MOS é por ser mais econômico, mas em compensação é mais lento que o bipolar.

Exemplo: Determine como será a gravação de uma memória ROM 8 x 4, conforme a tabela abaixo:

Resposta: O desenho abaixo representa uma memória ROM virgem de tamanho 8 x 4, ou seja, 8

endereços (3 pinos de entrada) por 4 bits por endereço (4 pinos de saída). Observe que o DEMUX tem a

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

53

função de decodificar os 3 pinos de entrada (A2, A1 e A0) em 8 endereços, onde cada endereço corresponde a

uma coluna e cada saída corresponde a uma linha. O cruzamento das colunas com as linhas é feito através dos

diodos (ainda não queimados).

A próxima figura representa o circuito interno da memória ROM com os componentes já queimados

segundo a tabela de gravação necessária para a realização do suposto projeto. Os diodos queimados estão

ausentes no desenho e em seu lugar aparece uma pequena mancha que representa a queima do componente.

Vamos introduzir nos pinos de entrada da memória os seguintes dados: A2 = 0, A1 = 0 e A0 = 0.

Dessa maneira o DEMUX vai acoplar a sua entrada (Vcc) com a primeira saída (S0). Isto significa que S0

está em NL1 enquanto as demais saídas do DEMUX estão em NL0. Observe agora que o fio que sai de S0

está fazendo contato apenas com a 3º e 4º linhas através dos diodos, enquanto que a 1º e 2º linhas não fazem

contato com o fio de S0, pois estes diodos foram queimados. Dessa maneira, o NL1 vai parar apenas nas

saídas Q1 e Q0 do DEMUX, enquanto que Q3 e Q2 estão em NL0.

Assim, temos: A2 = 0, A1 = 0 e A0 = 0 resultando em Q3 = 0, Q2 = 0, Q1 = 1 e Q0 = 1, conforme

solicitado pela tabela de gravação do projeto. A cada combinação estabelecida nos pinos de entrada da

memória, será chamada uma das saídas do DEMUX. Conforme a saída do DEMUX que foi acoplada ao Vcc,

encontrará um conjunto de componentes inteiros e queimados de acordo com a conveniência da gravação e

desta maneira teremos um conjunto de saídas da memória diferenciada para cada conjunto de entradas.

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Eletrônica Digital - ECA

Prof. Fabian Vargas

54

Exercício: Dado o circuito interno da memória abaixo, determine os itens a seguir:

a) A dimensão desta memória.

b) A tabela de gravação.

c) É possível apagar essa memória? Justifique.

d) Qual a finalidade do CE (Chip Enable) ou CS (Chip Select)?