Upload
ngotram
View
233
Download
0
Embed Size (px)
Citation preview
CIRCUITOS SEQUENCIAIS
ASSÍNCRONOS
====
CSAs
Notas sobre
Circuitos Lógicos Programáveis pelo Utilizador
José Miguel Lopes Vieira dos Santos
ISEP
1992
V-2005
2
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
INDÍCE
1 Circuitos Sequenciais Assíncronos.....................................................................................3
1.1 Introdução .......................................................................................................................3 2 Análise de CSA's ................................................................................................................5
2.1 Exemplo de Análise ........................................................................................................7 2.1.1 EQUAÇÃO DE SAÍDA .........................................................................................7 2.1.2 MAPA DE EXCITAÇÕES.....................................................................................8 2.1.3 TABELA DE FLUXO (ou de SEQUÊNCIAS) ......................................................8 2.1.4 DIAGRAMA DE ESTADOS .................................................................................9 2.1.5 DIAGRAMA TEMPORAL..................................................................................10
2.2 LÓGICA COMBINATÓRIA DE SAÍDA ....................................................................10 3 Projecto de CSAs ..............................................................................................................12
3.1 PROJECTO com PORTAS LÓGICAS ........................................................................12 3.1.1 DIAGRAMA TEMPORAL..................................................................................12 3.1.2 DIAGRAMA DE ESTADOS ...............................................................................13 3.1.3 TABELA DE SEQUÊNCIAS PRIMÁRIA ..........................................................13 3.1.4 DIAGRAMA REDUTOR.....................................................................................14 3.1.5 TABELA REDUZIDA..........................................................................................15 3.1.6 MAPA DE EXCITAÇÃO.....................................................................................16 3.1.7 IMPLEMENTAÇÃO DO CIRCUITO .................................................................17
3.2 PROJECTO COM FLIP-FLOP RS...............................................................................18 3.3 EXEMPLO DE PROJECTO com FFs..........................................................................18
3.3.1 MAPA de EXCITAÇÃO de R e S........................................................................19 3.3.2 LÓGICA COMBINATÓRIA DE SAÍDA ............................................................20 3.3.3 IMPLEMENTAÇÃO DO CIRCUITO .................................................................20
4 Notas Adicionais e Exemplos ...........................................................................................21 - Qualquer utilização deste texto deverá ser formalmente autorizada pelo autor. - Algumas referências no texto são marcas registadas por fabricantes. RESERVADOS OS DIREITOS DE EXECUÇÃO GRÁFICA
3
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
1 Circuitos Sequenciais Assíncronos
1.1 Introdução
Conhecidos os circuitos Combinatórios e os Sequenciais (de sequência fixa) vamos
analisar agora os Circuitos Sequenciais Assíncronos (CSAs) que, sendo circuitos
sequenciais, admitem a possibilidade de pré-determinar a evolução da saída em função da
sequência da combinação das entradas, isto é, uma mesma combinação das entradas pode
originar saídas diferentes, dependendo da evolução prévia.
Esta é uma área em expansão, e rápida evolução, apoiada na utilização dos circuitos
integrados (CI) programáveis pelo utilizador. Genericamente denominados CPLDs
(Complex Programmable Logic Devices), FPGAs (Field Programmable Gate Array) e
ASICs (Aplication Specific Integrated Circuits), contêm uma matriz (completa ou não) de
PORTAS LÓGICAS e eventualmente FLIP-FLOPS, que é programada de acordo com as
necessidades do circuito a implementar pelo utilizador, permitem reduzir o número de CIs
LSI1 e MSI2 necessários num circuito (vide séries TTL- 74xxx ou CMOS- 4xxx por
exemplo) de um factor que se aceita usualmente entre 5 e várias dezenas, conforme o tipo
de integrado programável e a complexidade do circuito.
Acresce que um CI programável da gama baixa tem um número de pinos e custo
(antes de programado) pouco superior ao de um vulgar MSI, com vantagem em termos de
frequência máxima de trabalho e de flexibilidade de alterações finais quando comparado
com um circuito equivalente multi-integrado.
1 - Low Scale Itegration IC
4
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Como exemplos de integrados baseados nesta filosofia, podemos considerar:
PROM - Programable Read Only Memory. Convém notar que embora
formalmente semelhante a uma memória típica, consideramos neste grupo apenas
proms de baixa densidade (até 28x8 bits aproximadamente), em tecnologia rápida
- TTL, HCT ou Fast. São compostas por matrizes completas, o que conduz
frequentemente ao sub-aproveitamento do IC, dado que muitas das combinações
de variáveis duma PROM acabam por, numa dada implementação, nunca ser
usadas. Contudo o seu preço e tamanho são idênticos aos de qualquer MSI.
FPLA - Field Programable Logic Array, é uma matriz incompleta podendo
o utilizador escolher entre vários tipos de codificações a que melhor se adapta às
suas necessidades, e o que perde em termos de flexibilidade ganha em número de
entradas e/ou saídas.
PAL - Programable Array Logic, que corresponde a uma solução
intermédia entre a PROM e a FPLA, permitindo ao utilizador programar o circuito
que pretende, e também, previamente, a malha interna de codificação, o que
confere naturalmente uma maior versatilidade ao circuito integrado, em
comparação com a FPLA, em que a codificação está predeterminada.
Sobre estes e outros circuitos programáveis pelo utilizador faremos uma análise
mais detalhada após o estudo dos CSAs, em que toda esta estratégia tecnológica assenta.
2 - Medium Scale Integration IC.
5
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
2 Análise de CSA's
Consideremos, como exemplo, o seguinte circuito, cujo comportamento
pretendemos analisar, bem como a tabela de verdade correspondente:
Figura 1 – Circuito Exemplo
Comecemos por notar que a saída q depende de:
- variáveis primárias = entradas (externas = A,B)
- variáveis secundárias = realimentação de q (=Q).
Analisando o circuito podemos obter a tabela de verdade, que tem nos circuitos
sequenciais um significado dinâmico.
Tabela 1 – Tabela de Verdade associada à Fig.1
A B q
0 0 0
0 1 ?
1 0 0
1 1 1
Tal como nos mapas de Karnaugh (K) não consideramos as transições de 2 bits,
pelo que a transição entre 2ª e 3ª linha será ignorada nesta análise, presumindo-se que é
uma situação teórica e rebatível na prática nas duas adjacentes. Com efeito, a transição
simultânea de 2 entradas físicas é uma situação quase inviável e, a acontecer, uma das
portas lógicas reage seguramente mais depressa que a outra, pelo que a referida transição
é redutível à passagem pela 1ª e 4ª.
6
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Do acima descrito, podemos concluir que:
• Se B=0 => q=0 independentemente do A
• Se AB=11 => q=1
• Se AB=01 => q=? ie. depende do estado anterior:
Se qn-1=0 então qn=0
Se qn-1=1 então qn=1
Uma outra consideração a fazer é que, no instante em que se altera a combinação de
entradas, a saída q só mudará realmente ao fim de um curto intervalo (∆∆∆∆T), resultante do
somatório dos tempos de propagação (tpds) das portas lógicas no percurso. Podemos
contudo admitir que o novo q é determinado instantaneamente (supondo portas lógicas
ideais) e que o atraso (real) é introduzido por um elemento na linha de realimentação q→
Q. Isso não afecta a dinâmica do circuito, pois a alteração de q inicia-se no instante em
que se mudam as entradas, demorando depois algum tempo até aparecer na saída do
circuito.
Com esta simplificação temos então Q (=qn-1) estável ainda algum tempo após a
modificação de A ou B, o que nos permite determinar sempre o novo qn. Uma forma
simples de ver isso é considerar a lógica ideal e com comutação instantânea (logo, q muda
instantaneamente), e transferir o atraso ∆T para a linha de retorno, o que faz Q mudar
atrasado. Daí a figura seguinte.
Figura 2 – Aquisição de memória por realimentação
Finalmente vamos incluir uma parte adicional de lógica combinatória,
eventualmente não necessária, que a partir das entradas e de q gera a saída final Z. Esta
7
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
lógica combinatória é incluída porque nem sempre o circuito sequencial tem a
flexibilidade necessária para gerar exactamente a saída Z pretendida.
Figura 3 – Circuito com lógica na saída
2.1 Exemplo de Análise
Pretende-se determinar o comportamento do circuito seguinte relativamente a
alterações de A e B.
Figura 4- Exemplo a analisar
A seguinte metodologia de análise, embora não sendo única, permite obter o
resultado desejado e é simples de seguir. Propõe-se assim um conjunto de 5 passos até á
solução final.
2.1.1 EQUAÇÃO DE SAÍDA
Determinamos a equação de q, analisando o circuito como se fosse combinatória, e
supondo Q=qn-1 estável.
Então q=A/B+AQ+BQ.
8
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
2.1.2 MAPA DE EXCITAÇÕES
Desenhar o mapa de Karnaugh correspondente à equação de q, com as 3 variáveis
AB e Q.
Figura 5 - Mapa de excitações
É de notar aqui que as alterações impostas do exterior, actuando em A e B,
provocam neste mapa deslocamentos horizontais. Da variável secundária Q, depende o
deslocamento vertical, e isso só acontece quando horizontalmente se atinge um estado,
dito ESTADO DE TRANSIÇÃO (ET), em que q e Q estão em oposição, o que só pode
existir durante o pequeno intervalo de transição (∆T) das portas lógicas. Notemos que q e
Q estão, na realidade, ligados fisicamente, pelo que o circuito só é estável nos ESTADOS
ESTACIONÁRIO (EE). Daqui podemos deduzir que:
ETs : ABQ = 001 e 100 EEs : todos os restantes.
2.1.3 TABELA DE FLUXO (ou de SEQUÊNCIAS)
Repetindo o mapa anterior, numeram-se os EEs sequencialmente e, usualmente,
circundando os números. Os ETs não serão numerados, podendo tomar o mesmo número
do EE verticalmente adjacente.
Figura 6 - Tabela de sequências
9
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Nesta tabela vemos que o circuito pode “deslocar-se” horizontalmente por força das
variáveis externas AB sem que a saída se altere enquanto permanecer em EEs mas,
chegando a um dos ETs, Q terá de mudar, consequência da mudança da saída.
2.1.4 DIAGRAMA DE ESTADOS
Dispõe-se de forma aproximadamente circular todos os EEs encontrados.
Chamamos a cada EE um NÓ, e a experiência mostra ser esta a disposição que melhor se
adapta ao que pretendemos. Os ETs não entram no diagrama porque o circuito não pode
permanecer neles.
Figura 7 - Diagrama de estados
Desenhamos a seguir os RAMOS que ligam os nós entre si, de acordo com a
TABELA DE SEQUÊNCIAS. Assim, por exemplo, quando o circuito está no EE 1 irá
para o EE 2 se AB=01, e poderá regressar ao EE1 se AB=00. No EE 4 poderá ir para o 1
com AB=00 ou para o 5 com AB=01.
Completado o diagrama deveremos verificar se todos os nós têm 2 (e só 2) ramos de
saída, correspondentes aos 2 estados horizontalmente adjacentes. Aqui se podem detectar
erros, caso esta regra se não verifique. Quanto aos ramos de chegada poderão ser 3.3
De referir por último, ser usual sombrear os estados em que a saída é 1.
3- Notar que um EE näo pode sair por um ET verticalmente adjacente. Analisar como
seriam os ramos num circuito combinacional.
10
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
2.1.5 DIAGRAMA TEMPORAL
A partir do DIAGRAMA DE ESTADOS podemos desenhar a evolução sequencial
(e temporal) do circuito, fazendo variar A e B nas várias combinações e sequências
possíveis.4
Este era o objectivo desta análise.
Figura 8 - Diagrama temporal
2.2 LÓGICA COMBINATÓRIA DE SAÍDA
Nem sempre a saída q (ou a lógica sequencial que a gera) tem flexibilidade
suficiente para obtermos a sequência que pretendemos. Uma maior versatilidade
consegue-se incluindo lógica combinatória que, com base em q e nas entradas A e B, gera
uma nova saída Z. Em alguns casos Z pode ser igual a q pelo que esta lógica não será
necessária. Noutros casos ainda, Z poderá ser gerado internamente pelo circuito, o que
dispensa também essa lógica combinatória.
No exemplo Z=/Bq, a que corresponde o novo mapa de saída e o esquema
sssociado.
4- Este diagrama temporal, padronizado no que se refere a A e B, cobre as situaçöes
possíveis em circuitos com 2 entradas e uma saída. É formado por duas metades semelhantes, em que A e B trocam de sequência entre si. As situaçöes que eventualmente o diagrama näo cubra, cuja falta será detectada no diagrama de estados se näo existirem 2 saídas por nó, podem ser completadas prolongando o diagrama.
11
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Figura 9 – Mapas de saída para q e Z
Figura 10 – Esquema final
Podemos finalmente concluir que o circuito corresponde a uma especificação do
tipo: Z vai a 1 sse B sobe com A=0, e só desce quando B regressa a 0.
O leitor deve confrontar este funcionamento com a equação em 3.1.1. Usualmente
pretendemos de facto desenhar um circuito que satisfaça determinada especificação o que
obriga a seguir um processo inverso, ou seja ao projecto de CSA's.
12
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
3 Projecto de CSAs
No projecto de CSA's vamos procurar satisfazer o requisito original, a chamada
especificação, seguindo depois um processo semelhante ao da ANÁLISE, mas inverso. A
implementação final pode ser feita com portas lógicas ou com flip-flops, situações que
vamos examinar em separado. A parte inicial do projecto é contudo idêntica.
3.1 PROJECTO com PORTAS LÓGICAS
Problema: pretende-se controlar a operação de uma máquina em que o
accionamento só se inicia se o operador carregar primeiro num pedal de segurança (A) e
depois no botão de uma botoneira (B). Caso solte algum deles a máquina pára de
imediato.
O problema, real, deve ser analisado do pornto de vista funcional e algorítmico,
descrevendo rigorosamente o que se pretende, neste caso:
Especificação: projecte um CSA com entradas A e B, cuja saída Z será 1 sse AB=1,
e quando A sobe antes de B subir.
3.1.1 DIAGRAMA TEMPORAL
Tomando por base o diagrama com as sequências de A e B atrás citado, podemos
representar a evolução de Z.
Figura 11 - Diagrama temporal
13
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Considerando agora as 3 variáveis ABZ numeram-se os estados sequencialmente,
sem repetições. Um estado que se repete terá o mesmo número. De notar que a este nível
de resolução5, Z só irá a 1 numa das metades do diagrama temporal. Como se pode inferir,
com 3 variáveis pode haver até 8 estados, dos quais em regra só 5 ou 6 são úteis (i.e. no
máximo 6 EEs).
A numeração atribuída pode ser aleatória, sendo apenas uma "ferramenta"
intermédia, embora seja usual iniciar a numeração em 1.
3.1.2 DIAGRAMA DE ESTADOS
Representando os estados encontrados no diagrama temporal, na mesma forma
circular atrás indicada, desenham-se os ramos de acordo com a evolução do mesmo.
Assim o circuito vai do estado 1 para o 2 com AB=01, deste pode regressar ao estado 1
com 00 ou passar ao estado 3 com 11, e assim sucessivamente.
Figura 12 - Diagrama de estados
3.1.3 TABELA DE SEQUÊNCIAS PRIMÁRIA
Nesta fase sabemos que o circuito vai necessitar de 5 estados diferentes, o que exige
3 variáveis intermédias. Numa primeira aproximação vamos considerar que assim é, e
criar uma tabela com uma linha por estado (EE), em que admitimos que a saída desse EE
5- Circuitos com 2 variáveis de entrada e 1 saída.
14
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
se fará para ETs adjacentes. O lugar correspondente à coluna que implica a transição das
duas entradas (AB) será considerado inexistente, e como tal situação don't care (-).
Figura 13 - Tabela de sequências primária
Podemos aqui também detectar eventuais falhas, dado cada linha dever ter 1- EE,
2- ETs adjacentes e um “-“.
3.1.4 DIAGRAMA REDUTOR
A tabela primária supõe que a saída de um EE passa por um ET, o que é realmente
uma situação de excepção como vimos em 3.1.2, sendo norma o deslocamento entre EEs.
Assim, podemos agrupar linhas em que não haja colisão entre o número dos estados,
sejam EEs, ETs ou entre ambos. Obviamente não importam colisões com os “-“.
Vamos agora tentar reduzir o número de linhas e, consequentemente, de variáveis.
Analisando a Tabela de Sequência Primária retiramos que as linhas podem ser
agrupadas da seguinte forma:
1 com: 2, 3, 4 e 5.
2 com: 3 (não interessa repetir a ligação à 1)
3 com: nenhuma abaixo (3 na coluna 11 colide com o 5)
4 com: 5
Daqui podemos desenhar um novo diagrama REDUTOR que indica graficamente
as reuniões possíveis entre linhas.
15
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Figura 14 - Diagrama redutor
Torna-se óbvio que podemos formar 2 grupos, tendo a linha 1 de ser reunida a um
deles, o que corresponde à partição do Diagrama REDUTOR à direita ou à esquerda do 1.
Optando pela reunião 1+2+3 e 4+5 obtemos uma nova tabela, reduzida.
3.1.5 TABELA REDUZIDA
Esta nova tabela tem apenas 2 linhas, o que se soluciona com uma variável
intermédia Q. Uma observação simples permite inferir que Q deverá tomar o valor 1 na
linha em que pretendemos Z (e q)=1, neste caso o estado 5 na linha inferior.6 Na linha
superior Q toma o outro valor, 0.
Figura 15 - Tabela reduzida
16
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
3.1.6 MAPA DE EXCITAÇÃO
Podemos agora desenhar o mapa da saída para q, notando como referido na análise
anterior, que:
EE => q=Q (situação estacionária do circuito)
ET => q=/Q (situação de transição durante o intervalo T).
Ao implementar este MAPA de EXCITAÇÃO (e o correspondente circuito)
vamos assim forçar o circuito a mudar de estado nos ETs (se Q=0 poremos q=1 e vice-
versa), e deixamos que q e Q se mantenham iguais nos EEs.
Figura 16 - Mapa de excitação
Este mapa7 corresponde já a um circuito implementável (o bloco sequencial) cuja
equação, obtida como num mapa K, será
q = A/B + AQ = A(/B+Q)
Contudo, q ainda não satisfaz a especificação por ser 1 em mais estados além do 5
pedido, pelo que teremos de o condicionar com as entradas externas para a dar Z.
Como queremos Z=1 só no estado 5, teremos de o especificar rigorosamente da
forma usual num mapa K, de onde Z=ABQ.
6- Se optássemos pelo inverso, e a lógica combinacional de saída näo for necessária,
teremos de usar pelo menos um inversor. 7- Na realidade é um mapa de Karnaugh, onde que Q e q são interdependentes.
17
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Figura 17 - Mapa de saída
3.1.7 IMPLEMENTAÇÃO DO CIRCUITO
A solução esquemática é facilmente desenhada a partir das equação já obtidas:
q= A(/B+Q)
Z= ABQ
Figura 18 – Circuito que satisfaz a especificação
18
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
3.2 PROJECTO COM FLIP-FLOP RS
Vimos um exemplo de projecto com PORTAS LÓGICAS. Nem sempre, contudo,
esta implementação é eficiente, podendo a utilização de FFs, em particular do RS que é
construtivamente mais simples que o JK, além de que não há necessidade de CLK,
simplificar razoavelmente um circuito. Temos somente de projectar a lógica combinatória
que gera os sinais RS, garantindo que não toma o valor 11 (indefinido no RS), além de
que o FF isenta o circuito de comutações extemporâneas (static hazards). O esquema
geral toma o aspecto seguinte:
Figura 19 – Projecto genérico com Ffs
Esquema do circuito, onde o bloco da esquerda, de lógica combinatória, gera RS.
O bloco da direita é o combinatória de saída, neste caso a porta AND, ABQ
3.3 EXEMPLO DE PROJECTO com FFs
Ex: repetir o exemplo anterior, fazendo a implementação com FF-RS.
A metodologia é rigorosamente igual até à obtenção da TABELA REDUZIDA e do
MAPA de EXCITAÇÃO, que se reproduzem:
Figura 20 - Tabela reduzida e Mapa de excitação
19
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Para gerar os sinais RS do FF, consideremos o comportamento deste:
Figura 21- Tabela de verdade do FF-SR
Temos então de arranjar um circuito capaz de produzir 2 sinais compatíveis com R e
S. Comecemos por notar que quando o circuito está num EE e, por força das entradas AB,
muda para outro EE, ao que corresponde um deslocamento horizontal, a saída vai apenas
manter-se. Supondo que o circuito está no EE 3, onde como vemos na tabela reduzida
q=Q=0, e mudando AB para 01 irá para o EE 2, o que tanto é possível deixando a saída Q
em 0 (RS=00) como (re)forçando a respectiva ida a 0 (RS=10).
Daqui resulta no essencial que o circuito combinatória tem de gerar, para esta
combinação de entradas (AB=01), um S obrigatoriamente 0, mas R poderá tomar qualquer
valor, e como tal "don't care" (-).
Quanto aos ET, voltemos ao EE 3. Mudando AB para 10 o circuito vai para o ET4,
situação transitória de onde "escorrega" para o EE 4 com a mudança da variável interna
Q. Para que isso aconteça, há que "obrigar" Q a mudar para 1, o que implica RS=01.
3.3.1 MAPA de EXCITAÇÃO de R e S.
Com base nestas premissas podemos preencher os 2 mapas de Karnaugh
correspondentes a R e S tal como se mostra:
AB
R 00 01 11 10
0 - - - 0
1 1 1 0 0
20
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
AB
S 00 01 11 10
0 0 0 0 1
1 0 0 - -
mapa para S
Finalmente podemos escrever:
R= /A
S= AB
3.3.2 LÓGICA COMBINATÓRIA DE SAÍDA
Tendo as entradas do FF devidamente excitadas, a saída Q do FF poderá ter de, à
semelhança do que se passa na implementação com portas lógicas, ser controlada por A
e/ou B para obter a saída final Z, processo que é em tudo idêntico ao que se fez naquele
caso, tendo em conta que o comportamento de Q(q) é igual em ambos os casos. Daí
Z=ABQ, donde uma lógica de saída igual.
3.3.3 IMPLEMENTAÇÃO DO CIRCUITO
A partir das equações obtidas para R, S e Z a implementação do circuito não oferece
dificuldade.
Figura 22 – Esquema projectado
21
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
4 Notas Adicionais e Exemplos
Por vezes a implementação de um circuito pode dar situações curiosas. A seguinte
dá um exemplo:
Especificação: projectar um CSA cuja saída Z sobe sempre que A sobe com B já
em 1. Z só deve descer quando A desce.
O projecto deste CSA, cuja resolução se deixa ao cuidado do leitor, conduz às
seguintes equações (com PORTAS LÓGICAS):
q= ÃB + AQ
Z= AQ => q= ÃB + Z
Neste caso a lógica combinatória de saída é dispensável, dado Z já existir dentro do
circuito.
Além desta, outras situações que permitem simplificar o circuito, poderiam ser
apontadas, nomeadamente o aproveitamento de ETs adjacentes àqueles em que Z=1, para
simplificar o circuito interno do CSA. Contudo isso sai do âmbito genérico deste curso,
pelo que se remete o leitor interessado para a bibliografia indicada.
Figura 23 – Saída existente internamente
22
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
ALGUMAS NOTAS SOBRE PLDs e ASICs (V-1994)
A utilização de CIs programáveis pelo utilizador, vulgarmente denominados PLDs,
veio dar um grande incremento ás técnicas que temos vindo a referir.
Durante muito tempo foram consideradas de interesse menor, na época em que os
microprocessadores se desenvolviam e o software era mais importante e parecia resolver
todos os problemas. Nessa altura, estas técnicas tinham de ser implementadas em
hardware, com CIs LSI ou MSI, e isso tornava os circuitos grandes e sem flexibilidade
para alterações.
O aparecimento dos CIs programáveis veio tornar este tipo de abordagem dos
problemas muito mais fácil, barato, rápido e em muitos casos de longe superior ao
software em igualdade de situações. E pode-se sempre reprogramar o mesmo ou outro CI,
o que permite bastante flexibilidade.
Actualmente temos vários tipos de ASICS, dos quais podemos destacar 2 grandes
grupos:
PLD- Programmable Logic Device
FPGA- Field Programmable Gate Arrays
A utilização dos PLD é recomendável em situações onde as funções combinatórias
sejam primordiais, para obter um máximo aproveitamento das capacidades do IC.
As FPGA serão melhor aproveitadas em circuitos predominantemente sequenciais
ou de utilização intensiva de registos.
Pelo meio há toda uma multiplicidade de circuitos que resolvem quase todos os
problemas.
Muito importante é a escolha do software de programação dos componentes em
causa. Um bom software, fornecidas as equações, procurará na sua biblioteca quais os que
podem solucionar o problema, fornece uma lista e eventualmente a taxa de ocupação de
cada um. Restará ao utilizador optar por aquele que lhe pareça mais adequado e iniciar a
programação, que demora segundos.
23
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
Como exemplos das possibilidades actuais dos componentes podemos citar 2
casos recentes:
- ASIC com 600 000 portas lógicas internas, anunciando o fabricante para breve
1000000 de portas lógicas úteis, com taxa de ocupação típica superior a 70%. (ACTEL)
- ASIC da MOTOROLA com 57400 portas lógicas das quais:
-21000 simulam o microprocessador M68000.
- as 36400 restantes estão livres para o utilizador programar
Naturalmente estes são caso limite hoje em dia. Mas temos muitas situações em que
sistemas com microprocessador estão a ser substituídos por pequenos circuitos com
ASICs, que os tornam mais robustos e mais baratos.
Há ainda um factor importante: estes CIs dispõem normalmente de um bit de
protecção, que o programador pode activar, para impedir que possam ser copiados, o que
permite a protecção, quase impossível no software.
Nos anexos temos 2 exemplos de porta lógica actualmente usadas.
24
________________________________________________
JMVS 1992 REPRODUÇÃO PROÍBIDA CSA- V-2005
BIBLIOGRAFIA
NATIONAL SEMICONDUCTOR CORPORATION
PROGAMMABLE LOGIC HAND BOOK - 1986
PROGAMMABLE LOGIC DESIGN GUIDE
NATIONAL SEMICONDUCTOR CORP. - 1988
ALTERA PROGAMMABLE LOGIC DEVICES
ALTERA CORP. -1991
MONOLITHIC MEMMORIES CORP.
FIELD PROGAMMABLE DEVICES -1990
SWITCHING CIRCUITS FOR ENGINEERS, 3ªED
MITCHELL P. MARCUS
PRENTICE HALL ed.
ELECTRICAL ENGINEERING SERIES -1975