circuitos sequenciais assÍncronos ====...

24
CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAs Notas sobre Circuitos Lógicos Programáveis pelo Utilizador José Miguel Lopes Vieira dos Santos ISEP 1992 V-2005

Upload: ngotram

Post on 23-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

CIRCUITOS SEQUENCIAIS

ASSÍNCRONOS

====

CSAs

Notas sobre

Circuitos Lógicos Programáveis pelo Utilizador

José Miguel Lopes Vieira dos Santos

ISEP

1992

V-2005

Page 2: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 3: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 4: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 5: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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ª.

Page 6: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 7: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 8: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 9: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 10: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 11: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 12: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 13: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 14: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 15: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 16: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 17: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 18: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilizaçã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

Page 19: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilizaçã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

Page 20: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 21: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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

Page 22: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 23: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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.

Page 24: CIRCUITOS SEQUENCIAIS ASSÍNCRONOS ==== CSAsave.dee.isep.ipp.pt/~jvs/aulas/SACP/2_CSA/1_csa_jvs.pdf · Esta é uma área em expansão, e rápida evolução, apoiada na utilização

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