SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. • Standards para Memórias Os fabricantes de memórias utilizam várias notações para a descrição dos sinais de temporização das memórias. Na tentativa de uniformizar essas notações foi proposto um standard pelo IEEE Task Force, P662, em Semiconductor Memory Terminology and Specifications, em cooperação com o JEDEC JC42 Committee on Semiconductor Memories, tendo alguns fabricantes de memórias aceite esse standard. No standard IEEE, atribuem-se letras maiúsculas aos vários sinais. Por exemplo, uma entrada de dados é designada por D e uma saída de dados por Q. Uma linha bidireccional de entrada/saída de dados assinala-se com DQ. O intervalo de tempo entre dois sinais de temporização é descrito por uma mnemónica que consiste numa sequência de letras maiúsculas, começando pela letra T. A letra ou grupo de letras seguintes referem-se ao primeiro sinal de temporização. Em seguida surge uma letra que indica o tipo de transição lógica desse sinal. A letra ou grupo de letras seguintes referem-se ao segundo sinal de temporização, seguindo-se-lhe uma letra correspondente ao tipo de transição deste sinal. São identificados os seguintes tipos de transições lógicas: L transição para um nível baixo H transição para um nível baixo V transição para um estado válido X transição para um estado inválido Z transição para alta impedância (tri-state) Por exemplo, o parâmetro temporal TD V W L corresponde ao intervalo de tempo que decorre desde que os dados se tornam válidos até que o sinal de habilitação de escrita W vá para o nível baixo. A barra que, normalmente, se coloca por cima de um sinal activo no nível baixo é omitida no nome do parâmetro temporal. Nos diagramas temporais que a seguir se apresentam, colocam-se entre parênteses os nomes IEEE dos sinais onde outros nomes são muito comuns. 1/6 SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. EXEMPLOS DE CÉLULAS E MATRIZES DE MEMÓRIA. Fig. 2 - Célula de memória dinâmica de tecnologia MOS. Fig. 1 - Célula de memória RAM estática de tecnologia MOS. Fig. 4 - Matriz de memória PROM com díodos Schottky. Fig. 3 - Matriz de memória ROM de tecnologia MOS. 2/6 SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. • Memória Estática É necessário aplicar determinados sinais aos componentes das memórias semiconductoras. Para uma operação de escrita, deve ser passada ao componente a seguinte informação básica: (i) O endereço da(s) célula(s) de memória (ii) Os dados que se pretendem escrever nas células de memória (iii) Um sinal habilitador de escrita para se iniciar a operação. Para uma operação de leitura, deve estar presente a seguinte informação: (i) O endereço da(s) célula(s) de memória (ii) Um sinal habilitador de leitura para se iniciar a operação em conjunto com os dados resultantes da leitura das células selecionadas. Na fig.1 representa-se a arquitectura interna de uma memória estática típica e nas figs. 2 e 3 os sinais de temporização. Fig. 5 – Arquitectura Interna de uma memória estática típica. 3/6 SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. Símbolos e parametros das Fig. 6e Fig. 7: Parâmetro Símbolo TELEL TAVEL TEHAX TELQV TGLQV TGHQX TELWL TDVWL TWLWH TWHDX TWHEH Tempo de ciclo (de CE ) Tempo de set-up do endereço em relação a CE Tempo de hold do endereço em relação a CE Tempo de acesso em relação a CE Tempo de acesso em relação a OE Tempo de hold dos dados após desactivação de OE Tempo de set-up de CE em relação a WE Tempo de set-up dos dados em relação a WE Largura do impulso de escrita Tempo de hold dos dados em relação a WE Tempo de hold de CE em relação a WE Fig. 6 – Transferência de leitura. Fig. 7 – Transferência de escrita. 4/6 SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. Dispositivos Lógicos Programáveis – PLDs. Um dispositivo lógico programável (Programmable Logic Device) é um circuito integrado que contem componentes lógicos que podem ser interligados internamente de várias formas restritas utilizando ligações tipo fusíveis ou outros métodos de interconexão seleccionáveis. Alguns PLDs são puramente combinacionais, enquanto outros dispõem de flip-flops. Alguns PLDs são projectados para implementarem máquinas tipo Mealy ou tipo Moore. Além dos PLDs que utilizam fusíveis bipolares, tem-se produzido PLDs CMOS programáveis electricamente, utilizando a tecnologia das EEPROMs as quais permitem que os padrões de interconexão sejam alterados através de uma sequência de programação. Tal como para as ROMs, os padrões fixos podem produzir-se em grandes quantidades. Um tipo de dispositivo lógico programável é a matriz lógica programável, PLA (Programmable Logic Array). As PLAs contem um conjunto de portas AND ligadas a um conjunto de portas OR. Existem ligações seleccionáveis entre as entradas do dispositivo e as entradas das portas AND e entre as saídas das portas AND e as entradas das portas OR, de modo que se podem implementar expressões na forma de soma-de-produtos. Também se desenvolveram outros tipos de PLDs como podemos ver na Fig. 8. Fig. 8 – Tipos de dispositivos lógicos programáveis (PLDs) 5/6 SISTEMAS DIGITAIS II UNIVERSIDADE DA BEIRA INTERIOR FOLHAS DE APOIO: MEMÓRIAS E PLDs. Os dispositivos que designamos por PAL são semelhantes às PLAs, exceptuando o facto de que as ligações entre as portas AND e as portas OR são fixas; apenas as ligações às portas AND são programáveis. Assim as saídas das portas AND não podem ser partilhadas entre as funções AND-OR devendo ser duplicadas caso existam termos comuns. Contudo este dispositivo é geralmente mais barato e mais fácil de programar, e tem sido amplamente utilizado. O elemento lógico programável (PLE) tem todas as combinações de ligações às portas AND fixas e as ligações às portas OR programáveis. Uma PLE corresponde a uma PROM pois haverá uma determinada saída particular para cada combinação das entradas (tal como os dados de saída para cada combinação nas entradas dos endereços de uma PROM). Na matriz de portas programável (PGA), cada porta lógica (ou vários tipos) pode ser programada para ser ligada a pistas próximas. Também existem PLAs com flip-flops de saída, isto é, portas AND-OR com conexões seleccionáveis em ambas as portas AND e OR, e saídas registadas. Estes dispositivos designam-se por sequenciadores lógicos programáveis (PLSs). Normalmente não é necessário especificar directamente os padrões de ligações requeridos num PLD. Existe software para programar os PLDs, partindo das expressões booleanas ou de outras descrições do circuito requerido, produzindo os padrões das interligações para unidades de programação hardware dos PLDs. Esse software inclui simulação lógica de modo que o circuito pode ser modelado e testado antes de se “queimarem” os fusíveis do PLD. O PALASM4 (PAL assembler) da empresa AMD Inc. e o ABEL (Advanced Boolean Expression Language) da Data I/O Inc. são exemplos de software standard industrial. Uma das aplicações reais mais comuns para os PLDs é o interface lógico de um sistema microprocessador para reduzir o número de componentes do sistema. Como exemplo, temos o problema da descodificação das linhas de endereço para selecção de memória, que pode solucionar-se facilmente utilizando um PLD combinacional. 6/6