Sistemas Digitais (Part III) Page 1 of 111

Tamanho: px
Começar a partir da página:

Download "Sistemas Digitais (Part III) Page 1 of 111"

Transcrição

1 Sistemas Digitais (Part III) Page 1 of 111

2 Sistemas Digitais (Part III) Page 2 of 111

3 Sistemas Digitais (Part III) Page 3 of 111 Síntese clássica (Modelo de Moore)/ 16aº Projecto Esta é a primeira sessão dedicada à Síntese de Circuitos Sequenciais Síncronos, isto é, ao desenho de Circuitos Sequenciais com flip-flops recebendo directamente impulsos de relógio da mesma fonte... Tal como as demais sessões, ir-se-á partir de um Projecto concreto Considere-se um condutor que, para abrir a porta da viatura, recorre a um dispositivo de controlo remoto: clicao, e ele emite repetidamente, por rádio frequência (RF), e ao ritmo do relógio, a sequência de bits Ao lado, apresenta-se o diagrama temporal representativo da sequência referida e o objectivo é precisamente desenhar um circuito sequencial síncrono capaz de o gerar. O essencial na Síntese de Circuitos Sequenciais Síncronos é discernir os Estados que o circuito pode assumir e como é que de um deles se transita para os outros. No caso entre mãos, é claro que o circuito vai passando ciclicamente por quatro estados, denominem-se eles de {A, B, C e D}. Mais ainda: em cada momento, tanto a evolução do circuito (por outras palavras: qual o estado seguinte?) como a saída, seja Z, dependem só do estado em que o circuito se encontra. Um circuito assim diz-se autónomo: não contando, é claro, com o sinal de relógio, não há quaisquer entradas externas, o seu estado é a única entrada de que a saída depende. Em Projectos não tão simples, será exigir muito ao intelecto humano discernir sem mais quais os Estados possíveis do circuito, e a relação entre eles pelo que a praxis recomendável é começar pelo desenho do seu Diagrama de Estados. Este deve, aliás, ser considerado o ponto crítico no desenho de um Circuito sequencial síncrono: o que se lhe segue é automático já que não será difícil conceber software que, recebendo como input tal Diagrama, indique como se deverão interligar flip-flops e chips combinatórias para concretizar o circuito. 1. Considere-se o momento em que o condutor clica no seu dispositivo de controlo Conforme ao enunciado, o circuito deverá ingressar num estado seja A em que irá produzir 1 na saída; fá-lo-á até ao próximo impulso de relógio (doravante, substitui-se impulso de relógio por, mais brevemente, clock). Graficamente, esse estado representa-se por um círculo nomeado por, embora não obrigatoriamente, uma maiúscula, A ; a saída, 1, é indicada no seio do círculo, precedida pelo símbolo / ; o caracter inicial do estado é denotado por uma seta dirigida da esquerda para o próprio círculo. 2. Admita-se agora que ocorre um clock. Conforme ao enunciado, o circuito deverá ingressar num novo estado, B, em que irá produzir 0. Graficamente, esse estado e saída representam-se como acima: um círculo nomeado B, em cujo seio se indica a saída 0 ; a transição, entre os estados A e B, representa-se por uma seta dirigida do círculo A para o círculo B. 3. Com outro clock, o circuito irá ingressar num novo estado, C, em que irá gerar 1. Intui-se como é que isso se representa: uma seta dirigida de B para um novo círculo, C, apropriadamente rotulado 4. E com um novo clock, o circuito irá ingressar num novo estado, D, continuando a gerar o bit 1. Isso representa-se por uma seta dirigida de C para um novo círculo, D, adequadamente rotulado 5. Com o próximo clock, o circuito irá regressar ao estado inicial, A, continuando a gerar o bit 1. Isso representa-se por uma seta dirigida do círculo D para o círculo A O diagrama de estados ocupa uma superfície de papel não despicienda, pelo que se prefere convertê-la numa bem mais compactada Tabela de Estados/Saída. Esta é constituída, de facto, por duas Tabelas: uma que indica, para cada estado actual Q (t), qual a saída actual, Z (t) ; e uma outra que indica, para cada estado actual Q (t), qual o estado seguinte, Q (t+1). Na prática, dispõe-se: à esquerda uma coluna, Q (t), onde se listam, linha a linha, os estados que constam no diagrama de estados; à direita, duas colunas, Z (t) e Q (t+1), em que, linha a linha, se inscreve a saída e o estado seguinte, tais como o indicam o diagrama de estados. Por exemplo, o diagrama de estados indica que, para o estado actual B, a saída é 0 e o estado seguinte é C ; isso volve-se em escrever, na linha B da Tabela de Estados/Saída: 0 na coluna de Z (t) e C na coluna Q (t+1). (Na vida real, e para maior segurança, os dispositivos de abertura da porta de viaturas geram sequências mais longas e, aliás, variáveis; mas, para o fim em vista, basta uma sequência fixa de 4 bits, não é preciso complicar )

4 Sistemas Digitais (Part III) Page 4 of 111

5 Sistemas Digitais (Part III) Page 5 of 111 Síntese clássica (Modelo de Moore)/ Síntese Clássica com Flip-Flops T De posse da Tabela de Estados/Saída, resta concretizá-la mediante flip-flops e chips combinatórios: ANDs, ORs e NOTs, ou só NANDs, ou só NORs, como se fará adiante, ou decoders e ORs, ou multiplexers, etc O método de desenho dito clássico visa usar não mais que o menor número de flip-flops capaz de concretizar a Tabela. A esse respeito, a Tabela ao lado apresenta quatro estados do que se deduz que serão necessários, e suficientes, dois flip-flops, designem-se eles de {Q 1, Q 0 }. Isso decidido, o passo seguinte é proceder à codificação dos estados isto é, estabelecer uma correspondência biunívoca entre cada estado e uma combinação particular de dois bits {Q 1 Q 0 }. Aquela que se privilegia ao lado usa o CBN (Código Binário Natural); mas há outras possibilidades, nomeadamente o código de Gray De facto, há muitas mais maneiras de codificar os 4 estados: após escolher, para codificar A, um dos 4 pares de bits possíveis, sobram 3 pares; após escolher, para codificar B, um desses 3 pares, sobram 2 pares; e após escolher, para codificar C, um desses 2 pares, resta 1 par, que será usado para codificar D : um total, portanto, de 4!=24 possibilidades distintas que, se suspeitará, conduzem a circuito diferentes! Eles poderão ser mais ou menos complicados o que recomenda a praxis de explorar várias possibilidades, visando chegar à solução mais simples. A etapa seguinte é transformar a Tabela de Estados/Saída na assim designada Tabela de Transições e Saídas ou preferivelmente, já antevendo o que seguirá, num Mapa de Karnaugh, vidé ao lado: cada literal {A, B, C, D} designando um estado é substituído pelo par de bits {Q 1 Q 0 } que o codifica Obtida essa Tabela de Transições e Saídas, torna-se viável escrever a expressão simplificada da saída Z do circuito; em geral, usar-se-á o método de Karnaugh, mas no caso presente nem isso é preciso: a expressão da POS é suficiente Resta determinar as expressões simplificadas das entradas dos flip-flops e isso exige, é claro, precisar o tipo de flip-flop a usar e de novo se intui que consoante a escolha, assim se obterão circuitos distintos! Poderão ser mais ou menos complexos o que recomenda a praxis de explorar várias possibilidades, visando a mais simples Admita-se que, neste Projecto, se opta por flip-flops T (advertindo desde já que a seu tempo, e no contexto de novos Projectos, serão explorados outros tipos de flip-flops); como auxiliar de memória, apresentam-se ao lado o diagrama de estados do flip-flop T e a correspondente Tabela de Excitação. O passo imediato será obter a Tabela de Excitações do circuito: para tal, desdobra-se a Tabela de Transições em duas Tabelas, uma por cada um dos estados seguintes de {Q 1, Q 0 } - e depois substituem-se os valores nas colunas Q 1(t+1) e Q 0(t+1) pelos valores a impor nas entradas {T 1, T 0 } para lograr as transições de estado em causa. Considere-se, por exemplo, a linha em que Q 1 =0 e Q 0 =0. O estado seguinte de Q 1 é 0 e o estado seguinte de Q 0 é 1 e isso remete para a pergunta: para que aconteçam essas transições em {Q 1, Q 0 }, como se devem excitar as entradas dos flip-flops? A resposta da Tabela de Excitação do flip-flop T é: a transição 0 0 logra-se aplicando 0 na entrada T 1 e a transição 0 1 logra-se aplicando 1 na entrada T 0. São precisamente esses valores, 0 e 1, que se escrevem nas Tabelas de T 1 e T 0. A etapa final é deduzir as expressões simplificadas das entradas {T 1 e T 0 } dos flip-flops; em geral, usar-se-á o método de Karnaugh, mas no caso presente nem isso é preciso, basta um olhar atento Conhecidas tais expressões, é hora de desenhar o logigrama do circuito com a geografia habitual: entradas à esquerda o que neste caso, em que não há entradas externas, se reduz a dispor à esquerda os dois flip-flops, ficando Q 1 (a de maior peso) por baixo de Q 0 ; saídas, que neste caso se reduzem a Z, à direita; à direita dos flip-flops: malha combinatória que produz Z e os valores que excitam as entradas {T 1 T 0 } Ainda que não indispensável, convirá etiquetar as linhas com os nomes das funções (por exemplo, T 1 ) que transportam ; setas apropriadas nas linhas em que o fluxo se processa da direita para a esquerda ou de baixo para cima; entradas de clock dos flip-flops ligadas à mesma fonte de clocks No logigrama ao lado, pressupõe-se que eles são edge-triggered comutando no flanco descendente do relógio mas também seria válido ter-se escolhido flip-flops edge-triggered comutando no flanco ascendente do relógio.

6 Sistemas Digitais (Part III) Page 6 of 111

7 Sistemas Digitais (Part III) Page 7 of 111 Síntese clássica (Modelo de Moore)/ Análise de Circuito com Flip-flops T Quando um Projectista se engaja no desenho de um circuito, e antes de o materializar de facto, e para evitar posteriores dissabores, há que fazer a prova dos nove : será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? E este passo de maneira nenhuma se deve omitir! Essa conferência deve ser independente do método usado na síntese do circuito e na prática suporta-se na Equação característica dos flip-flops usados, como já se testemunhou algures e agora se volta a aplicar: O circuito envolve dois flip-flops T cujos estados se designam de {Q 1, Q 0 }. O primeiro passo na análise do circuito é, a partir do respectivo logigrama, escrever as expressões algébricas que traduzem o comportamento da saída do circuito e das entradas dos flip-flops, vidé ao lado. Tendo em mira o desenho do Diagrama de Estados, o segundo passo é substituir as expressões das entradas dos flip-flops na equação característica do flip-flop T. O resultado são expressões que exprimem o estado seguinte de cada flip-flop em função dos estados dos flip-flops no instante em que ocorre o flanco descendente do relógio. O terceiro passo é converter tais expressões nas assim denominadas Tabelas de Estado/Saída que indicam, para cada combinação das entradas internas {Q 1, Q 0 } num instante t, a saída Z do circuito nesse instante, e, a ocorrer em t o flanco descendente do relógio, os estados dos flip-flops no instante t+1 seguinte. No total, existirão três Tabelas, para {Z, Q 1 e Q 0 }: à esquerda, dispõem-se duas colunas, representando outros tantos flip-flops, {Q 1, Q 0 }; estando envolvidos dois flip-flops, e pois que cada um pode assumir dois valores {Q=0 e Q=1}, o circuito poderá assumir quatro estados distintos, que convirá nomear por códigos binários: { 00, 01, 10 e 11 }. O preenchimento das Tabelas não deverá provocar engulhos. As expressões de {Z, Q 1 e Q 0 } são claras: Z será 0 apenas para a combinação Q 1 =0 e Q 0 =1; Q 1(t+1) é o XOR de Q 1(t) e Q 0(t), pelo que será 1 apenas quando Q 1(t) e Q 0(t) forem diferentes; e Q 0(t+1) é o complemento de Q 0(t), pelo que a coluna Q 0(t+1) será o complemento da coluna Q 0(t). Resta desenhar o Diagrama de Estados: a cada estado, associa-se um círculo, etiquetado com um código binário; depois, traçam-se setas rotuladas, descrevendo graficamente a Tabela obtida. Veja-se como exemplo a primeira linha, relativa ao estado 00 : a saída é Z=1, e o estado seguinte será 01 ; isso volve-se numa seta dirigida do círculo 00 para o círculo 01. Para denotar que, no estado 00, a saída é Z=1, o correspondente círculo é rotulado por /1. É hora de o Projectista comparar o diagrama de estados obtido a partir do logigrama do circuito com o diagrama de estados que ele inicialmente concebeu e ficar tranquilo, que o circuito a que chegou está ok: afora os nomes, o número de estados, a interligação entre eles e as saídas são idênticos Uma questão que não é de somenos importância é a seguinte: quando se faz o power-on ao circuito, qual o estado em que ele ingressa? A resposta é: não se sabe, em particular não se pode pressupor que os estados estão a 0 inicialmente! No Projecto entre mãos, isso não terá provavelmente nenhuma importância: qualquer que seja o estado inicial, entre { 00, 01, 10 e 11 }, e afora um eventual período transitório, o circuito acaba por gerar repetidamente, ao ritmo do relógio, a sequência de bits 1011 Mas haverá Projectos em que isso terá mesmo importância pelo que então há que recorrer a entradas assíncronas (Preset e Clear) para obrigar a que o estado inicial seja um específico.

8 Sistemas Digitais (Part III) Page 8 of 111

9 Sistemas Digitais (Part III) Page 9 of 111 Síntese clássica (Modelo de Moore)/ 16bº Projecto O 16aº Projecto é um sistema autónomo, isto é: não envolve entradas externas. É hora de avançar para um Projecto já com uma entrada externa Admita-se que a abertura da porta de uma viatura pode ser detonada por um dispositivo de controlo remoto. Ela dispõe dum receptor de RF cuja saída, seja X, é uma sucessão indefinida de 0 s e 1 s Pretende-se um circuito sequencial síncrono que reporte a detecção da sequência 1011 (Não se consideram sequências sobrepostas). O ponto crítico para obter um Circuito sequencial síncrono é o desenho do seu Diagrama de Estados: 1. Considere-se o momento em que se faz o power-on O circuito nada sabe então do que se passou antes pelo que será pacífico iniciá-lo a um estado em que irá assinalar 0 na sua saída. Graficamente, esse estado representa-se por um círculo com um nome significativo, como seja S 0, em cujo seio se indica, precedida pelo símbolo /, a saída a assinalar, 0, a ser mantida até ao próximo "clock; o caracter inicial do estado é denotado por uma seta dirigida da esquerda para o círculo S Recorde-se, entretanto, que tal circuito está recebendo, do receptor de RF, uma sucessão de 0 e 1 s admita-se que, logo após o power-on, ele recebe um 1 ; o circuito pode julgar que ele é já o primeiro bit do padrão 1011 pelo que irá transitar para um novo estado, em que continuará a gerar 0 (pois só passará a gerar 1 quando houver detectado todo o padrão 1011 ). Essa situação representa-se por um círculo nomeado S 1 (em cujo seio se indica a saída 0 ), e uma seta do círculo S 0 para o círculo S 1 ; mas suponha-se, em alternativa, que o primeiro bit a ser recebido é um 0 ; então, o circuito irá permanecer no mesmo estado, S 0 o que se representa por uma seta do círculo S 0 para ele mesmo. Em consequência, de S 0 saem duas setas. Para distinguir o que motiva aquela dirigida para S 1, ela é rotulada por X=1, ou, conforme à lei do menor esforço, 1 ; intui-se que a seta dirigida para S 0 é rotulada por 0. Repare-se que o estado/círculo S 0 fica assim completamente especificado: estando o circuito nesse estado, sabe-se qual é então a sua saída, e como evolui o circuito se receber, do receptor de RF, um 0 ou um 1 3. Resolvido o estado S 0, considere-se, então, que o circuito se encontra no estado S 1. Sabe-se qual a sua saída, resta decidir como evolui ele quando receber, do receptor de RF, um 0 ou um 1 ; não custa descortiná-lo: se ele receber um 0, o circuito pode julgar que esse é o segundo bit do padrão 1011 pelo que irá transitar para um novo estado, em que irá continuar a assinalar 0. Isso representa-se por um círculo nomeado S 10 (onde se indica a saída 0 ), e uma seta de S 1 para S 10 ; se, porém, receber um 1, irá concluir que estava errada a suposição de que o 1 precedente era o primeiro bit do padrão 1011 mas talvez o 1 que acaba de receber o seja; isso remete para uma seta de S 1 para S 1. Para clarificar o que motiva as setas saindo de S 1, elas são devidamente rotuladas pelo valor de X que conduz à transição de estados que representam 4. Considere-se, agora, que o circuito se encontra no estado S 10. Como evolui ele quando receber outro bit? se receber um 1, o circuito pode julgar que esse é o terceiro bit do padrão 1011 pelo que irá transitar para um novo estado, em que irá continuar a gerar 0. Isso representa-se por um círculo nomeado S 101 (onde se indica a saída 0 ), e uma seta rotulada por 1 de S 10 para S 101 ; se, porém, receber um 0, concluirá que afinal os bits 10 precedentes não eram o começo do padrão 1011 : tem que regressar ao início o que remete para uma seta rotulada por 0 de S 10 para S Considere-se, agora, que o circuito se encontra no estado S 101. Como evolui ele quando receber outro bit? se receber um 1, o circuito conclui que esse é o quarto bit do padrão 1011 pelo que irá transitar para um novo estado, seja S 1011, em que irá assinalar 1. Isso representa-se por um círculo nomeado S 1011 (onde se indica a saída 1 ), e uma seta rotulada por 1 de S 101 para S 1011 ; se, porém, receber um 0, concluirá que afinal os bits 101 precedentes não eram o começo do padrão 1011 mas talvez os últimos 10 o sejam, o que remete para uma seta rotulada por 0 de S 101 para S Considere-se, enfim, que o circuito se encontra no estado S Como evolui quando receber um outro bit? se receber um 1, o circuito pode julgar que ele é já o primeiro bit de um novo padrão 1011 pelo que irá transitar para S 1. Isso representa-se por uma seta rotulada por 1 de S 1011 para S 1 ; se, porém, receber um 0, concluirá que ainda não começou a receber o padrão 1011 : tem que regressar ao início o que remete para uma seta rotulada por 0 de S 1011 para S 0 Com isso, fica completo o Diagrama de Estados a converter numa Tabela de Estados/Saída, vidé ao lado em que há que organizar a Tabela de Q (t+1) em duas colunas, correspondendo aos casos em que X=0 e X=1.

10 Sistemas Digitais (Part III) Page 10 of 111

11 Sistemas Digitais (Part III) Page 11 of 111 Síntese clássica (Modelo de Moore)/ Síntese Clássica com Flip-Flops D De posse da Tabela de Estados/Saída, a sua concretização segundo o método de desenho dito clássico acompanha pari passu as etapas seguidas aquando do 16aº Projecto; em particular, e porquanto a Tabela apresenta cinco estados, deduz-se que serão necessários, e suficientes, três flip-flops, designem-se eles de {Q 2, Q 1, Q 0 }. Isso decidido, o passo seguinte é proceder à codificação dos estados isto é, estabelecer uma correspondência biunívoca entre cada estado e uma combinação particular de três bits {Q 2 Q 1 Q 0 }. Aquela que se elegeu ao lado usa o CBN (Código Binário Natural) A etapa seguinte é transformar a Tabela de Estados/Saída na assim designada Tabela de Transições e Saídas ou preferivelmente, já antevendo o que seguirá, num Mapa de Karnaugh, vidé ao lado: cada nome designando um estado é substituído pelo trio de bits {Q 2 Q 1 Q 0 } que o codifica Repare-se que a Tabela de Estados se limita a cinco estados, todavia há oito combinações possíveis de três bits: sobram três combinações, que de certo modo podem ser consideradas como codificando estados inexistentes pelo que as respectivas linhas na Tabela de Transições e Saídas são preenchidas com indiferenças, X Obtida essa Tabela de Transições e Saídas, a aplicação do método de Karnaugh habilita a escrever a expressão simplificada da saída Z Resta determinar as expressões simplificadas das entradas dos flip-flops e isso exige, é claro, precisar o tipo de flip-flop a usar. Admita-se que, neste 16bº Projecto, se opta por flip-flops D; como auxiliar de memória, apresentam-se ao lado o diagrama de estados do flip-flop D e a correspondente Tabela de Excitação. O passo imediato será obter a Tabela de Excitações do circuito: para tal, começa-se por desdobrar a Tabela de Transições em três Tabelas, uma por cada um dos estados seguintes de {Q 2, Q 1, Q 0 }. Considerando o que se fez a propósito do 16aº Projecto, prevê-se que a seguir se deveria proceder à substituição dos valores nas colunas Q 2(t+1), Q 1(t+1) e Q 0(t+1) pelos valores a impor nas entradas {D 2, D 1 e D 0 } para lograr as transições de estado em causa; acontece que, tendo-se agora optado pelo flip-flop D, isso é desnecessário: se se pretende que ele transite para um estado genérico Q, o que há a fazer é impor, na sua entrada D, o valor D=Q! Ou seja: as Tabelas de {D 2, D 1 e D 0 } são exactamente iguais às de Q 2(t+1), Q 1(t+1) e Q 0(t+1), não é preciso duplicá-las A etapa final é usando em geral o método de Karnaugh deduzir as expressões simplificadas das entradas {D 2, D 1 e D 0 } dos flip-flops e proceder ao desenho do correspondente logigrama com a geografia habitual, vidé ao lado, em que se pressupõe que os flip-flops são edge-triggered comutando no flanco descendente do relógio. Uma peculiaridade deste circuito é que a saída, Z, depende apenas dos estados dos flip-flops: não depende directamente da entrada, X! A isso não será alheio, certamente, a decisão de, ao desenhar o Diagrama de Estados do circuito, seguir o assim denominado modelo de Moore: a saída do circuito é inscrita dentro dos círculos que representam os estados.

12 Sistemas Digitais (Part III) Page 12 of 111

13 Sistemas Digitais (Part III) Page 13 of 111 Síntese clássica (Modelo de Moore)/ Análise de Circuito com Flip-flops D Será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? Eis um passo que de maneira nenhuma se deve omitir! Essa conferência deve ser independente do método usado na síntese do circuito e na prática suporta-se na Equação característica dos flip-flops usados, como já se testemunhou algures e agora se volta a aplicar: O circuito envolve três flip-flops D cujos estados se designam de {Q 2, Q 1, Q 0 }. O primeiro passo na análise do circuito é, a partir do respectivo logigrama, escrever as expressões algébricas que traduzem o comportamento da saída do circuito e das entradas dos flip-flops, vidé ao lado. O segundo passo é substituir as expressões das entradas dos flip-flops na equação característica do flip-flop D. O resultado são expressões que exprimem o estado seguinte de cada flip-flop em função dos estados dos flipflops e da entrada externa X no instante em que ocorre o flanco descendente do relógio. O terceiro passo é converter tais expressões nas assim denominadas Tabelas de Transições/Saída que indicam, para cada combinação das entradas internas {Q 2, Q 1, Q 0 } num instante t, a saída Z do circuito nesse instante, e, a ocorrer em t o flanco descendente do relógio, os estados dos flip-flops no instante t+1 seguinte. No total, existirão quatros Tabelas, para {Z, Q 2, Q 1 e Q 0 }: à esquerda, dispõem-se três colunas, representando outros tantos flip-flops, {Q 2, Q 1, Q 0 }; e no topo dispõe-se uma linha representando a entrada externa X ; estando envolvidos três flip-flops, e pois que cada um pode assumir dois valores {Q=0 e Q=1}, o circuito poderá assumir oito estados distintos, que convirá identificar por códigos binários: { 000, 001, 010, etc.}. O preenchimento das Tabelas não deverá provocar engulhos. As expressões de {Z, Q 2, Q 1 e Q 0 } são claras: Z=Q 2, pelo que a coluna Z será igual à coluna Q 2 ; Q 0(t+1) será 0 quando X=0 ou Q 1(t) =Q 0(t) =1; Q 1(t+1) será 1 apenas quando Q 0(t) =1 e X=0, ou Q 1(t) =1 e Q 0(t) =0 e X=1; Q 2(t+1) será 1 apenas quando Q 1(t) =Q 0(t) =X=1. O passo seguinte será aglutinar as Tabelas dos estados seguintes dos flip-flops, {Q 2, Q 1, Q 0 }, numa única, dita do estado seguinte do circuito, Q 2 Q 1 Q 0(t+1) ; veja-se o caso da primeira linha, em que, conforme X=0 ou X=1, assim advém {Q 2 =0, Q 1 =0, Q 0 =0} ou {Q 2 =0, Q 1 =0, Q 0 =1}; aglutinar significa preencher a primeira linha da nova Tabela com 000 e 001, respectivamente nas colunas X=0 e X=1. Para as outras linhas, o método é o mesmo. A Tabela obtida pode reescrever-se (embora isso não se mostre ao lado) numa outra, dita de Tabela de Estados, em que cada trio de bits {Q 2 Q 1 Q 0 } é entendido como o código binário de um número, e ele é substituído por um nome como seja S indexado pela representação desse número na base 10; essa Tabela descreve para que Estado evoluem os Estados {S 0, S 1, S 2, etc.} do circuito, à medida que se vai alterando a entrada X. Resta desenhar o Diagrama de Estados: a cada estado, associa-se um círculo, etiquetado com um nome (ou código binário); depois, traçam-se setas rotuladas, descrevendo graficamente a Tabela obtida. Veja-se como exemplo a primeira linha, relativa ao estado 000 : a saída é Z=1, e o estado seguinte será 000 ou 001 conforme o valor de X ; isso volve-se em duas setas: uma de S 0 para S 0 rotulada com X=0, ou, conforme à lei do menor esforço, 0 ; e uma outra de S 0 para S 1 rotulada com 1. Para denotar que, no estado 000, a saída é Z=0, o correspondente círculo é rotulado por /0. É hora de se comparar o diagrama de estados obtido a partir do logigrama do circuito com o diagrama de estados inicialmente concebido e constatar que aquele está ok: se se confinar a comparação somente a cinco estados {S 0, S 1, S 2, S 3, S 4 }, e afora os nomes, são idênticas as saídas e a interligação entre eles Há, entretanto, que inquirir: quando se faz o power-on ao circuito, qual o estado em que ele ingressa? A resposta é: não se sabe! No Projecto entre mãos, isso tem importância: se, ao fazer-se o power-on, o circuito ingressar no estado S 5, S 6 ou mesmo S 7, o circuito assinalará, de imediato, erroneamente (porquanto ainda se não recebeu a sequência 1011 ), o valor 1 na sua saída pelo que convirá recorrer a entradas assíncronas (Clear) para obrigar a que o estado inicial do circuito seja S 0.

14 Sistemas Digitais (Part III) Page 14 of 111

15 Sistemas Digitais (Part III) Page 15 of 111 Síntese clássica (Modelo de Moore)/ 16cº Projecto Esta sessão começou por um Projecto sem entradas externas, e progrediu para outro com uma entrada externa, mas ambos com uma só saída; o aumento da complexidade propõe agora duas entradas externas e duas saídas Adivinha-se que, com estas poucas novidades, a síntese e análise do logigrama obtido seguirão pari passu a etapas do 16bº Projecto pelo que não será de estranhar a referência ao lado Se sobrar tempo na aula. Admita-se que a abertura da porta de uma garagem pode ser detonada por um dispositivo de controlo remoto: o condutor clica-o, e ele emite um impulso de curta duração. A porta começará a subir, e assim continuará até um sensor sinalizar resistência : a porta encontra-se então completamente aberta. Para a fechar, o condutor clica novamente no comando A porta começará a descer, e assim continuará até o sensor sinalizar resistência : a porta encontra-se então completamente fechada. Em qualquer momento, poderá o condutor interromper o movimento da porta clicando no comando; quando, depois, voltar a clicar no comando, a porta regressará à posição de fechada, independentemente do que estava fazendo no momento em que foi interrompida. O ponto crítico para obter um Circuito sequencial síncrono é o desenho do seu Diagrama de Estados: Antes de mais, há que codificar as entradas {C, S} e saídas {M, A} do circuito. Vidé o lado uma possibilidade: quando activados, tanto o comando C como o sensor S emitem impulsos curtos que se poderão compreender como um 1 com a duração do período dos clocks, seguido de 0 s a porta movendo-se é codificada com M=1, e abrindo-se é codificada com A=1. 1. Considere-se o momento anterior a ter o condutor clicado no seu dispositivo de controlo A porta estará fechada: o circuito encontrar-se-á num estado inicial em que o motor deverá estar parado. Esse estado representase por um círculo com um nome significativo, como seja F - em cujo seio se indica, precedidas pelo símbolo /, as saídas a assinalar, M=0 (que torna A irrelevante), a ser mantidas até ao próximo "clock; o caracter inicial do estado é denotado por uma seta dirigida da esquerda para o círculo F. 2. Admita-se, então, que o condutor clica no seu comando Isto é, ocorre C=1 (e S=0, no sentido de que, estando a porta então parada, o sensor não poderá então sinalizar resistência ); o motor irá fazer subir a porta. Essa situação representa-se por um círculo nomeado A:2 (significando algo como porta meio-aberta), em cujo seio se indicam as saídas M=1 e A=1 (ou, conforme à lei do menor esforço, 11 ), e uma seta do círculo F para o círculo A:2, rotulada com C=1 e S=0 (ou, conforme à lei do menor esforço, 10 ); 3. Algo mais tarde, o sensor sinalizará resistência Isto é, irá ocorrer C=0 e S=1; o motor irá parar a porta. Essa situação representa-se por um círculo nomeado A (significando porta aberta), em cujo seio se indicam as saídas 0X (isto é: M=0 e A irrelevante), e uma seta do círculo A:2 para o círculo A, rotulada com 01 (isto é: C=0 e S=1); 4. Mais tarde, o condutor irá clicar no comando Isto é, irá ocorrer C=1 e S=0; o motor irá fechar a porta. Essa situação representa-se por um círculo nomeado F:2 (significando porta meio-fechada), em cujo seio se indicam as saídas 10, e uma seta do círculo A para o círculo F:2, rotulada com 10 ; 5. Algo mais tarde, o sensor sinalizará resistência Isto é, ocorrerá C=0 e S=1; o circuito irá retornar ao estado inicial. Essa situação representa-se por uma seta do círculo F:2 para o círculo F, rotulada com 01 ; 6. Enquanto a porta está abrindo ou fechando, o condutor poderá clicar no comando: poderá ocorrer C=1 e S=0 nos estados A:2 ou F:2 ; o motor deverá parar. Essa situação pode representar-se por um círculo nomeado P (significando porta parada), em cujo seio se indicam as saídas 0X, e setas dos círculos A:2 ou F:2 para o círculo P, rotuladas com 10 (A menção pode representar-se significa que é possível fazer de outra maneira mais simples, que adiante se aborda) 7. Quando o condutor voltar a clicar no comando, isto é, ocorrer C=1 e S=0, o motor irá fechar a porta. Essa situação representa-se por uma seta do círculo P para o círculo F:2, rotulada com 10 As transições acima enumeradas encontram-se explicitadas no Diagrama de Estados ao lado mas muitas mais combinações das entradas se poderiam congeminar que todavia lá não estão: o Diagrama está incompletamente especificado! Pois que as entradas são duas, a sua especificação cabal poderia volver-se em quatro setas saindo de cada estado (isto é: originando um total de 20 setas) o que tornaria o Diagrama algo como uma ilegível sopa de esparguete O mais recomendado será suspender o desenho do Diagrama, e passar directamente à construção da Tabela de Estados e Saídas: é o que se fará de imediato

16 Sistemas Digitais (Part III) Page 16 of 111

17 Sistemas Digitais (Part III) Page 17 of 111 Síntese clássica (Modelo de Moore)/ Síntese Clássica com Flip-Flops D Considere-se então a porção do Diagrama de Estados já traçada; a partir dela, poder-se-á dar início ao preenchimento da Tabela de Estados e Saídas, vidé ao lado onde estão definidas as células correspondentes às setas naquele traçadas: falta preencher treze células. O resto do preenchimento não deverá provocar engulhos 1. Quando C=0 e S=0 (isto é, nem o comando nem o sensor sinalizam actividade), o que corresponde à coluna da Tabela mais à esquerda, intui-se que o estado do circuito não se deve alterar: nomeadamente, se a porta estava abrindo), continua abrindo e se estava fechada, assim continua Essa coluna será então uma cópia da coluna Q t ; 2. A ocorrência de S=1 nos estados F, A e P (isto é: com a porta imóvel, o sensor sinaliza resistência ), deve ser considerada impossível pelo que devem preencher-se as correspondentes (6) células com X ; 3. Resta preencher duas células correspondentes aos casos em que C=1 e S=1 quando a porta se encontra movendo. Ora, S=1 significa resistência pelo que a porta se deve imobilizar; e quando a porta se encontra movendo, C=1 significa o mesmo: o condutor pretende interromper o movimento da porta Ou seja: naquelas duas células, o circuito deve ingressar num estado em que a porta esteja imóvel mas quanto a isso há três possibilidades, a saber: F, A e P. Qual delas deve ser a eleita? Para o caso em que a porta se está abrindo (em A:2 ), será pacífico que a interrupção do seu movimento conduza o circuito ao estado P (mas a escolha do estado A seria igualmente válida). Já para o caso em que a porta se está fechando (em F:2 ), a escolha não será tão pacífica pelo se deverá considerar o enunciado incompletamente especificado e acrescentar-lhe: deve ser ignorado o clicar no comando (para interromper o movimento da porta) se ocorrer exactamente quando ela está a acabar de se fechar. (Abra-se um parêntesis: esta é uma prática comum; eventualmente, em provas de avaliação, o próprio estudante será confrontado com ela: poderão elas conter algum enunciado incompletamente especificado, no sentido de ser omisso relativamente a alguns detalhes - cabendo-lhe então completá-lo, com algumas assunções razoáveis ) Construída a Tabela de Estados e de Saídas, e optando por recorrer a flip-flops D, os subsequentes passos no sentido de lograr o correspondente circuito seguirão pari passu o que se fez a propósito do 16bº Projecto Porém, e antes de o fazer, convirá olhar cuidadosamente para a Tabela a que se chegou. E desde logo sobressai a quase igualdade entre as linhas respeitantes aos estados A e P : ambos geram as saídas {M=0 e A=X}, e as células com os estados seguintes contêm exactamente o mesmo para todas as combinações de {C, S} excepto para {C=0 e S=0} e mesmo neste caso o comportamento do circuito em ambos os estados vem a ser o mesmo: o estado não se altera. Pelo que é lícita deduzir que os estados A e P são equivalentes: em termos práticos, podem ser colapsados em um único estado, como seja o próprio A. Aliás, isso mesmo já poderia ter sido decidido aquando do traçado do Diagrama de Estados: se o condutor clica no comando quando a porta se está abrindo ou fechando, o motor deverá parar mas, em vez de se congeminar um novo estado, P, poder-se-ia ao invés ter aproveitado um estado já definido, A que ademais tem a propriedade de, quando se clicar no comando, dele se transitar para o estado em que a porta se estará fechando, como requerido no enunciado Adiante, observar-se-ão outros Projectos em que o desenho do Diagrama de Estados conduz a mais estados do que os estritamente necessários no sentido de que envolve estados equivalentes, que por isso mesmo deverão ser colapsados Formalmente, poder-se-ão colapsar dois estados (por isso dito de equivalentes) em um único se, para qualquer sequência de entradas, as saídas forem rigorosamente as mesmas. Esse colapso pode ser vantajoso, e o Projecto entre mãos manifesta-o: o Diagrama de Estados envolve 5 estados, o que conduz a um mínimo de 3 flip-flops mas a Tabela final a que se chega (após a substituição do nome P por A, e a remoção da linha P ) já só exibe 4 estados, o que se basta em 2 flip-flops! Menos um flip-flop, portanto As etapas subsequentes vêm a ser, vidé ao lado: a codificação dos 4 estados da Tabela de Estados; ao lado, optou-se pelo CBN (Código Binário Natural); o preenchimento da Tabela de Transições do circuito, pela substituição dos nomes dos estados pelos seus códigos; prevendo o subsequente uso do método de Karnaugh, convirá organizá-la de modo a que a ordem das combinações das entradas (internas e externas) siga o código binário reflectido; a obtenção da Tabela de Excitações do circuito: para tal, começa-se por desdobrar a Tabela de Transições em duas Tabelas, uma por cada um dos estados seguintes de {Q 1, Q 0 } a dedução das expressões das entradas {D 1 e D 0 } dos flip-flops

18 Sistemas Digitais (Part III) Page 18 of 111

19 Sistemas Digitais (Part III) Page 19 of 111 Síntese clássica (Modelo de Moore)/ Análise de Circuito com Flip-flops D Será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? A resposta deve ser por um método independente daquele usado na síntese do circuito e na prática suporta-se na Equação característica dos flip-flops usados, como já se testemunhou algures e agora se volta a aplicar: O circuito envolve dois flip-flops D cujos estados se designam de {Q 1, Q 0 }. O primeiro passo na análise do circuito é, a partir do respectivo logigrama, escrever as expressões algébricas que traduzem o comportamento das saídas do circuito e das entradas dos flip-flops, vidé ao lado. O segundo passo é substituir as expressões das entradas dos flip-flops na equação característica do flip-flop D. O resultado são expressões que exprimem o estado seguinte de cada flip-flop em função dos estados dos flipflops e das entradas externas {C, S} no instante em que ocorre o flanco descendente do relógio. O terceiro passo é converter tais expressões nas assim designadas Tabelas de Transições/Saída que indicam, para cada combinação das entradas internas {Q 1, Q 0 } num instante t, as saídas {M, A} do circuito nesse instante, e, a ocorrer em t o flanco descendente do relógio, os estados dos flip-flops no instante t+1 seguinte. No total, existirão três Tabelas, para {Z, Q 1 e Q 0 }: à esquerda, dispõem se duas colunas, representando outros tantos flip-flops, {Q 1, Q 0 }; e no topo dispõem-se duas linhas representando as entradas externas {C, S}; estando envolvidos dois flip-flops, e pois que cada um pode assumir dois valores {Q=0 e Q=1}, o circuito poderá assumir quatro estados distintos, que convirá identificar por códigos binários: { 00, 01, 10, etc.}. O preenchimento das Tabelas não deverá provocar engulhos. As expressões de {Z, Q 1 e Q 0 } são claras: M=Q 0, pelo que a coluna M será igual à coluna Q 0 ; A é o complemento de Q 1, pelo que a coluna A será o complemento da coluna Q 1 ; quanto a Q 1(t+1) e Q 0(t+1), deixa-se ao leitor conferir o seu preenchimento O passo seguinte será aglutinar as Tabelas dos estados seguintes dos flip-flops, {Q 1(t+1), Q 0(t+1) }, numa única, dita do estado seguinte do circuito, Q 1 Q 0(t+1). A Tabela obtida pode reescrever-se (embora isso não se mostre ao lado) numa outra, dita de Tabela de Estados, em que cada par de bits {Q 1 Q 0 } é entendido como o código binário de um número, e ele é substituído por um nome como seja S indexado pela representação desse número na base 10; essa Tabela descreve para que Estado evoluem os Estados {S 0, S 1, S 2, S 3 } do circuito, à medida que se vão alterando as entradas {C, S}. Resta desenhar o Diagrama de Estados: a cada estado, associa-se um círculo, etiquetado com um nome (ou código binário); depois, traçam-se setas rotuladas, descrevendo graficamente a Tabela obtida. Veja-se como exemplo a primeira linha, relativa ao estado 00 : as saídas são {M=0, A=1}, e o estado seguinte será 00, 10, 01 ou 11 conforme os valores de {C, S}; isso volve-se em quatro setas, respectivamente de S 0 para S 0 (rotulada com 00 ), de S 0 para S 2 (rotulada com 01 ), de S 0 para S 1 (rotulada com 10 ) e de S 0 para S 3 (rotulada com 11 ). Para denotar que, no estado 00, as saídas são {M=0, A=1}, o correspondente círculo é rotulado por /01. Atente-se que no Diagrama há setas com vários rótulos; em particular, a seta de S 1 para S 2 comporta três rótulos, a saber 01, 10 e 11 : isso é preferível a traçar três setas de S 1 para S 2, cada uma com um desses três rótulos É hora de se comparar o diagrama de estados obtido a partir do logigrama do circuito com a Tabela de estados inicialmente concebida e constatar que aquele está ok: afora os nomes, são idênticas as saídas e a interligação entre os estados as aspas em idênticas querendo significar que as indiferenças na Tabela se volveram agora em valores concretos (o que é irrelevante, pois as indiferenças significam situações a não ter em conta). Há, entretanto, que inquirir: quando se faz o power-on ao circuito, qual o estado em que ele ingressa? A resposta é: não se sabe! No Projecto entre mãos, isso tem importância: a porta deve inicialmente considerar-se fechada, isto é, o estado inicial deve ser S 0 pelo que convirá recorrer a entradas assíncronas (Clear) para obrigar a que o estado inicial do circuito seja mesmo S 0.

20 Sistemas Digitais (Part III) Page 20 of 111

21 Sistemas Digitais (Part III) Page 21 of 111 Síntese clássica (Modelo de Moore)/ Forma Canónica de Moore Após três exemplos de síntese de circuitos sequenciais síncronos, é hora de abstrair das particularidades Um relance aos logigramas obtidos descortina uma arquitectura comum, esquematizada ao lado: à esquerda, encontram-se as entradas, a saber: se existentes, as entradas primárias ou externas, como seja X ou {C, S} (ou outras); as entradas secundárias ou internas, que são as saídas dos flip-flops usados: T ou D (ou mesmo SR e JK); as entradas assíncronas (Preset e Clear), destinadas a inicializar o circuito a um estado específico; uma entrada Clock, por onde se recebem os impulsos de relógio e que alimenta directamente todos os flip-flops: trata-se de um circuito sequencial síncrono. Conforme à convenção seguida neste itinerário, as entradas externas localizam-se por cima das entradas internas: estas são consideradas as entradas de maior peso. à direita, encontra-se a lógica das saídas, isto é: uma malha combinatória, alimentada pelas entradas internas, que gera as saídas do circuito. A dedução das suas expressões algébricas passa por preencher as Tabelas de Verdade (ou, preferivelmente, Mapas de Karnaugh) das saídas em função das entradas internas que são as saídas dos flip-flops. A tal lógica das saídas está associado um certo tempo de propagação, seja T Z, que é o intervalo de tempo que medeia entre a mudança nos estados dos flip-flops e as mudanças nas saídas. entre ambos, encontra-se a lógica do estado seguinte, isto é: uma malha combinatória, alimentada pelas entradas (externas e internas), que gera os novos valores a aplicar às entradas dos flip-flops, para que eles evoluam como deve ser. A dedução das respectivas expressões algébricas passa por preencher as Tabelas de Verdade (ou Mapas de Karnaugh) das entradas dos flip-flops em função das entradas (externas e internas). A tal lógica do estado seguinte está associado um certo tempo de propagação, seja T NovasEntradas, que é o intervalo de tempo que decorre entre a mudança nos estados dos flip-flops (ou nas entradas externas) e a mudança nas entradas dos flip-flops. Os flip-flops são temporalmente caracterizados por um certo tempo de preparação, t su, e um certo tempo de propagação, t phl e t plh. Notável nesta arquitectura é que, em cada momento, as saídas dependem directamente só dos estados dos flipflops, que não das entradas externas nesse momento. Ela reflecte o facto de o seu desenho ter seguido o que se denomina de Modelo de Moore: em termos do Diagrama de estados, ele é caracterizado pelo fato de as saídas ficarem inscritas dentro dos círculos que representam os estados por conseguinte independentemente das entradas externas do circuito, vidé ao lado. Isso tem uma consequência óbvia: como as saídas dos flip-flops podem mudar somente no próximo flanco de comutação do relógio, também as saídas dos circuito somente poderão mudar então: elas permanecem inalteradas durante todo um período de relógio. Como testemunho disso, veja-se o diagrama temporal da evolução do 16cº Projecto: inicialmente, a porta encontra-se fechada: o circuito encontra-se no estado F, gerando a saída M=0; quando o condutor clica no comando, este sinaliza-o forçando C=1 sem qualquer consequência imediata; a consequência só se manifesta no próximo clock: pois que se verifica C=1, o estado do circuito, e após um certo tempo de propagação {t phl ou t plh }, passa a ser A:2 gerando, após um tempo de propagação t Z, as saídas {M=1, A=1}; quando o sensor assinala resistência, ele sinaliza-o forçando S=1 sem qualquer consequência imediata; a consequência manifesta-se no próximo clock: pois que se verifica S=1, o estado do circuito, e após um certo tempo de propagação {t phl ou t plh }, passa a ser A gerando, após um tempo de propagação t Z, a saída M=0. Moral do Modelo de Morre: ainda que uma entrada mude, as saídas só mudarão após se alterar o estado de algum flip-flop (e isso somente sucederá no próximo clock); e, depois de mudarem, manter-se-ão assim até ao clock seguinte.

22 Sistemas Digitais (Part III) Page 22 of 111

23 Sistemas Digitais (Part III) Page 23 of 111 Síntese clássica (Modelo de Mealy)/ 17aº Projecto Abordada já a síntese de circuitos sequenciais síncronos seguindo o denominado modelo de Moore, é hora de abordar um outro modelo, dito de Mealy caracterizado por as saídas do circuito, em cada momento, dependerem dos estados dos flip-flops, e também das entradas externas nesse momento. Tal como as demais sessões, irá desenrolar-se a partir de um Projecto concreto, que, não por acaso, tem o mesmo enunciado que o 16bº Projecto O ponto crítico para obter um Circuito sequencial síncrono é o desenho do seu Diagrama de Estados: 1. Considere-se o momento em que se faz o power-on O circuito nada sabe então do que se passou antes pelo que será pacífico forçá-lo a assumir um estado inicial que se representa por um círculo identificado por um nome significativo, S 0 ; o seu caracter inicial é denotado por uma seta dirigida da esquerda para o círculo S Recorde-se, entretanto, que tal circuito está recebendo, do receptor de RF, uma sucessão de 0 e 1 s seja 0 ou 1 o primeiro bit a ser recebido, não se pode concluir que se detectou o padrão 1011 pelo que a saída será, em qualquer caso, Z=0. Relativamente ao estado que o circuito deverá adquirir após o próximo clock: se esse primeiro bit for 1, o circuito pode julgar que ele é já o primeiro bit do padrão 1011, pelo que irá transitar para um novo estado o que se representa por um círculo nomeado S 1 e uma seta do círculo S 0 para o círculo S 1 ; mas se for 0, o circuito irá permanecer em S 0 o que se representa por uma seta de S 0 para S 0. Em consequência, de S 0 saem duas setas. Para distinguir o que motiva aquela dirigida para S 1 e qual a correspondente saída, ela é rotulada por X=1/Z=0, ou, conforme à lei do menor esforço, 1/0 ; intui-se que a seta dirigida para S 0 é rotulada por 0/0. 3. Resolvido o estado S 0, considere-se, então, que o circuito se encontra no estado S 1. Qual será a sua saída, e como evolui ele, quando receber, do receptor de RF, um 0 ou um 1? pois que não chega para decidir que se detectou o padrão 1011, a saída será, em qualquer dos casos, Z=0; se receber um 0, o circuito pode julgar que é o segundo bit do padrão 1011, pelo que transitará para um novo estado o que se representa por um círculo nomeado S 10 e uma seta de S 1 para S 10, rotulada por 0/0 ; se, porém, receber um 1, irá concluir que estava errada a suposição de que o 1 precedente era o primeiro bit do padrão 1011 mas talvez o 1 que acaba de receber o seja; isso remete para uma seta de S 1 para S 1, rotulada por 1/0 ; 4. Considere-se, agora, que o circuito se encontra no estado S 10. Que sucederá quando receber outro bit? pois que não chega para decidir que se detectou o padrão 1011, a saída será, em qualquer dos casos, Z=0; se receber um 1, o circuito pode julgar que ele é o terceiro bit do padrão 1011 pelo que irá transitar para um novo estado o que se representa por um círculo S 101, e uma seta rotulada por 1/0 de S 10 para S 101 ; se, porém, receber um 0, concluirá que afinal os bits 10 precedentes não eram o começo do padrão 1011 : tem que regressar ao início o que remete para uma seta rotulada por 0/0 de S 10 para S Considere-se, agora, que o circuito se encontra no estado S 101. Que sucederá quando receber outro bit? se receber um 1, o circuito conclui que ele é o quarto bit do padrão 1011 pelo que a saída volver-se-á 1. E, no próximo clock, irá regressar ao início o que remete para uma seta rotulada por 1/1 de S 101 para S 0 se, porém, receber um 0, concluirá que afinal os bits 101 precedentes não eram o começo do padrão 1011 mas talvez os últimos 10 o sejam, o que remete para uma seta rotulada por 0/0 de S 101 para S 10. Com isso, fica completo o Diagrama de Estados a converter numa Tabela de Estados/Saída, vidé ao lado em que ambas as Tabelas, de Q (t+1) e Z (t), se organizam em duas colunas, correspondentes a X=0 e X=1. Abra-se um parêntesis: o enunciado afirma Não se consideram sequências sobrepostas. Quer dizer: só depois de findo um padrão 1011 é que pode começar um outro Se o enunciado admitisse sequências sobrepostas, então, deveria ser entendido como sobreposição de dois padrões: um começando no primeiro bit, e outro começando no quarto bit: com o que a saída deveria ser 1 no 4º e no 7º bits! No diagrama de estados, isso levaria a uma modificação: recebido o quarto bit do padrão, o circuito não retornaria ao estado inicial S 0, ingressaria, sim, no estado em que julga que se recebeu já o primeiro bit, S 1, vidé ao lado. O leitor poderá agora comparar os diagramas de estado logrados para o mesmíssimo enunciado: no modelo de Moore, seguido no 16bº Projecto, ele expande-se por cinco círculos: S 0, S 1, S 10, S 101 e S 1011 ; a saída que eles forçam é explicitada no seio desses círculos; no modelo de Mealy, seguido no 17aº Projecto, ele expande-se por só quatro círculos: S 0, S 1, S 10 e S 101 ; as saídas são associadas a setas, isto é, aos pares estado de onde a seta provêm e entrada externa que a motiva.

24 Sistemas Digitais (Part III) Page 24 of 111

25 Sistemas Digitais (Part III) Page 25 of 111 Síntese clássica (Modelo de Mealy)/ Síntese Clássica com Flip-Flops JK De posse da Tabela de Estados/Saída, a sua concretização segundo o método de desenho dito clássico acompanha pari passu as etapas seguidas na precedente sessão; em particular, e porquanto a Tabela apresenta quatro estados, deduz-se que serão necessários, e suficientes, dois flip-flops, designem-se eles de {Q 1, Q 0 }. Isso decidido, o passo seguinte é proceder à codificação dos estados isto é, estabelecer uma correspondência biunívoca entre cada estado e uma combinação particular de dois bits {Q 1 Q 0 }. Aquela que se elegeu ao lado usa o CBR (Código Binário Reflectido) A etapa seguinte é transformar a Tabela de Estados/Saída na assim designada Tabela de Transições e Saídas ou preferivelmente, já antevendo o que seguirá, num Mapa de Karnaugh, vidé ao lado: cada nome designando um estado é substituído pelo par de bits {Q 1 Q 0 } que o codifica Obtida essa Tabela de Transições e Saídas, a aplicação do método de Karnaugh habilita a escrever a expressão simplificada da saída Z Resta determinar as expressões simplificadas das entradas dos flip-flops e isso exige, é claro, precisar o tipo de flip-flop a usar. Admita-se que, neste 17aº Projecto, se opta por flip-flops JK; como auxiliar de memória, apresentam-se ao lado o diagrama de estados do flip-flop JK e a correspondente Tabela de Excitação. O passo imediato será obter a Tabela de Excitações do circuito: para tal, começa-se por desdobrar a Tabela de Transições em duas Tabelas, uma por cada um dos estados seguintes de {Q 1, Q 0 }. A seguir, dever-se-á proceder à substituição dos valores nas colunas Q 1(t+1) e Q 0(t+1) pelos valores a impor nas entradas {J 1, K 1 } e {J 0, K 0 } para lograr as transições de estado em causa Considere-se, por exemplo, a linha em que Q 1 =0 e Q 0 =0, e atente-se no que sucede quando X=0. O estado seguinte de Q 1 é 0 e o estado seguinte de Q 0 é 0 e isso remete para a pergunta: para que aconteçam essas transições em {Q 1, Q 0 }, como se devem excitar as entradas dos flip-flops? A resposta da Tabela de Excitação do flip-flop JK é: a transição 0 0 logra-se aplicando 0 na entrada J (sendo indiferente o que se aplica em K ). São precisamente os valores 0X o que se escreve nas Tabelas de {J 1, K 1 } e {J 0, K 0 } para o caso em que X=0. A etapa final é deduzir as expressões simplificadas das entradas {J 1, K 1, J 0, K 0 } dos flip-flops Para tal, convirá desdobrar cada uma das Tabelas de {J 1, K 1 } e {J 0, K 0 } em duas Tabelas, uma por cada uma das entradas {J 1, K 1, J 0, K 0 }. Considere-se, por exemplo, a linha em que Q 1 =0 e Q 0 =0, e atente-se ao que sucede quando X=0: observa-se {J 1 K 1 =0X}, isto é, {J 1 =0, K 1 =X}; então, na correspondente posição {Q 1 =0 e Q 0 =0 e X=0} a Tabela de J 1 irá conter 0 e a de K 1 irá conter X. Procedendo analogamente para as restantes combinações de {Q 1 e Q 0 e X}, ficarão preenchidas as Tabelas de {J 1, K 1, J 0, K 0 } a que depois será hora de aplicar o método de Karnaugh (Abra-se um parêntesis: com algum treino, o leitor ficará capaz de passar directamente da Tabela de Transições do circuito para as Tabelas de {J 1, K 1, J 0, K 0 }) Enfim, procede-se ao desenho do correspondente logigrama com a geografia habitual, vidé ao lado, em que se pressupõe que os flip-flops são edge-triggered comutando no flanco descendente do relógio. Uma peculiaridade deste circuito é que a saída, Z, depende dos estados dos flip-flops e da entrada, X! A isso não será alheio, certamente, a decisão de, ao desenhar o Diagrama de Estados do circuito, seguir o assim denominado modelo de Mealy: a saída do circuito é inscrita nas setas que representam as transições entre estados (Em rigor, porém, pode suceder que o projectista tenha seguido o modelo de Mealy mas pode dar-se o caso de, para todos os estados, as setas que saem de cada um deles patentearem a mesma saída; a ser assim, o método de Karnaugh conduzirá a uma expressão para a saída que não depende das entradas externas!).

26 Sistemas Digitais (Part III) Page 26 of 111

27 Sistemas Digitais (Part III) Page 27 of 111 Síntese clássica (Modelo de Mealy)/ Análise de Circuito com Flip-flops JK Quando um projectista se engaja no desenho de um circuito, e antes de o materializar de facto, e para evitar posteriores dissabores, há que fazer a prova dos nove : será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? E este passo de maneira nenhuma se deve omitir! Essa conferência deve ser independente do método usado na síntese do circuito e na prática suporta-se na Equação característica dos flip-flops usados, como já se testemunhou algures e agora se volta a aplicar: O circuito envolve dois flip-flops JK cujos estados se designam de {Q 1, Q 0 }. O primeiro passo na análise do circuito é, a partir do respectivo logigrama, escrever as expressões algébricas que traduzem o comportamento da saída do circuito e das entradas dos flip-flops, vidé ao lado. Tendo em mira o desenho do Diagrama de Estados, o segundo passo é substituir as expressões das entradas dos flip-flops na equação característica do flip-flop JK. O resultado são expressões que exprimem o estado seguinte de cada flip-flop em função dos estados dos flip-flops e da entrada X no instante em que ocorre o flanco descendente do relógio. O terceiro passo é converter tais expressões nas assim denominadas Tabelas de Estado/Saída que indicam, para cada combinação das entradas internas e externas {Q 1, Q 0, X} num instante t, a saída Z do circuito nesse instante, e, a ocorrer em t o flanco descendente do relógio, os estados dos flip-flops no instante t+1 seguinte. No total, existirão três Tabelas, para {Z, Q 1 e Q 0 }: à esquerda, dispõem-se duas colunas, representando outros tantos flip-flops, {Q 1, Q 0 }; e no topo dispõe-se uma linha representando a entrada externa X ; estando envolvidos dois flip-flops, e pois que cada um pode assumir dois valores {Q=0 e Q=1}, o circuito poderá assumir quatro estados distintos, que convirá nomear por códigos binários: { S 00, S 01, S 10 e S 11 }. O preenchimento das Tabelas não deverá provocar engulhos. As expressões de {Z, Q 1 e Q 0 } são claras: Z será 0 apenas para a combinação Q 1 =1 e Q 0 =0 e X=1; quanto a Q 1(t+1) e Q 0(t+1), deixa-se ao leitor conferir o seu preenchimento O passo seguinte será aglutinar as Tabelas dos estados seguintes dos flip-flops, {Q 1(t+1), Q 0(t+1) }, numa única, dita do estado seguinte do circuito, Q 1 Q 0(t+1). A Tabela obtida pode reescrever-se (embora isso não se mostre ao lado) numa outra, dita de Tabela de Estados, em que cada par de bits {Q 1 Q 0 } é entendido como o código binário de um número, e ele é substituído por um nome como seja S indexado pela representação desse número na base 10; essa Tabela descreve para que Estado evoluem os Estados {S 0, S 1, S 2, S 3 } do circuito, à medida que se vai alterando a entrada {X}. Resta desenhar o Diagrama de Estados: a cada estado, associa-se um círculo, etiquetado com um código binário (ou pelo correspondente nome); depois, traçam-se setas rotuladas, descrevendo graficamente a Tabela. Veja-se como exemplo a primeira linha, relativa ao estado 00 : conforme X seja 0 ou 1, assim a saída será Z=0 ou Z=1, e o estado seguinte será 00 ou 01, respectivamente; isso volve-se numa seta dirigida do círculo 00 para o círculo 00, rotulada com X=0/Z=0 (ou, conforme à lei do menor esforço, 0/0 ) e numa outra dirigida do círculo 00 para o círculo 01, rotulada com 1/0. É hora de o projectista comparar o diagrama de estados obtido a partir do logigrama do circuito com o diagrama de estados que ele inicialmente concebeu e ficar tranquilo, que o circuito a que chegou está ok: afora os nomes, o número de estados, a interligação entre eles e as saídas são idênticos Há, entretanto, que inquirir: quando se faz o power-on ao circuito, qual o estado em que ele ingressa? A resposta é: não se sabe! No Projecto entre mãos, isso tem importância: se, ao fazer-se o power-on, o circuito ingressar no estado S 10 e ocorrer X=1, o circuito assinalará, de imediato, erroneamente (porquanto ainda se não recebeu a sequência 1011 ), o valor 1 pelo que convirá recorrer a entradas assíncronas (Clear) para obrigar a que o estado inicial do circuito seja S 00.

28 Sistemas Digitais (Part III) Page 28 of 111

29 Sistemas Digitais (Part III) Page 29 of 111 Síntese clássica (Modelo de Mealy)/ 17bº Projecto O 17aº Projecto é um detector de um padrão específico de 0 s e 1 s e nem que seja por serem os detectores de padrões os tipos de circuitos a que muitos estudantes serão mais avessos, será de bom-tom levar por diante a síntese de mais um circuito detector de padrões, desta feita com flip-flops SR Pretende-se um circuito sequencial síncrono que sinaliza 1 se e só se os últimos três bits foram 101. O ponto crítico para obter um Circuito sequencial síncrono é o desenho do seu Diagrama de Estados: 1. Considere-se o momento em que se faz o power-on O circuito nada sabe então do que se passou antes pelo que será pacífico forçá-lo a assumir um estado inicial que se representa por um círculo identificado por um nome significativo, S 0 ; o seu caracter inicial é denotado por uma seta dirigida da esquerda para o círculo S Recorde-se, entretanto, que tal circuito está recebendo uma sucessão de 0 e 1 s seja 0 ou 1 o primeiro bit a ser recebido, não se pode concluir que se detectou o padrão 101 pelo que a saída será, em qualquer caso, Z=0. Relativamente ao estado que o circuito deverá adquirir após o próximo clock: se esse primeiro bit for 1, o circuito pode julgar que ele é já o primeiro bit do padrão 101, pelo que irá transitar para um novo estado o que se representa por um círculo nomeado S 1 e uma seta do círculo S 0 para o círculo S 1, rotulada por 1/0 ; mas se for 0, o circuito irá permanecer em S 0 o que se representa por uma seta de S 0 para S 0, rotulada por 0/0. 3. Considere-se, agora, que o circuito se encontra no estado S 1. Que sucederá quando receber outro bit? pois que não chega para decidir que se detectou o padrão 101, a saída será, em qualquer dos casos, Z=0; se receber um 0, o circuito pode julgar que é o segundo bit do padrão 101, pelo que transitará para um novo estado o que se representa por um círculo S 10 e uma seta de S 1 para S 10, rotulada por 0/0 ; se, porém, receber um 1, irá concluir que estava errada a suposição de que o 1 precedente era o primeiro bit do padrão 101 mas talvez o 1 que acaba de receber o seja; isso remete para uma seta de S 1 para S 1, rotulada por 1/0 ; 4. Considere-se, agora, que o circuito se encontra no estado S 10. Que sucederá quando receber outro bit? se receber um 1, o circuito conclui que ele é o terceiro bit do padrão 101 pelo que a saída volver-se-á 1. E, no próximo clock, irá regressar a S 1 o que remete para uma seta rotulada por 1/1 de S 10 para S 1 se, porém, receber um 0, concluirá que afinal os bits 10 precedentes não eram o começo do padrão 101 pelo que deverá retornar ao estado inicial, o que remete para uma seta rotulada por 0/0 de S 10 para S 0. Com isso, fica completo o Diagrama de Estados a converter numa Tabela de Estados/Saída, vidé ao lado em que ambas as Tabelas, de Q (t+1) e Z (t), se organizam em duas colunas, correspondentes a X=0 e X=1. De posse da Tabela de Estados/Saída, e porquanto a Tabela apresenta três estados, deduz-se que serão necessários, e suficientes, dois flip-flops, designem-se eles de {Q 1, Q 0 }. O passo seguinte é proceder à codificação dos estados. Aquela que se elegeu ao lado usa o CBN (Código Binário Natural) A etapa seguinte é transformar a Tabela de Estados/Saída na assim designada Tabela de Transições e Saídas ou preferivelmente, já antevendo o que seguirá, num Mapa de Karnaugh, vidé ao lado: cada nome designando um estado é substituído pelo par de bits {Q 1 Q 0 } que o codifica Obtida essa Tabela de Transições e Saídas, a aplicação do método de Karnaugh habilita a escrever a expressão simplificada da saída Z Optando por flip-flops SR, o passo imediato será obter a Tabela de Excitações do circuito: para tal, começa-se por desdobrar a Tabela de Transições em duas Tabelas, uma por cada um dos estados seguintes de {Q 1, Q 0 }. A seguir, dever-se-á proceder à substituição dos valores nas colunas Q 1(t+1) e Q 0(t+1) pelos valores a impor nas entradas {S 1, R 1 } e {S 0, R 0 } para lograr as transições de estado em causa Considere-se, por exemplo, a linha em que Q 1 =0 e Q 0 =0, e atente-se no que sucede quando X=0. O estado seguinte de Q 1 é 0 e o estado seguinte de Q 0 é 0 e isso remete para a pergunta: para que aconteçam essas transições em {Q 1, Q 0 }, como se devem excitar as entradas dos flip-flops? A resposta da Tabela de Excitação do flip-flop SR é: a transição 0 0 logra-se aplicando 0 na entrada S (sendo indiferente o que se aplica em R ). São precisamente os valores 0X o que se escreve nas Tabelas de {S 1, R 1 } e {S 0, R 0 } para o caso em que X=0. A etapa final é deduzir as expressões simplificadas das entradas {S 1, R 1, S 0, R 0 } dos flip-flops, e desenhar o correspondente logigrama Para tal, convirá desdobrar cada uma das Tabelas de {S 1, R 1 } e {S 0, R 0 } em duas Tabelas, uma por cada uma das entradas {S 1, R 1, S 0, R 0 } e aplicar depois o método de Karnaugh

30 Sistemas Digitais (Part III) Page 30 of 111

31 Sistemas Digitais (Part III) Page 31 of 111 Síntese clássica (Modelo de Mealy)/ Análise de Circuito com Flip-flops SR Quando um projectista se engaja no desenho de um circuito, e antes de o materializar de facto, e para evitar posteriores dissabores, há que fazer a prova dos nove : será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? E este passo de maneira nenhuma se deve omitir! Essa conferência deve ser independente do método usado na síntese do circuito e na prática suporta-se na Equação característica dos flip-flops usados, como já se testemunhou algures e agora se volta a aplicar: O circuito envolve dois flip-flops SR cujos estados se designam de {Q 1, Q 0 }. O primeiro passo na análise do circuito é, a partir do respectivo logigrama, escrever as expressões algébricas que traduzem o comportamento da saída do circuito e das entradas dos flip-flops, vidé ao lado. Tendo em mira o desenho do Diagrama de Estados, o segundo passo é substituir as expressões das entradas dos flip-flops na equação característica do flip-flop SR. O resultado são expressões que exprimem o estado seguinte de cada flip-flop em função dos estados dos flip-flops e da entrada X no instante em que ocorre o flanco descendente do relógio. O terceiro passo é converter tais expressões nas assim denominadas Tabelas de Estado/Saída que indicam, para cada combinação das entradas internas e externas {Q 1, Q 0, X} num instante t, a saída Z do circuito nesse instante, e, a ocorrer em t o flanco descendente do relógio, os estados dos flip-flops no instante t+1 seguinte. No total, existirão três Tabelas, para {Z, Q 1 e Q 0 }: à esquerda, dispõem-se duas colunas, representando outros tantos flip-flops, {Q 1, Q 0 }; e no topo dispõe-se uma linha representando a entrada externa X ; estando envolvidos dois flip-flops, e pois que cada um pode assumir dois valores {Q=0 e Q=1}, o circuito poderá assumir quatro estados distintos, que convirá identificar por códigos binários: { S 00, S 01, S 10 e S 11 }. O preenchimento das Tabelas não deverá provocar engulhos. As expressões de {Z, Q 1 e Q 0 } são claras: Z será 1 apenas para a combinação Q 1 =1 e X=1; quanto a Q 1(t+1) e Q 0(t+1), deixa-se ao leitor conferir o seu preenchimento O passo seguinte será aglutinar as Tabelas dos estados seguintes dos flip-flops, {Q 1(t+1), Q 0(t+1) }, numa única, dita do estado seguinte do circuito, Q 1 Q 0(t+1). A Tabela obtida pode reescrever-se (embora isso não se mostre ao lado) numa outra, dita de Tabela de Estados, em que cada par de bits {Q 1 Q 0 } é entendido como o código binário de um número, e ele é substituído por um nome como seja S indexado pela representação desse número na base 10; essa Tabela descreve para que Estado evoluem os Estados {S 0, S 1, S 2, S 3 } do circuito, à medida que se vai alterando a entrada {X}. Resta desenhar o Diagrama de Estados: a cada estado, associa-se um círculo, etiquetado com um código binário (ou pelo correspondente nome); depois, traçam-se setas rotuladas, descrevendo graficamente a Tabela. Veja-se como exemplo a primeira linha, relativa ao estado 00 : a saída será Z=0, mas, conforme X seja 0 ou 1, assim o estado seguinte será 00 ou 01, respectivamente; isso volve-se numa seta dirigida do círculo 00 para o círculo 00, rotulada com 0/0 e numa outra dirigida do círculo 00 para o círculo 01, rotulada com 1/0. É hora de se comparar o diagrama de estados obtido a partir do logigrama do circuito com o diagrama de estados inicialmente concebido e constatar que aquele está ok: se se confinar a comparação somente a três estados {S 0, S 1, S 2 }, e afora os nomes, são idênticas as saídas e a interligação entre eles Há, entretanto, que inquirir: quando se faz o power-on ao circuito, qual o estado em que ele ingressa? A resposta é: não se sabe! No Projecto entre mãos, isso tem importância: se, ao fazer-se o power-on, o circuito ingressar nos estados S 10 ou S 11 e ocorrer X=1, o circuito assinalará, de imediato, erroneamente (porquanto ainda se não recebeu a sequência 101 ), o valor 1 pelo que convirá recorrer a entradas assíncronas (Clear) para obrigar a que o estado inicial do circuito seja S 00.

32 Sistemas Digitais (Part III) Page 32 of 111

33 Sistemas Digitais (Part III) Page 33 of 111 Síntese clássica (Modelo de Mealy)/ Forma Canónica de Mealy Após dois exemplos de síntese de circuitos sequenciais síncronos, é hora de abstrair das particularidades Um relance aos logigramas obtidos descortina uma arquitectura comum, esquematizada ao lado: à esquerda, encontram-se as entradas, a saber: as entradas primárias ou externas, como seja X (ou outras); as entradas secundárias ou internas, que são as saídas dos flip-flops usados: SR e JK); as entradas assíncronas (Preset e Clear), destinadas a inicializar o circuito a um estado específico; uma entrada Clock, por onde se recebem os impulsos de relógio e que alimenta directamente todos os flip-flops: trata-se de um circuito sequencial síncrono. Conforme à convenção seguida neste itinerário, as entradas externas localizam-se por cima das entradas internas: estas são consideradas as entradas de maior peso. à direita, encontra-se a lógica das saídas, isto é: uma malha combinatória, alimentada pelas entradas (externas e internas), que gera as saídas do circuito. A dedução das suas expressões algébricas passa por preencher as Tabelas de Verdade (ou, preferivelmente, Mapas de Karnaugh) das saídas em função das entradas, externas e internas (que são as saídas dos flip-flops). A tal lógica das saídas está associado um certo tempo de propagação, seja T Z, que é o intervalo de tempo que medeia entre a mudança nos estados dos flip-flops (ou nas entradas externas) e as mudanças nas saídas. entre ambos, encontra-se a lógica do estado seguinte, isto é: uma malha combinatória, alimentada pelas entradas (externas e internas), que gera os novos valores a aplicar às entradas dos flip-flops, para que eles evoluam como deve ser. A dedução das respectivas expressões algébricas passa por preencher as Tabelas de Verdade (ou Mapas de Karnaugh) das entradas dos flip-flops em função das entradas (externas e internas). A tal lógica do estado seguinte está associado um certo tempo de propagação, seja T NovasEntradas, que é o intervalo de tempo que decorre entre a mudança nos estados dos flip-flops (ou nas entradas externas) e a mudança nas entradas dos flip-flops. Os flip-flops são temporalmente caracterizados por um certo tempo de preparação, t su, e um certo tempo de propagação, t phl e t plh. Notável nesta arquitectura é que as saídas, em cada momento, dependem directamente dos estados dos flip-flops e das entradas externas nesse momento. Ela reflecte o facto de o seu desenho ter seguido o que se denomina de Modelo de Mealy: em termos do Diagrama de estados, ele é caracterizado pelo fato de as saídas ficarem associadas a setas, isto é, aos pares estado de onde a seta provêm e entrada externa que a motiva. Isso tem uma consequência óbvia: as saídas do circuito poderão mudar no próximo flanco de comutação do relógio ou aquando da alteração de algumas das entradas externas. Como testemunho disso, veja-se o diagrama temporal da evolução do 17bº Projecto: inicialmente, o circuito encontra-se no estado S 0, e, sendo X=0, está gerando a saída Z=0; quando ocorre X=1, não há qualquer consequência imediata; a consequência só se manifesta no próximo clock: pois que se verifica X=1, o estado do circuito, e após um certo tempo de propagação {t phl ou t plh }, passa a ser S 1 ; e, sendo X=1, continua gerando a saída Z=0; quando depois ocorre X=0, não há qualquer consequência imediata; a consequência manifesta-se no próximo clock: pois que se verifica X=0, o estado do circuito, e após um certo tempo de propagação {t phl ou t plh }, passa a ser S 10 ; e, enquanto X=0, continua gerando a saída Z=0; quando a seguir ocorre X=1, a saída, e após um tempo de propagação t Z, passa a ser Z=1. no próximo clock, e pois que se verifica X=1, o estado do circuito, e após um certo tempo de propagação {t phl ou t plh }, passa a ser S 1 ; e após um tempo de propagação t Z, fica gerando a saída Z=0 Moral do Modelo de Mealy: as saídas poderão mudar após se alterar o estado de algum flip-flop (e isso sucederá quando ocorrer o flanco de comutação do relógio); mas poderão não se manter assim até ao flanco de comutação seguinte: quando uma entrada muda, elas poderão mudar de imediato.

34 Sistemas Digitais (Part III) Page 34 of 111

35 Sistemas Digitais (Part III) Page 35 of 111 Síntese clássica (Modelo de Mealy)/ 17cº Projecto Na síntese clássica de circuitos sequenciais síncronos sobressaem dois modelos: o de Moore e o de Mealy. Por forma a avaliar das vantagens e desvantagens relativas, será natural finalizar esta sessão com a concretização de um Projecto mediante ambos os modelos Considere que, para atravessar uma rua, e estando o semáforo vermelho para os peões, um transeunte clica num botão (no semáforo); fá-lo durante um intervalo de tempo que é naturalmente variável Pretende-se um circuito que, em resposta a esse clicar, produza um impulso de curta duração: um 1 com a duração do período do clock, seguido de 0 s Ao lado, encontra-se o Diagrama de Estados seguindo o modelo de Moore: 1. Considere-se o momento do power-on Será pacífico iniciar o circuito a um estado, seja S 0, em que irá assinalar 0 na sua saída. O caracter inicial do estado é denotado por uma seta dirigida da esquerda para S 0 ; 2. Enquanto não se clicar no botão, a entrada do circuito, B, mantém-se em 0 e o circuito continua em S 0 ; 3. Quando o botão for clicado mais precisamente, no primeiro flanco de comutação do relógio a seguir a esse clicar -, o circuito ingressa num novo estado, S 1, em que irá assinalar 1 na saída. 4. Estando o circuito em S 1, se o botão ainda continuar a ser clicado, o circuito ingressa, no flanco de comutação do relógio seguinte, num novo estado, S 11, em que assinalará 0 na saída; e aí continuará até que o botão deixe de ser clicado: no primeiro flanco de comutação do relógio que se lhe seguir, retornará ao estado inicial, S 0 ; 5. Estando o circuito em S 1, se o botão já deixou de ser clicado, o circuito retornará ao estado inicial, S 0. Deixa-se ao leitor confirmar os vários passos que se seguem em ordem a obter o logigrama do circuito Ao lado, encontra-se também o Diagrama de Estados seguindo o modelo de Mealy: 1. Considere-se o momento do power-on Será pacífico iniciar o circuito a um estado, seja S 0. O caracter inicial do estado é denotado por uma seta dirigida da esquerda para S 0 ; 2. Enquanto não se clicar no botão, a entrada do circuito, B, mantém-se em 0 e o circuito continua em S 0, gerando a saída 0 ; 3. Quando o botão for clicado, a saída do circuito advém 1 imediatamente e, no primeiro flanco de comutação do relógio a seguir, o circuito ingressa num novo estado, S 1, em que irá assinalar 0 na saída. 4. Estando o circuito em S 1, se o botão ainda continuar a ser clicado, o circuito mantém-se em S 1, continuando á assinalar 0 na saída; e aí continuará até que o botão deixe de ser clicado: no primeiro flanco de comutação do relógio que se lhe seguir, retornará ao estado inicial, S 0 ; Deixa-se ao leitor confirmar os vários passos que se seguem em ordem a obter o logigrama do circuito Comparando os logigramas a que se chegou, e também os logigramas obtidos para o 16bº Projecto e 17aº Projecto (que partilham o mesmo enunciado), intui-se que: o modelo de Moore tenderá a necessitar de mais flip-flops que o de Mealy; o modelo de Mealy tenderá a volver-se numa lógica combinatória mais complexa que a do modelo de Moore. A menção tenderá significa que nem sempre se manifestará a tendência referida Quanto à resposta no tempo, constata-se que: o modelo de Moore é mais lento a responder que o modelo de Mealy: a saída só se altera após se terem alterado os estados dos flip-flops, o mesmo é dizer, após o flanco de comutação do relógio que se segue à alteração das entradas que motiva a mudança na saída; mas essa nova saída manter-se-á até ao próximo flanco de comutação do relógio o modelo de Mealy é mais rápido a responder que o modelo de Moore: a saída altera-se logo após a alteração das entradas que motiva a mudança na saída; mas essa nova saída poder-se-á manter só até ao próximo flanco de comutação do relógio

36 Sistemas Digitais (Part III) Page 36 of 111

37 Sistemas Digitais (Part III) Page 37 of 111 Contadores / 18aº Projecto (solução assíncrona) Recorde-se o itinerário a propósito de circuitos combinatórios: num primeiro passo, fez-se o elenco dos tijolos básicos (ORs, ANDs, ORs, etc.), após o que se abordou a metodologia geral concernindo a sua síntese (Tabelas de Verdade e Mapas de Karnaugh, etc.), num segundo passo, abordaram-se blocos combinatórios general purpose (multiplexers, decoders) após o que se discutiu a sua aplicação na síntese de circuitos combinatórios... A propósito de circuitos sequenciais, procede-se de um modo análogo: num primeiro passo, fez-se o elenco dos seus tijolos básicos específicos (Latches, Flip-flops), após o que se reviu a metodologia geral concernindo a sua síntese (Diagramas de Estado, Modelos de Moore e Mealy, etc.); ir-se-ão agora abordar blocos sequenciais general purpose (contadores, registos, RAM) após o que se discutirá a sua aplicação à síntese de circuitos sequenciais Esta sessão versa, pois, Contadores. Tal como as demais sessões, ir-se-á partir de um Projecto concreto Para produzir um boletim agrafado, um centro de impressão dispõe de uma agrafadora automática: é activada por cada série de 8 folhas à saída da impressora Ao lado, encontra-se um Diagrama Temporal ilustrativo do que se pretende: pressuposto que a impressora assinala o termo da impressão de uma folha com um impulso de curta duração, o circuito pretendido deverá, por cada conjunto de 8 desses impulsos, sinalizar 1 na sua saída Considerando o output da impressora - uma sucessão de impulsos de curta duração -, será tentador usá-los como sinais de relógio do circuito a construir: o circuito será um sistema autónomo no sentido de que não dispõe de quaisquer entradas externas Em si, não é nada de novo: o 15bº Projecto abordou precisamente dois contadores ou Divisores de Frequência (por 2 e por 4) Revendo-os, bastará extrapolar para um Divisor por 8 Vidé ao lado o Diagrama Temporal do Divisor de Frequência por 2 e o respectivo Diagrama de Estados: Inicialmente, a saída do circuito é 0 ; quando ocorre o flanco descendente do relógio (abreviadamente: clock), a saída advém 1 ; no clock seguinte, a saída volta a ser 0 e este ciclo vai-se repetindo indefinidamente (E constata-se que, tendo o circuito recebido 6 impulsos de relógio, a saída exibe apenas 3 impulsos ) Esse comportamento sugere que o circuito terá apenas dois estados, sejam S 0 e S 1 : 1. Considere-se o momento do power-on O circuito ingressa no estado inicial S 0, em que a saída é 0 ; 2. Aquando do clock, ingressa no estado S 1, em que a saída é 1 ; 2. E, no clock seguinte, regressa ao estado inicial, S 0 De posse do Diagrama de Estados do circuito, e em ordem a chegar ao correspondente logigrama, bastará usar a massa cinzenta: é que, bem vistas as coisas, trata-se de um circuito que está continuamente no modo Toggle - o que sugere vivamente usar o flip-flop T em que se forçou a entrada T a ser continuamente 1, vidé ao lado. E quanto ao logigrama de um Divisor de Frequência por 4? Intui-se que será suficiente uma cascata de dois flip-flops T, designem-se eles de Q 0 e Q 1, em que se forçou 1 nas entradas T : Q 0 recebe a sequência de impulsos original, a sua saída vindo a ser o que se interliga à entrada clock de Q 1, vidé ao lado: Q 0 gera um impulso somente após ter recebido dois impulsos clock, e Q 1 produz um impulso apenas depois de Q 0 ter gerado dois impulsos o que significa que, globalmente, Q 1 irá gerar um impulso por cada quatro impulsos originais E quanto ao logigrama de um Divisor de Frequência por 8? Por um raciocínio similar, bastará uma cascata de três flip-flops T, designem-se eles de {Q 2, Q 1, Q 0 }, em que se forçou 1 nas entradas T : globalmente, Q 2 irá gerar um impulso por cada oito impulsos originais Manda a curiosidade determinar qual o conteúdo dos três flip-flops à medida que se vão sucedendo os impulsos originais e constata-se que o conjunto {Q 2, Q 1, Q 0 } (em que Q 2 e Q 0 são, respectivamente, os bits de maior e menor peso) vai assumindo ciclicamente as representações em binário dos (8) números {0, 1, 2, 3, 4, 5, 6, 7}. Por tal motivo, ele designa-se contador cíclico ascendente de módulo 8. Trata-se, entretanto, de um contador assíncrono: os flip-flops não reagem em simultâneo; realce-se entretanto que a ordem com que o fazem é previsível a priori: Q 2 reage só depois de Q 1 o ter feito, e Q 1 reage só depois de Q 0 o ter feito; isso acarreta aquilo que se denomina transientes. Veja-se, em particular, o que sucede quando o contador marca 011 e ocorre um novo clock: Q 0 é o primeiro a reagir (com o que o circuito fica marcando 010 ) e somente depois é que Q 1 reage (ficando então o contador a marcar 000 ) - e somente depois é que Q 2 reage (ficando enfim o contador a marcar 100 )! Se se quisera um contador síncrono, haveria que usar as costumeiras etapas para, do Diagrama de Estados, se chegar ao logigrama ou, melhor ainda, usar a massa cinzenta. É o que se verá já a seguir

38 Sistemas Digitais (Part III) Page 38 of 111

39 Sistemas Digitais (Part III) Page 39 of 111 Contadores / 18bº Projecto (solução síncrona) Após os contadores assíncronos, é hora de abordar contadores síncronos: todos os flip-flops são alimentados pelo mesmo clock. Ir-se-á partir dum Projecto concreto que, não por acaso, tem o enunciado do 18aº Projecto Recorda-se ao lado o Diagrama Temporal do comportamento que se pretende Será pacífico que o circuito vai passando ciclicamente por 8 estados distintos, designem-se eles de {S 0, S 1, S 2, S 3, S 4, S 5, S 6, S 7 }. Ao lado, encontra-se o Diagrama de Estados seguindo o modelo de Moore: 1. Considere-se o momento do power-on Será pacífico iniciar o circuito a S 0 ; 2. Aquando do primeiro clock, o circuito transitará para S 1 ; e, com sucessivos clocks, irá percorrendo os restantes estados {S 2, S 3, S 4, S 5, S 6, S 7 } até regressar ao estado inicial. Desenhado o Diagrama de (8) Estados, o método clássico remete para 3 flip-flops, sejam eles {Q 2, Q 1, Q 0 }; há que codificar os estados; por forma a que as saídas dos flip-flops se volvam nos códigos binários dos números {0, 1, 2, 6, 7}, dever-se-á usar o CBN: as saídas serão 000 em S 0, serão 001 em S 1, e assim por diante A etapa seguinte é preencher a Tabela de Transições/Mapa de Karnaugh, vidé ao lado, à esquerda: o nome de cada estado é substituído pelos bits que o codificam: o circuito transita de 000 para 001, de 001 para 010, etc Admitindo que se usam flip-flops T, o passo seguinte será obter as Tabelas com os valores a impor nas entradas {T 2, T 1, T 0 } para lograr as transições de estado em causa após o que se deduzem as expressões simplificadas das entradas {T 2, T 1, T 0 } dos flip-flops e se desenha o correspondente logigrama. (Repare-se que no logigrama não está presente qualquer saída Z : num contador, as saídas são os próprios estados dos flip-flops - mas, se se quisera um Divisor de Frequência por 8, isto é, um circuito que produzisse um flanco descendente após 8 flancos descendentes do relógio, a saída seria, muito simplesmente, Z=Q 2 ) O contador obtido é ascendente (Up): vai incrementando, de 0 até 7 mas poder-se-ia antes requerer um contador descendente (Down): quem não ouviu já a contagem final para um foguetão descolar:, 3, 2, 1, 0? Para o efeito, poder-se-ão seguir os passos acima (que aliás se sumarizam ao lado) mas a lei do menor esforço insta a usar melhor a massa cinzenta, que com menos suor se poderá chegar ao correspondente logigrama (e um bom teste ao leitor será proceder depois de um modo semelhante para lograr o desenho do contador ascendente). Ao lado, ao centro, encontra-se a tabela de codificação de estados para o contador ascendente: lista os sucessivos valores que os flip-flops vão experimentando e o desafio é: como, olhando simplesmente para ela, e reflectindo, deduzir de imediato as expressões das entradas dos flip-flops dum contador descendente? Obviamente, há que ler a tabela de baixo para cima: o contador marca 111, depois 110, etc.. e a pergunta a responder é: quando é que um flip-flop especifico Q i muda de estado - e portanto quando se deve forçar T i =1? 1. Considere-se a evolução de Q 0 : por cada impulso de relógio que recebe, ele oscila de 0 para 1 (ou viceversa) - o que sugere vivamente forçar a entrada T 0 a ser permanentemente 1, vidé ao lado; 2. Considere-se a evolução de Q 1 : aquando dum impulso de relógio, Q 1 oscilará de 0 para 1 (ou viceversa) se e só se o circuito estiver nos estados 110, 100, 010 ou 000 ; a estes estados é comum Q 0 =0 (em contrapartida não havendo qualquer mudança quando Q 0 =1); por outras palavras: T 1 deve ser 1 apenas naqueles quatro estados listados (isto é: quando Q 0 =0) o que se resolve forçando na entrada T o complemento de Q 0 ; 3. Considere-se enfim a evolução de Q 2 : aquando de um impulso de relógio, Q 2 oscilará de 0 para 1 (ou vice-versa) se e só se o circuito estiver nos estados 100 ou 000 ; a estes estados é comum Q 1 =Q 0 =0 (em contrapartida não havendo qualquer mudança quando tal não suceder); por outras palavras, T 2 deve ser 1 apenas quando Q 1 =Q 0 =0) o que se resolve forçando na entrada T o produto dos complementos de Q 1 e Q 0. Os contadores obtidos são síncronos: os flip-flops reagem em simultâneo - as aspas significando que, todavia, ainda há azo à ocorrência de transientes. Veja-se, em particular, o caso de ocorrer um clock quando o contador ascendente marca 011 ; ele deverá passar a marcar 100 ; porém, em virtude de os tempos de propagação não serem efectivamente iguais, virão a suceder-se alguns estados transitórios, cuja sequência é imprevisível a priori: (se Q 0 for o primeiro a reagir e Q 2 for o último a reagir); (se Q 2 for o primeiro a reagir e Q 0 for o último a reagir); - deixa-se ao leitor imaginar outros transitórios A duração de cada estado transitório não excede a diferença entre os tempos de propagação dos flip-flops.

40 Sistemas Digitais (Part III) Page 40 of 111

41 Sistemas Digitais (Part III) Page 41 of 111 Contadores / Contador com Enable Considere-se de novo o 18aº Projecto acrescentando-lhe porém um requerimento extra: além de proporcionar a impressão de boletins de 8 folhas agrafadas, pretende-se também facultar aos clientes a impressão de uma folha avulsa, sem a agrafar Como alterar o circuito desenhado, por forma a satisfazer esse requerimento? Por outras palavras: pressuposto que a impressora continua a assinalar o termo da impressão de uma folha com um impulso, como alterar o contador de folhas desenhado para que, quando for o caso da impressão de uma folha individual sem agrafos, ele se mantenha inerte (em 000 )? Considerando que o que faz mexer o contador são os impulsos na sua entrada clock, uma resposta imediata será: interpor, entre a saída da impressora e essa entrada, um AND a activar por um botão Enable: somente quando ele activar o AND é que os impulsos provenientes da impressora alcançam os flip-flops do contador Mas esta resposta não é pacífica: ela conduz a atrasar no tempo a mudança das saídas do contador o que, no contexto de uma solução síncrona, é de todo desaconselhável: imaginando sistemas algo mais complexos, em que os flip-flops em que se concretizam os contadores coexistem com outros flip-flops, há que garantir que, aquando de um clock, todos eles reajam em simultâneo! O desafio é, portanto: como proceder ao enabe/disable do contador sem interferir nos fios que transportam os impulsos de relógio? A única resposta possível é, obviamente, agir sobre a entrada T dos flip-flops aproveitando o facto de que, quando se lhe aplica o valor 0, um flip-flop T permanece no mesmo estado! Veja-se o caso da versão assíncrona: num contador enabled (isto é, quando se premir o botão Enable, Enable=1), os flip-flops deverão estar todos com as entradas T=1 mas, se ele advir disabled (o que se traduz em Enable=0), elas deverão ficar a 0 ; isto sugere de imediato ligar directamente o botão Enable às entradas T dos flip-flops, vidé ao lado. Mas atente-se agora à versão síncrona. É claro que, no que respeita ao flip-flop Q 0, e seguindo a mesma ordem de ideias, ele deverá ter a sua entrada T 0 directamente ligada ao botão Enable Já quanto às entradas dos restantes flip-flops, a solução terá que ser outra mas será fácil descortiná-la: Recordando o intermezzo sobre Enabling/Disabling, bastará interpor, entre a lógica do estado seguinte e cada entrada T, um AND activado pelo tal botão Enable: - quando este advir inactivo (isto é: a 0 ), as entradas T ficam a 0 - e os flip-flops não mudarão de estado; - mas se ele advir activo (isto é, a 1 ), as entradas T ficam com os valores que lhes devem ser aplicados para que os flip-flops evoluam como deve ser. (Abra-se um parêntesis: em si, o logigrama final viola a geografia habitual de dispor à esquerda os flip-flops: o que está à esquerda é, isso sim, um par de ANDs Em rigor, esse par de ANDs faz parte da lógica do estado seguinte mas a sua implantação à esquerda quiçá torne visualmente mais explícita a sua razão de existir: concretizar o enable/disable do contador)

42 Sistemas Digitais (Part III) Page 42 of 111

43 Sistemas Digitais (Part III) Page 43 of 111 Contadores / Inicialização de um Contador Há que inquirir: quando se faz o power-on ao contador, qual o estado em que ele ingressa? A resposta é: não se sabe! No Projecto entre mãos, isso tem importância: se, ao fazer-se o power-on, o contador ingressar num estado que não seja S 0, o primeiro boletim terá, agrafadas, menos que 8 folhas (e os restantes boletins estarão mal compostos) Pelo que há que obrigar a que o estado inicial do circuito seja mesmo S 0. Uma primeira solução, assíncrona, é recorrer a entradas assíncronas (Clear). Pressuposto que os flip-flops disponibilizam entradas assíncronas Clear, bastará interligar directamente o botão de inicialização do contador, Init, a essas entradas e isso qualquer que seja a versão (síncrona ou assíncrona) do contador, vidé ao lado. Uma segunda solução, síncrona, é recorrer às entradas T dos flip-flops aplicando-lhes os valores pertinentes para que, quaisquer que sejam os seus estados no power-on, ingressem no estado 0. Pode entrever-se esta solução como aplicação particular de uma operação mais geral dita de carregamento em paralelo e que consiste em, por activação de uma entrada denominada Load, forçar o contador a um valor específico, seja {D 2 D 1 D 0 }. É a ela que serão então devotadas as próximas linhas: Uma primeira interrogação é esta: se se quiser que um flip-flop T fique memorizando um valor genérico D, que é que se deve aplicar na sua entrada T? A resposta é dada pela respectiva Tabela de Excitação, vidé ao lado: deverá aplicar-se-lhe o XOR entre o estado Q do flip-flop e esse valor D. Aceite este considerando e, por mor de simplificação, cingindo por agora a análise ao flip-flop Q 0, o que no fim de contas se tem em vista é o seguinte: - que, quando Load=0, o contador se comporte como tal, isto é, incremente (em módulo 8) no próximo impulso de clock o que se volve em impor T 0 =1; - que, quando Load=1, o contador carregue um valor {D 2 D 1 D 0 } em paralelo, isto é, que, no próximo impulso de clock, o flip-flop Q 0 tome o valor D 0 o que se volve em impor T 0 =Q 0 XOR D 0. Por outras palavras: conforme o valor de Load, assim há que aplicar em T 0 um de dois valores diferentes. Isso aponta para, à sua entrada, se interpor um multiplexer, cuja entrada de selecção seja aquele valor Load, e cujas entradas de dados sejam os valores que T 0 poderá assumir, vidé ao lado. O que se afirma acerca da entrada T 0 pode generalizar-se às demais entradas T : a cada uma será aplicada a saída de um multiplexers, com a mesma entrada de selecção, Load, e cujas entradas de dados serão os valores que essa entrada T específica poderá assumir. E equipando esse multiplexer com uma entrada Enable, poder-se-ão providenciar três modos de funcionamento: 1. se Enable=0 (isto é: se a entrada Enable estiver inactiva), as saídas dos multiplexers serão 0 pelo que as entradas dos flip-flops ficarão sendo T=0: no próximo clock, não mudarão de estado; 2.- se Enable=1 (isto é: se a entrada Enable estiver activa), as entradas dos flip-flops ficarão sendo as saídas dos multiplexers oferecendo-se então duas alternativas: 2.1 se Load=0, a saída do multiplexer será o valor na sua entrada de dados numerada 0 pelo que o contador se irá comportar como tal: incrementará no próximo impulso de clock; 2.2 se Load=1, a saída do multiplexer será o valor na sua entrada de dados numerada 1 pelo que o contador irá, no próximo impulso de clock, carregar o valor {D 2 D 1 D 0 }. (O logigrama final volta a violar a geografia habitual de dispor à esquerda os flip-flops: o que se encontra à esquerda são, isso sim, multiplexers e XORs Em rigor, eles fazem parte da lógica do estado seguinte mas a sua implantação à esquerda quiçá torne visualmente mais explícita a sua razão de existir: concretizar os três modos de funcionamento do contador) Se se dispor de um contador assim, então a sua inicialização a S 0 volve-se em fazer o carregamento em paralelo de {D 2 =0, D 1 =0, D 0 =0}

44 Sistemas Digitais (Part III) Page 44 of 111

45 Sistemas Digitais (Part III) Page 45 of 111 Contadores / Contadores modulo M=2 n Os contadores sugeridos como solução para o Projecto entre mãos são de módulo 8 mas certamente que não será um trabalho de Hércules generalizá-los a um módulo que seja uma potência-de-2, M=2 n (isto é, passando ciclicamente pelos valores {0, 1, 2,, M-1} e regressando depois a 0, etc. Considere-se, nomeadamente, um contador de módulo 2 4 =16. Ao lado, ao centro, encontra-se a tabela de codificação de estados para o contador ascendente: lista os sucessivos valores que os flip-flops vão experimentando e, olhando simplesmente para ela, e reflectindo, não custa deduzir de imediato as expressões das entradas dos flip-flops: Considere-se primeiramente a versão assíncrona: 1. Veja-se a evolução de Q 0 : por cada clock que recebe, ele oscila de 0 para 1 (ou vice-versa) - o que sugere vivamente forçar a entrada T 0 a ser permanentemente 1, vidé ao lado; 2. Quanto a Q 1 : Q 1 oscilará de 0 para 1 (ou vice-versa) se e só se Q 0 passar de 1 a 0 o mesmo é dizer, quando houver um flanco descendente na saída Q 0 ; isso sugere interligar Q 0 à entrada clock do flip-flop Q 1 e forçando 1 na entrada T 1 ; 3. Quanto a Q 2 : Q 2 oscilará de 0 para 1 (ou vice-versa) se e só se Q 1 passar de 1 a 0 isto é, aquando de um flanco descendente na saída Q 1 ; isso sugere interligar Q 1 à entrada clock do flip-flop Q 2 e forçar T 2 =1; 4. Quanto a Q 3 : Q 3 oscilará de 0 para 1 (ou vice-versa) se e só se Q 2 passar de 1 a 0 isto é, aquando de um flanco descendente na saída Q 2 ; isso sugere interligar Q 2 à entrada clock do flip-flop Q 3 e forçar T 3 =1. Considere-se agora a versão síncrona: 1. Considere-se a evolução de Q 0 : por cada clock que recebe, ele oscila de 0 para 1 (ou vice-versa) - o que sugere vivamente forçar a entrada T 0 a ser permanentemente 1, vidé ao lado; 2. Quanto a Q 1 : aquando dum clock, Q 1 oscilará de 0 para 1 (ou vice-versa) se e só nesse momento Q 0 =1 (em contrapartida não havendo qualquer mudança quando Q 0 =0); isso sugere forçar T 1 =Q 0 ; 3. Quanto a Q 2 : aquando de um clock, Q 2 oscilará de 0 para 1 (ou vice-versa) se e só se nesse momento Q 1 =Q 0 =1 (em contrapartida não havendo qualquer mudança quando tal não suceder); isso sugere aplicar em T 2 o produto de Q 1 e Q 0 ; 4. Quanto a Q 3 : aquando de um clock, Q 3 oscilará de 0 para 1 (ou vice-versa) se e só se nesse momento Q 2 =Q 1 =Q 0 =1 (em contrapartida não havendo qualquer mudança quando tal não suceder); isso sugere aplicar em T 3 o produto de Q 2, Q 1 e Q 0. Deixa-se ao leitor deduzir as expressões algébricas das entradas T para um contador síncrono descendente Com isso, ficam reunidas as condições para construir um contador general purpose módulo 16 contemplando as opções que se foram abordando ao longo desta sessão: capaz de incrementar (Up) ou decrementar (Down), ou de carregar em paralelo (Load), e provido de entradas assíncronas (Clear) e de Enable: - pressuposto que os flip-flops disponibilizam entradas assíncronas Clear, ter-se-á que lhes interligar directamente uma entrada Clear (activa a High); - e, com 4 multiplexers à esquerda e 4 XORs, poder-se-ão providenciar três modos de funcionamento: - com uma entrada Enable (activa a High), ficará garantido que, se ela estiver inactiva, as saídas dos multiplexers ficarão inactivas, com o que o contador não mudará de estado; - caso contrário, e de acordo com uma entrada Load (activa a High), - se ela estiver activa, o contador procederá ao carregamento em paralelo dos valores {D 3 D 2 D 1 D 0 }; - caso contrário, contará (incrementando ou decrementado). Para o efeito, a lógica do estado seguinte terá que concretizar ambas as expressões das entradas dos flip-flops (para um contador Up e para um contador Down) cabendo ao plano de multiplexers à direita, cuja entrada de selecção é uma entrada Up (activa a Low), seleccionar as que virão a ser aplicadas nas entradas {T 3, T 2, T 1 e T 0 }. Notas: por mor de simplicidade, os contadores abordados foram desenhados usando flip-flops T; mas isso não é obrigatório: deixa-se ao leitor o seu desenho com outros flip-flops E por mor de clareza, os feedbacks entre as saídas dos flip-flops e as entradas T foram concretizados com ANDs, MUXes e XORs - com óbvias repercussões na frequência máxima do clock: deixa-se ao leitor o seu redesenho no sentido de aumentar essa frequência

46 Sistemas Digitais (Part III) Page 46 of 111

47 Sistemas Digitais (Part III) Page 47 of 111 Contadores / Contadores: símbolos IEC O circuito a que se chegou requere bastantes tijolos básicos (como seja NANDs) - mas há uma boa notícia para o leitor: o mercado disponibiliza integrados funcionando assim, como seja a série SN74161/163. Isso faz apelo a conhecer a simbologia IEC que lhe diz respeito Ao lado, exemplifica-se a aplicação da Standard à interpretação dos esquemas de dois contadores. Todos têm o título CTR 4; mas são admissíveis outros títulos, como sejam CTR DIV 16 e CTR DIV 10 (que assinalam contadores de módulos respectivamente 16 e 10). Globalmente, os contadores têm uma entrada clock comum a 4 flip-flops, uma de reset assíncrono, duas enable ( G3 e G4 }, vários Modos de funcionamento {M 1, M 5, M 6 e M 7 } e uma saída CT ; mais detalhadamente: Os contadores disponibilizam uma entrada clock cujo símbolo explicita que eles mudam no flanco ascendente dos impulsos nela recebidos. Estão-lhe associados dois rótulos, que, como se verá adiante, detalham a que dizem eles respeito (Para bom entendedor: trata-se mesmo de uma só entrada: poder-se-ia, em alternativa, agregar os rótulos 1,3,4+ e C2 num só rótulo ( 1,3,4+/C2 ), ou desdobrar o rótulo 1,3,4,7-/C2 em dois ( 1,3,4,7- e C2 )) Ambos os contadores oferecem também uma entrada de reset assíncrono; ela é rotulada com CT=0, e é activa a Low: quando se lhe força um nível Low, o contador é reposicionado a 0000 (Se se quisera antes especificar uma entrada de reset síncrono, ter-se-ia que prefixar o rótulo com o pertinente sufixo da entrada clock, seja 2CT=0 ). O título CTR 4 assinala que se trata de um contador com 4 flip-flops; estes encontram-se na cave do símbolo assinalando-se que tanto as suas entradas como as saídas são acessíveis externamente; neles, - 2D afirma que do ponto de vista exterior se comportam como flip-flops D, o prefixo 2 clarificando que reagem a impulsos na entrada de clock C2 ; - esclarece-se, com parêntesis, [ e ], o seu peso relativo: {1, 2, 4, 8} (Para bom entendedor: o contador marca um número, de 0 a 15, através do seu código binário - em que os pesos dos bits crescem de cima para baixo) Ambos os contadores disponibilizam, além das saídas dos flip-flops, uma saída CT : - no contador de cima, ela fica activa (advém High) se e só se o contador marcar 15 - e, além disso, a entrada enable G3 estiver activa (vidé sufixo em G3 e prefixo 3 em CT ); - no contador de baixo, ela fica activa (advém Low) se e só se a entrada enable G3 estiver activa (vidé sufixo em G3 e prefixo 3 em CT ) - e o contador marcar 0 (estando activa a entrada M 7, vidé prefixo 7 em CT ) ou 15 (estando activa a entrada M 6, vidé prefixo 6 em CT ); Os contadores oferecem duas entradas de enable, G, activas a High, a que estão associados sufixos, 3 e 4 : - o prefixo 3 ocorre nas entradas de clock e na saída CT : o contador incrementa ( + ) ou decrementa ( ) se e só se a entrada G3 estiver enabled, e a saída CT permanecerá inactiva enquanto G3 o estiver também; - o prefixo 4 ocorre nas entradas de clock: o contador incrementa ( + ) ou decrementa ( ) se e só se a entrada G4 estiver enabled. Entradas rotuladas M i, como sejam M 1, M 5, M 6 e M 7, providenciam a escolha do modo de funcionamento do contador; para determinar a que diz respeito um modo sufixado com i, procura-se, no símbolo IEC, entradas com rótulos prefixados com i : - quanto a M 1, o prefixo 1 surge associado aos sinais + e : se estiver activa, o contador conta (incrementa ou decrementa); - quanto a M 6, o prefixo 6 surge (no contador de baixo) associado ao sinal + de que se conclui que, quando estiver activa, o contador incrementa; - quanto a M 7, o prefixo 7 surge (no contador de baixo) associado ao sinal de que se conclui que, quando estiver activa, o contador decrementa; - quanto a M 5, o prefixo 5 surge associado às entradas dos flip-flops: se estiver activa, o contador carrega em paralelo os valores então aplicados nessas entradas. Atente-se que {M 1 e M 5 } caracterizam uma mesma entrada: se ela estiver High, o contador funciona no modo 1 e se estiver Low, funciona no modo 5 ; idem para {M 6 e M 7 }: se a entrada a que dizem respeito estiver High, o contador funciona no modo 6 e se estiver Low, funciona no modo 7. Para facilitar a leitura, poder-se-ão incluir comentários entre parêntesis rectos; vidé, por exemplo, M5 [Load] Resta ver como se aplica esta notação em logigramas envolvendo contadores É o que se vai ver de mediato

48 Sistemas Digitais (Part III) Page 48 of 111

49 Sistemas Digitais (Part III) Page 49 of 111 Contadores / 18cº Projecto Considere-se que um grupo de amigos pretende um dado electrónico para jogar: com Start, o circuito conta os impulsos de relógio, ciclicamente, de 1 a 6 ; com Stop, ele interrompe a contagem, e mostra o número que ele marca, num display de 7-LEDs, vidé ao lado. Deixando ao leitor o desenho do codificador de 7-LEDs um circuito que, recebendo um dígito codificado em binário de 3-bit, assinale os LEDs {a, b, c, d, e, f, g} a acender, resta construir um contador ciclico de 1 a 6. Diferentemente dos contadores anteriores, trata-se agora de um cujo módulo, 6, não é potência-de-2, e que não começa / recomeça em 0! Mas o seu desenho continua a ser trivial: conforme ao método clássico, e ao modelo de Moore, e optando por flip-flops T, o resultado é um logigrama com três flip-flops, 2 ORs e 4 ANDs. (Atente-se, que aquando do power-on, o circuito pode ingressar nos estados 000 ou 111 ; se isso suceder, - as entradas T advêm então, respectivamente, 001 e o que significa que no primeiro clock a seguir ao power-on, os estados passarão a ser, respectivamente, 001 e 000 ; - no clock seguinte, serão 010 (que é o estado a seguir a 001 ) e 001 (que é o estado a seguir a 000 ). Isto é: se o Stop ocorrer após os dois primeiros clocks, o circuito já estará na contagem cíclica requerida) O logigrama exige vários integrados e a lei do menor esforço leva a uma pergunta: será possível uma solução mais fácil para este Projecto, pelo recurso a um contador no mercado? E a resposta é sim, vidé ao lado: - antes de mais, recorre-se a um contador cujo módulo cubra os 6 estados que o circuito requere; aquele presente no logigrama ao lado tem 4 flip-flops portanto contando ciclicamente {0, 1, 2,, 15}; - resta providenciar para que, ao atingir a contagem 6, o contador regresse a 1 no clock seguinte; isso pode lograr-se se ele disponibilizar dois modos de funcionamento: - um, seja M 1, em que o contador incrementa {1, 2, 3, 4, 5, 6} e que deve estar quase sempre activo; - e um outro, seja M 4, em que se carrega em paralelo o valor 1 - que deve advir activo quando o contador atingir o valor 6, e apenas então. A necessidade de escolher entre os dois modos de funcionamento volve-se numa entrada própria: consoante o nível eléctrico que lhe for aplicado, High ou Low, assim respectivamente se selecciona M 1 ou M 4. Resta decidir como se controla essa entrada: como obrigá-la a volver-se High ou Low? Reflicta-se: M 4 deve ser activado precisamente quando o contador advir 6 para que, no clock seguinte, e em vez de incrementar para 7, retorne a 1. Tudo se resume, portanto, a detectar o valor 6 nas saídas do contador Ora, o método geral para o lograr é já conhecido: dado um conjunto de entradas, o detector de uma combinação particular delas isto é, um circuito cuja saída fica activa só para essa combinação é um Mintermo dessas entradas! No caso, em que a combinação a detectar é 0110, isso conduz ao produto Q Q 3 2 Q 1 Q 0. Porém, há uma solução mais simples: a lista dos (6) valores admissíveis mostra que a combinação 0110 se distingue das outras em que somente nela é que Q 2 =Q 1 =1; isso conduz a um AND entre, só, Q 2 e Q 1 : será quando ele advir activo que se deve activar M 4 (para que o contador, em vez de incrementar para 7, retorne a 1 ). Entretanto, no contador figurado, M 4 é activo a Low o que impõe que a saída desse AND seja activa a Low; quando isso suceder, o contador carregará o que estiver sendo aplicado nas entradas {D 3, D 2, D 1, D 0 } e porquanto se pretende que ele retorne a 1, deverão ser-lhe aplicados precisamente os bits No próximo clock, então, o contador regressará a 1 e de imediato o AND entre Q 2 e Q 1 ficará produzindo o nível High com isso activando M 1 : no próximo clock, e até chegar a 6, o contador irá incrementando Quanto às entradas Start e Stop, elas ficarão ligadas à entrada enable G3 : aquando do Start, ela ficará activa, e o contador contará ciclicamente e, aquando do Stop, fica inactiva: pára, e mostra o seu conteúdo no display (Atente-se: no power-on, o contador pode ingressar nos estados 0000, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110 ou 1111 ; se isso suceder, o estado passará a ser 001 após, quando muito, seis clocks a seguir ao power-on: se o Stop ocorrer só depois, o circuito já estará na contagem cíclica requerida) Este Projecto envolve um contador de módulo (6) inferior ao daquele que o mercado disponibiliza (16) pelo que se intui o porquê do próximo Projecto: abordar um contador com um módulo superior (a 16)

50 Sistemas Digitais (Part III) Page 50 of 111

51 Sistemas Digitais (Part III) Page 51 of 111 Contadores / 18dº Projecto Uma linha de produção de compotas envolve embalamento automático. Os frascos de compota são dispostos em caixas de capacidade 20, divididas por 4 linhas de 5 frascos. Estes chegam a uma plataforma um-a-um, por um tapete rolante. Por cada 5 frascos, é actuado um vai-vem que os alinha e encosta aos que já estão na plataforma. Por cada 20 frascos, é actuado um braço mecânico, que, mediante um imã, ergue os frascos e os põe numa caixa O diagrama temporal ao lado lembra o do 18aº Projecto - que remeteu para um divisor de frequência por 8 Agora, o vai-vem é actuado por cada 5 frascos, e o braço mecânico é actuado por cada 4 vai-vens ; isso remete para dois divisores de frequência: um por 5 e outro por 4 Após o Projecto anterior, será pacífico o seu desenho a partir de dois contadores de módulo 16, {W, E}; bastará no fim dispô-los em série: a entrada clock de W receberá um impulso por cada frasco chegando e a entrada clock de E receberá os impulsos à saída de W Ora, essa é uma solução assíncrona e o desafio agora é elaborar uma solução síncrona não, é claro, seguindo os passos do método clássico, mas recorrendo a contadores de módulo 16 É o que se vai ver: O braço mecânico é actuado por cada 20 frascos Sendo 16 1 <20<16 2, isso obriga a dispor dois contadores, sejam {N, S}, cujas entradas clock recebam o mesmo clock : um impulso por cada frasco que chegue. Cada contador dispõe de dois modos de funcionamento {M 1 e M 2 } (incremento e carregamento em paralelo); tem uma saída CT que advém High se e só se marcar 15 ; detém uma entrada enable G 3 que necessita estar activa para que ele incremente (e para que a saída CT possa advir activa); comporta uma entrada assíncrona de reset, activa a Low; e disponibiliza 4 entradas onde aplicar os valores 0000 que se pretende carregar em paralelo. Activando o enable G 3 e o modo M 1 (e após reset inicial a {N, S}), é claro que, e por cada clock, eles irão incrementar, marcando pari passu o mesmo valor sem qualquer interesse O que conviria é que {N, S} fossem apresentando os números que se encontram ao lado à esquerda e que, não por acaso (e substituindo os símbolos {A, B., F} pelos respectivos códigos binários), são os códigos na base 16 dos números {0, 1,, 255} Em ordem a apreender como interligar os contadores, bastará olhar para esses números e reflectir: - N limita-se a incrementar em módulo 16 o que aponta para forçar a entrada enable G 3 a ser sempre High; - já S só incrementa quando N atinge 15 ; a sua entrada enable G 3 deverá então ser High só quando N marcar 15 - o que é o mesmo que dizer: quando a saída CT de N estiver activa; isso aponta para ligar essa saída CT à entrada G 3 de S : enquanto N for assumindo valores {0,, 14}, CT mantém-se inactiva - e S não se altera mas, ao chegar a 15, CT advém High com o que G 3 advém activa: no clock seguinte, S incrementa. (O circuito assim obtido, incrementando ciclicamente de 0 a 255, é, obviamente, um contador de módulo 16 16=256; convida-se ao leitor a desenhar o logigrama de um contador de módulo ) Dirá o leitor que o circuito desenhado à esquerda não serve: a contagem deveria retornar a 0 após 19 frascos! {N, S} deveriam antes apresentar os números {00, 01,, 34} ao lado à direita: há que alterar o circuito: - N incrementa em módulo 5 o que se logra forçando a sua entrada enable G 3 a ser sempre High, mas seleccionando M 2 ao marcar 4, para, no clock seguinte, carregar 0000 ; ora, a lista dos (5) valores admissíveis mostra que 0100 se distingue dos outros em que só nele é que Q 2 =1: deve activar-se M 2 quando Q 2 advir activa (o que conduz, e sendo M 2 activo a Low, a um inversor entre Q 2 e a entrada M 2 ); quando isso suceder, deve S incrementar o que se logra ligando também Q 2 à entrada enable G 3 de S ; - S incrementa em módulo 4 o que se logra forçando o modo M 2 ao marcar 3, para, no clock seguinte, carregar 0000 em paralelo; olhando a lista dos (4) valores admissíveis, deduz-se que M 2 deve activar-se quando advir activo o AND entre Q 1 e Q 0 (devendo o AND ter uma saída com a mesma polaridade que M 2 : Low). (Por mor de completude: a solução assíncrona acima não é única: no desenho de {W, E} ficou implícito o carregamento de mas é viável outra solução: agir nas entradas assíncronas CT=0! Na prática, e em vez de limitar {W, E} a contarem só até 5 e 4, deixar que atinjam 6 e 5 - forçando imediatamente o seu reset: - admita-se que W atingiu 0100 ; no clock seguinte, transita para 0101, isto é: fica sendo Q 2 =Q 0 =1; então, incluindo um AND entre Q 2 e Q 0, e ligando a sua saída à entrada CT, esta advém activa, forçando W a retornar de imediato a 0000 : salvo um curtíssimo transiente, W passou de 0100 a 0000 : conta em módulo 5; - admita-se que E atingiu o valor 0011 ; no clock seguinte, ele transita para 0100, isto é: Q 2 advém activo; então, com uma ligação directa de Q 2 à entrada CT, esta advém activa, forçando E a retornar de imediato a 0000 : salvo um curtíssimo transiente, E passou de 0011 a 0000 : conta em módulo 4) Posto que é mister uma entrada Reset que inicialize {W, E} a 0000, convém, é claro, um OR à entrada CT, vidé ao lado, com a mesma polaridade que essa saída: Low)

52 Sistemas Digitais (Part III) Page 52 of 111

53 Sistemas Digitais (Part III) Page 53 of 111 Contadores / Contadores Exóticos Os contadores desenhados até agora foram-no sobre flip-flops T: de facto, o método clássico de síntese sobre flip-flops D aparenta ser mais rápido, no sentido de que, obtida a Tabela de Transições, estão outrossim obtidas as Tabelas de Verdade das entradas dos flip-flops D; mas o leitor pode verificar que elas se volvem em expressões algébricas para as entradas não tão simples como as obtidas se se usar flip-flops T Isso, porém, não tem demovido a investigação no sentido de inventar contadores/divisores-de-frequência suportados em flip-flops D - com menos hardware do que aquele a que conduz tal método de síntese. Ao lado, encontram-se os logigramas de alguns desses contadores, todos eles envolvendo apenas 3 flip-flops Uma característica comum dos logigramas ao lado é o serem eles uma série de flip-flops ordenados, entre um primeiro à esquerda e um último à direita sendo que para o segundo, terceiro, até ao último, a entrada D de um flip-flop D recebe o valor na saída Q do flip-flop D que o antecede: o que é específico de cada contador é, apenas, o valor aplicado na entrada D do primeiro flip-flop Admita-se que o estado inicial é 100 ; aquando do primeiro clock após a inicialização, e de facto para todos os clocks seguintes, vai suceder o seguinte: - pois que a entrada D do segundo flip-flop D recebe o valor à saída Q do primeiro, o seu estado vai ficar sendo o do primeiro na altura em que ocorreu o clock; - e, ao mesmo tempo, e pois que a entrada D do terceiro flip-flop D recebe o valor à saída Q do segundo, o seu estado vai ficar sendo o do segundo na altura em que ocorreu esse clock; - e por aí fora: há como que um deslize, do conteúdo dos dois primeiros flip-flops à esquerda para os flip-flops adjacentes à sua direita As únicas interrogações que sobram são as seguintes: como vai ficar o estado do primeiro flip-flop, e qual a subsequente contagem? Num contador em anel, o primeiro flip-flop recebe o valor da saída do último flip-flop. A consequência disso revela-se na tabela que o acompanha: um ciclo através dos estados , após o que regressa ao estado inicial, 100. Trata-se, pois, de um contador de módulo 3. Num contador Johnson, o primeiro flip-flop recebe o inverso do valor da saída do último flip-flop. A consequência disso revela-se na tabela que o acompanha: partindo do estado inicial 100, um ciclo através de 6 estados, após o que regressa ao estado inicial. Trata-se, pois, de um contador de módulo 6. Num contador Linear feed-back shift-register, o primeiro flip-flop recebe o XOR dos valores das saídas dos dois últimos flip-flop. A consequência disso revela-se na tabela que o acompanha: partindo do estado inicial 100, um ciclo através de 7 estados, após o que regressa ao estado inicial. Trata-se, pois, de um contador de módulo 7. Avaliando os contadores assim construídos, é clara a sua vantagem, sobretudo para os dois primeiros contadores: não havendo gates na lógica do estado seguinte (a malha combinatória que gera os novos valores a aplicar às entradas dos flip-flops), eles são mais rápidos; fazem-no, porém, à custa de uma desvantagem, a de que desperdiçam o espaço admissível de contagem dos flip-flops: 3 flip-flops habilitam a construir circuitos contando em módulo 8 Como é da praxe, há porém que inquirir: quando se faz o power-on aos contadores, qual o estado em que eles ingressam? A resposta é: não se sabe! Aqui, isso tem importância: se, ao fazer-se o power-on, ingressarem num estado que não seja 100, a sequência será outra, até pode suceder que não ingressem nos ciclos exibidos Pelo que há que obrigar a que o estado inicial do circuito seja mesmo 100. Isso logra-se com uma entrada Init, e alterando o logigrama concretamente, fazendo o carregamento em paralelo dos valores 100, vidé ao lado (ou, em alternativa, agindo sobre as entradas assíncronas de Clear e Preset) - para que, ao advir ela activa, os flip-flops ingressem no estado inicial 100.

54 + Sistemas Digitais (Part III) Page 54 of 111

55 Sistemas Digitais (Part III) Page 55 of 111 Registos / 19aº Projecto Esta sessão versa Registos ( contentores de informação) que o calão anglo-saxónico designa de Registers, e buses. Como todas as outras Sessões, ir-se-á desenrolar a partir de um Projecto concreto... Considere um dispositivo que vai registando, hora a hora, a temperatura local Admita, para simplificar, que basta um dígito para a representar. São exibidas em dois LEDs de 7-segmentos as temperaturas medidas nas últimas 2 horas Ao lado, esquematiza-se a arquitectura do sistema Admita-se que acaba de soar o gong das 12:00; então, o termómetro apresenta algum valor de temperatura, seja 8º que é memorizado num contentor apropriado, R 0 ; uma hora depois (isto é: às 13:00), o termómetro apresenta algum outro valor, seja 5º, que é memorizado no mesmo contentor R 0 enquanto, ao mesmo tempo, o valor que lá estava memorizado é copiado em paralelo para um outro contentor similar, R 1. Com isso, quem consultar o painel onde se exibem as temperaturas, observará dois LEDs, mostrando os valores, 8º e 5º, medidas nas duas últimas horas Intui-se o que sucederá ao irem batendo as horas seguintes Pressupondo que se dispõe já de um descodificador de 7-segmentos, resta, é claro, a construção dos contentores {R 0 e R 1 } A esse respeito, será pacífico que, na transferência da Informação de R 0 para R 1, o tratamento dado ao bit mais à esquerda (por exemplo), deverá ser idêntico àquele conferido ao bit mais à direita e, aliás, a qualquer outro bit: o bit de maior peso de R 0 (seja R 3(0) ) vai ocupar a posição de maior peso de R 1 ( R 3(1) ) enquanto ao mesmo tempo o bit de menor peso de R 0 irá ocupar a posição de menor peso de R 1 Assim sendo, bastará discernir como memorizar 1 bit que de imediato se ficará sabendo como memorizar 4, ou 8, ou 16, ou seja lá que número de bits for O diagrama de estados de um circuito sequencial síncrono capaz de memorizar um bit de informação genérico I ( 0 ou 1 ) apresenta-se pacífico: ele terá somente dois estados, Q 0 /0 e Q 1 /1; e deverá ser tal que, quando lhe for forçado à entrada o valor 0, ele transite para o estado Q 0 e, quando lhe for forçado à entrada o valor 1, ele transite para o estado Q 1 (e isso independentemente do estado em que se encontrava antes do flanco de comutação do relógio). De posse do Diagrama de Estados, e da correspondente Tabela de Estados e procedendo à codificação {Q 0 0, Q 1 1} a que a lei do menor esforço conduz, a pergunta que sobra será: a que tipo de flip-flop recorrer, para lograr a solução mais simples? Não custa decidi-lo: o recurso a um flip-flop T obriga a usar um XOR na entrada T, vidé ao lado; o recurso a um flip-flop JK obriga a usar um inversor na entrada K ; o recurso a um flip-flop SR obriga também a usar um inversor na entrada R ; o recurso a um flip-flop D não obriga a usar mais nada: basta forçar na entrada D o bit de informação I e aguardar pelo flanco de comutação do relógio Assim, da mesma maneira que no desenho de contadores se preferiu recorrer a flip-flops T, assim agora, para desenhar elementos de memória isto é, capazes de memorizar 1 bit de informação, se prefere recorrer a flipflops D: não será de admirar que, ao longo desta sessão, os circuitos se virem a suportar todos em flip-flops D

56 Sistemas Digitais (Part III) Page 56 of 111

57 Sistemas Digitais (Part III) Page 57 of 111 Registos / Registos Decidido como memorizar 1 bit, pode imediatamente levar-se por diante o desenho de cada um dos contentores {R 0 e R 1 } requeridos pelo 19aº Projecto: porquanto cada um se destina a memorizar um dígito cujo código se basta em 4-bits, bastará justapor 4 flip-flops D, seja {Q 3, Q 2, Q 1, Q 0 }, uns ao lado dos outros (ou, como se patenteia ao lado, uns por cima dos outros, à maneira de um edifício de vários andares), em que as suas entradas clock são alimentadas pelo mesmos impulsos de relógio: o circuito é síncrono; a cada entrada de dados, D k, fica aplicado um valor de informação específico, I k (com k=3, 2, 1, 0). se existentes, as entradas assíncronas de clear/reset são alimentadas pelo mesmo sinal. A um circuito digital assim, dá-se o nome de Registo designando-se de palavra o conjunto de bits que ele contém. No caso, trata-se de um Registo de 4-bits, ou seja: destinado a memorizar palavras com um comprimento de 4-bits. Mas, se se quisera um Registo para palavras com um comprimento maior, intui-se como fazê-lo: aumentar o número de andares do Registo, pela simples política de justapor os flip-flops D necessários Ao lado, encontra-se o desenho do sistema correspondente ao 19aº Projecto, onde são visíveis os contentores {R 0 e R 1 }, agora e doravante denominados Registos, e a interligação entre as várias partes: pressupõe-se que as saídas do termómetro são dígitos codificados em BCD: {I 3, I 2, I 1, I 0 }; elas encontram-se ligadas às entradas dos flip-flops do Registo R 0 com o que, aquando do clock que marca a passagem de uma hora mais, os valores {I 3, I 2, I 1, I 0 } advêm memorizados/escritos em R 0 ; tendo decorrido já ao menos o intervalo de tempo t plh /t phl, as saídas dos flip-flops advêm estáveis e o novo valor de temperatura, seja 8, aplicado ao descodificador de 7-segmentos, vem a ser adequadamente visualizado no LED de 7-segmentos em cima ao passar de mais uma hora, acontece o seguinte: por um lado, as saídas do termómetro {I 3, I 2, I 1, I 0 } com um novo valor de temperatura, seja 5, mantêm-se ligadas às entradas dos flip-flops do Registo R 0 ; por outro lado, as saídas deste Registo R 0 com o precedente valor de temperatura encontram-se ligadas às entradas dos flip-flops do Registo R 1 ; com o que, aquando do clock que marca a passagem da hora, a temperatura actual advém escrita em R 0 e, ao mesmo tempo, a temperatura precedente advém escrita em R 1 ; e, tendo decorrido já ao menos o intervalo de tempo t plh /t phl, as saídas dos flip-flops advêm estáveis e ambos os valores de temperatura, o actual e o precedente, vêm a ser visualizados esta dupla escrita (e esta dupla leitura) à passagem de cada hora acontece, é claro, para todas as horas, desde que se faça o power-on ao circuito E cá está a pergunta da praxe: quando se faz o power-on aos Registos, qual o estado em que eles ingressam? A resposta é: não se sabe! Quiçá se justifique então, a existência de uma entrada Clear, que, quando activada, inicializa todos os flip-flops dos Registos a 0... Recapitulando: no Projecto entre mãos, não se requerem interligações entre os diversos flip-flops de um Registo: as únicas operações admissíveis são então as assim designadas escrita e leitura em paralelo (e Clear) Escrita em paralelo (Parallel-In ou Load, no jargão anglo-saxónico): para memorizar/escrever uma palavra de informação no Registo, bastará aplicar os respectivos bits {I 3, I 2, I 1, I 0 } nas entradas D dos flip-flops, e aguardar pelo flanco de comutação do relógio: quando acontecer, todos os flip-flops mudam de estado ao mesmo tempo!, as suas saídas vindo a tomar precisamente aqueles valores {I 3, I 2, I 1, I 0 }; Leitura em paralelo (Parallel-Out): para conhecer/ler a palavra de informação actualmente memorizada no Registo, bastará consultar as saídas Q dos flip-flops não sendo preciso aguardar por qualquer flanco do relógio: desde que tenha já decorrido ao menos o intervalo de tempo t plh /t phl desde o último flanco de comutação do relógio, pode saber-se o estado de todos eles de uma vez só ao mesmo tempo! Ao lado, apresenta-se o símbolo IEC de um Registo com a estrutura de R 0 ou R 1. Não detém qualquer título. A cave do símbolo especifica que contém 4 flip-flops, com uma mesma especificação (pelo que ela é inscrita apenas no flip-flop de cima): as entradas e saídas, ambas activas a High, são acessíveis externamente; 1D afirma que são flip-flops D, o prefixo 1 clarificando que reagem aos impulsos recebidos na entrada de clock C1 (no seu flanco descendente); esta é comum aos 4 flip-flops. Disponibiliza também uma entrada de reset assíncrono, qualificada com R, que é activa a High: quando se lhe força um nível High, o registo é reposicionado a 0000.

58 Sistemas Digitais (Part III) Page 58 of 111

59 Sistemas Digitais (Part III) Page 59 of 111 Registos / 19bº Projecto (Registos com Load/Enable) Modifique-se agora o 19aº Projecto, do seguinte modo: em vez de se indicarem as temperaturas nas duas últimas horas, pretende-se que seja apresentada, num LED de 7-segmentos, a temperatura máxima já alguma vez atingida (desde o último reset). Para simplificar, continua a admitir-se que basta um dígito para a representar Ao lado, esquematiza-se a arquitectura do sistema: como anteriormente, o valor de temperatura apresentado pelo termómetro, seja T, é aplicado a um registo cujas saídas são aplicadas a um codificador de 7-segmentos; mas, porquanto o objectivo é visualizar a temperatura máxima já atingida, ele só será escrito nesse registo se exceder o valor, seja T Max, que ele então memoriza Para o efeito, recorre-se a um Comparador aritmético de 4- bit: aplicando T e T Max nas suas entradas P e Q, a saída P>Q advém activa se e só se T > T Max ; se isso suceder, o registo deverá passar a conter o novo valor de temperatura, T; caso contrário, deverá manter-se inalterado. A questão é: como alterar o registo que se desenhou já, por forma a satisfazer esse requerimento? Visto de uma maneira mais global, o que se pretende é um registo que, aquando da ocorrência do clock, e consoante uma variável externa, assim: se mantenha inalterado, se ela estiver inactiva; carregue em paralelo o valor nas suas entradas de dados, se ela estiver activa. Ora, este tipo de comportamento soa a algo conhecido: o que se pretende é um registo com uma entrada enable! De posse de tal registo, o logigrama para o Projecto entre mãos volver-se-á na aplicação a tal entrada Enable da saída P>Q do Comparador pelo que resta discernir: como será a estrutura interna de tal registo com Enable? Considerando que o que faz mexer o registo são os impulsos na sua entrada clock, uma resposta imediata será: interpor um AND entre a entrada Enable e essa entrada clock: somente quando ela advir activa é que os impulsos de relógio alcançam os flip-flops do registo Mas esta resposta não é pacífica: ela conduz a atrasar no tempo a mudança das saídas do registo o que, no contexto de uma solução síncrona, é de todo desaconselhável: imaginando sistemas algo mais complexos, em que os flip-flops em que se concretizam os registos coexistem com outros flip-flops, há que garantir que, aquando de um clock, todos eles reajam em simultâneo! O desafio é, portanto: como proceder ao enabe/disable do registo sem interferir nas linhas que transportam os impulsos de relógio? A única resposta possível é, obviamente, agir sobre a entrada D dos flip-flops na prática através de um multiplexer com uma entrada de selecção, a que se aplica a entrada Enable, vidé ao lado: na entrada 1, seleccionada quando ela está activa, força-se o novo valor de informação a escrever no registo; na entrada 0, seleccionada quando ela está inactiva, aplica-se o próprio valor memorizado no Registo. Prevendo a necessidade de inicializar o Registo, convirá, é claro, dotá-lo de uma entrada Clear, que, quando activada, inicializa todos os flip-flops do Registo a 0... Ao lado, apresenta-se o símbolo IEC de um Registo com a estrutura ao lado. Não detém qualquer título. A cave do símbolo apresenta 4 flip-flops, com uma mesma especificação: as entradas e saídas, ambas activas a High, são acessíveis externamente; 1D afirma que são flip-flops D, o prefixo 1 clarificando que reagem aos impulsos recebidos na entrada de clock C1 (no seu flanco descendente); esta é comum aos 4 flip-flops. Disponibiliza também uma entrada de reset assíncrono, qualificada com R, que é activa a High: quando se lhe força um nível High, o registo é reposicionado a Disponibiliza enfim uma entrada, M 2, para providenciar a escolha entre dois modos de funcionamento: quando M 2 está activa modo de funcionamento dito de Load/Carregamento em Paralelo, é escrito no registo o valor que se encontrar nas entradas dos flip-flops (vidé qualificador 1,2D ); caso contrário modo de funcionamento dito de Hold/Manutenção, o registo mantém-se tal como era. (Abra-se um parêntesis: em si, o logigrama final viola a geografia habitual de dispor à esquerda os flip-flops: à esquerda estão multiplexers Em rigor, eles fazem parte da lógica do estado seguinte mas a sua implantação à esquerda quiçá torne visualmente mais explícita a sua razão de existir: concretizar o enable/disable do registo)

60 Sistemas Digitais (Part III) Page 60 of 111

61 Sistemas Digitais (Part III) Page 61 of 111 Registos / 19cº Projecto (Registo de Deslocamento / Shift Register) Nos registos até agora considerados, os flip-flops evoluem independentemente uns dos outros: não há ligações entre eles. Já vai sendo hora de considerar registos em que os flip-flops estão interligados entre si E não será despropositado fazê-lo a partir de um Projecto concreto... Considere-se um automóvel cujas luzes traseiras, através de que o condutor manifesta a sua vontade em mudar de direcção, são de facto constituídas por dois blocos de 4 lâmpadas com o funcionamento esquematizado ao lado: para mudar para a direita, acende-se primeiro a lâmpada mais à esquerda, depois a que lhe está adjacente à direita (e só ela), e assim sucessivamente, até se acender a lâmpada mais à direita; para mudar para a esquerda, acende-se primeiro a lâmpada mais à direita, depois a que lhe está adjacente à esquerda (e só ela), e assim sucessivamente, até se acender a lâmpada mais à esquerda. O desenho do circuito ficaria simplificado se se dispusera dum registo preparado para deslizar o seu conteúdo para a direita ou para a esquerda: bastaria inicializá-lo a 1000 ou 0001 (consoante a mudança de direcção em vista), que depois, aquele 1 iria deslizando ao longo do registo, ao ritmo dos impulsos de relógio A um registo com tal capacidade dá-se o nome de Registo de Deslocamento (Shift Register) e é claro que os flip-flops já não são independentes: o estado seguinte de qualquer deles depende do estado actual dos que lhe são adjacentes Mas, perguntar-se-á: e quanto aos flip-flops das pontas do registo? A opção mais interessante será: quando o conteúdo do registo está deslizando para a direita, o estado seguinte do flip-flop mais à esquerda passará a ser uma informação externa, seja I D ; quando o conteúdo do registo está deslizando para a esquerda, o estado seguinte do flip-flop mais à direita passará a ser uma informação externa, seja I E. Isto significa um modo mais de escrever no registo: já não paralela, mas em série (Serial-In), pelas pontas. O logigrama de um registo assim dito de Registo Multimodo ou Universal afigura-se deveras pacífico: partindo do logigrama do registo ultimamente considerado, bastará que o multiplexer à entrada de cada flip-flop passe a oferecer duas entradas de selecção, M 0 e M 1, vidé ao lado para viabilizar o escolher entre quatro modos de funcionamento (Hold e Load, e também Right Shift e Left Shift), como adiante se explica. Apresenta-se também o símbolo IEC correspondente ao logigrama. O título é SRG. Explicita 4 flip-flops, cujas entradas e saídas, activas a High, são acessíveis externamente; trata-se de flip-flops D, que reagem aos impulsos recebidos na entrada de clock C4 (no seu flanco descendente). Oferece uma entrada de reset assíncrono, R, activa a High. Oferece duas entradas, M 0 e M 1, para seleccionar o modo de funcionamento: quando {M 1, M 0 } são 00 /0 ( M 1 e M 0 estão, ambas, inactivas) modo de funcionamento dito de Hold, o registo permanece inalterado; quando {M 1, M 0 } são 11 /3 ( M 0 e M 1 estão, ambos, activos) modo de funcionamento dito de Load, é escrito no registo, em paralelo, o valor que se encontrar nas entradas dos flip-flops qualificadas com 1,4D ; quando {M 1, M 0 } são 01 /1 (só M 0 está activo) modo de funcionamento dito de Right Shift, o registo desloca à direita (vidé qualificador 1 ) sendo que no flip-flop mais à esquerda é escrito o valor de I D ; quando {M 1, M 0 } são 10 /2 (só M 1 está activo) modo de funcionamento dito de Left Shift, o registo desloca à esquerda (vidé qualificador 2 ) sendo que no flip-flop mais à direita é escrito o valor de I E. Agora, são diferentes as especificações concernindo os flip-flops pelo que, em vez de se especificar só o do topo, há que especificar cada um em separado, e tendo em conta os valores de M 0 e M 1 : quanto ao flip-flop Q 0, a sua entrada poderá agora volver-se na sua própria saída, Q 0, ou em I D, ou em Q 1 ou em I 0 (vidé 1,4D e 3,4D, qualificadores das entradas onde se aplica I D e I 0, respectivamente); quanto ao flip-flop Q 1, a sua entrada poderá agora volver-se na sua própria saída, Q 1, ou em Q 0, ou em Q 2 ou em I 1 (vidé 3,4D, qualificador da entrada onde se aplica I 1 ); quanto ao flip-flop Q 2, a sua entrada poderá agora volver-se na sua própria saída, Q 2, ou em Q 1, ou em Q 3 ou em I 2 (vidé 3,4D, qualificador da entrada onde se aplica I 2 ); quanto ao flip-flop Q 3, a sua entrada poderá agora volver-se na sua própria saída, Q 3, ou em Q 2, ou em I E ou em I 3 (vidé 2,4D e 3,4D, qualificadores das entradas onde se aplica I E e I 3, respectivamente). (Conquanto o deslocamento seja dito à-direita/à-esquerda, no logigrama e no correspondente símbolo IEC, ele é, de facto, e respectivamente, para-baixo/para-cima; ao lado, apresentam-se os diagramas temporais das saídas do registo quando, partindo da mesma situação ( 1011 ), se força o deslocamento à direita/para-baixo, entrando 1 à esquerda, e o deslocamento à esquerda/para-cima, entrando 0 à direita).

62 Sistemas Digitais (Part III) Page 62 of 111

63 Sistemas Digitais (Part III) Page 63 of 111 Registos / 19dº Projecto (Usando um multiplexer por destino) O Projecto, com que esta sessão se iniciou, envolve a transferência de informação (valores de temperatura) entre dois registos; decorrendo ela em paralelo, subentende-se que a saída de cada um dos flip-flops de R 0 se liga à entrada do correspondente flip-flop de R 1 Muitos contextos há, porém, onde a transferência de informação envolve bem mais registos e uma solução assim já não serve. Um Projecto simples poderá testemunhá-lo Considere-se um cinema com 4 salas; os títulos dos filmes encontram-se memorizados em outros tantos conjuntos de registos. Todavia, o visor disponível apenas permite publicar dois deles de cada vez. De 15 em 15 segundos, o visor é refrescado Pretende-se a estrutura de interligação dos registos que memorizam os títulos aos registos que alimentam o visor. Ao lado, esquematiza-se o objectivo em vista: encontram-se à esquerda registos contendo, para cada sala, a sua identificação e o Título do filme nela em exibição, e à direita encontram-se registos que alimentam o visor onde aqueles se publicam Pretende-se que o conteúdo de um qualquer dos registos à esquerda (ditos fonte/source) advenha transferido/transmitido (copiado) para um qualquer dos registos à direita (ditos destino/sink). Globalmente, isso significa 8 (=4*2) transferências possíveis e é claro que está proibido ligar directamente as saídas dos flip-flops fonte às entradas dos flip-flops destino: sob pena de um pivete a queimado (e se se não usar 3-state), não se podem soldar duas saídas de chips ao mesmo fio... Para simplificar, considerar-se-ão só os registos relativos à identificação (numérica) das salas (crendo que tal bastará para o leitor defrontar a interligação dos restantes registos) Sejam então {W 3, W 2, W 1, W 0 } os registos com essa identificação, e {E 1, E 0 } aqueles para onde ela é transferida e restrinja-se a atenção a um flip-flop de destino, seja o flip-flop Q 0 do registo E 0 ; o desafio é providenciar para que ele possa vir a tomar o valor na saída do flip-flop Q 0 de um dos registos {W 3, W 2, W 1, W 0 } Isso volve-se em implantar um multiplexer, M 00, cuja saída é aplicada na entrada do flip-flop Q 0 do registo E 0, com duas entradas de selecção, {E 01, E 00 }, e quatro entradas de dados a que se aplicam precisamente as saídas dos flip-flops Q 0 dos registos fonte Por um raciocínio análogo, dever-se-á implantar um multiplexer, M 01, cuja saída é aplicada na entrada do flipflop Q 1 do registo E 0, com as mesmas entradas de selecção, {E 01, E 00 }, e em cujas entradas de dados se aplicam as saídas dos flip-flops Q 1 dos registos fonte Idem para os restantes flip-flops destino, Q 3 e Q 2 : aplica-se, na entrada de cada um, um multiplexer, respectivamente M 03 e M 02 e não valerá a pena dizer mais nada Com isso, {E 01, E 00 } seleccionam o registo fonte cujo conteúdo é transferido para (os flip-flops de) E 0 : se, por exemplo, forem 01, é transferido o conteúdo do registo W 1 Doravante, e por mor de simplicidade, usar-se-á a expressão o registo é transferido em vez de o conteúdo do registo é transferido ; condensar-se-ão as expressões registo fonte e registo destino em, respectivamente, fonte e destino. O que se afirma acima vale também para o registo E 1 : os seus flip-flops volvem-se na implantação de outros tantos multiplexers, {M 13, M 12, M 11, M 10 }, com entradas de selecção {E 11, E 10 }: estas seleccionam o registo fonte que é transferido para E 1 : se, por exemplo, forem 11, é transferido o registo W 3 Globalmente, pois, o circuito está capacitado para efectuar duas transferências em simultâneo; por exemplo, para transferir W 1 para E 0 e, ao mesmo tempo, W 3 para E 1, bastará forçar as entradas de selecção a serem {E 01 =0, E 00 =1} e {E 11 =1, E 10 =1} que, no próximo clock, se consumarão tais transferências. (Nota breve, por mor de completude: as transferências acima decorrem em paralelo; mas uma outra solução seria viável baseada em transferências em série: garantindo necessariamente que os registos (fonte e destino) eram, todos eles, registos de deslocamento, proceder-se-ia à transferência de um bit após outro; a propósito, por exemplo, da transferência de W 1 para E 0, o bit mais à direita de W 1 que é Q 3 seria transferido para o bit mais à esquerda de E 0 que é Q 0 Isto excede o horizonte deste itinerário, pelo que não será discutido) Não há dúvida que o logigrama cumpre os requisitos do enunciado e será pacífico generalizá-lo a um maior número de registos fonte e/ou de registos destino. Mas, a um olhar atento não escapará que as entradas de M 00 são as mesmas que estão aplicadas a M 10 ; idem para entradas de M 01 e M 11 ; para as de M 02 e M 12 e para as de M 03 e M 13. Daí, uma suspeita: haverá outra solução não tão gastadora de multiplexers? É o que se vai ver

64 Sistemas Digitais (Part III) Page 64 of 111

65 Sistemas Digitais (Part III) Page 65 of 111 Registos / Bus Para um sistema envolvendo a transferência entre 2 M registos fonte e 2 N registos destino, deduz-se: cada multiplexer tem M entradas de selecção e 2 M entradas de dados; com a filosofia de associar um multiplexer a cada entrada dos 2 N registos destino, monta a 2 N o número total de multiplexers que se ligam a qualquer dos flip-flops fonte; porquanto as suas entradas são as mesmas para todos eles, esses números merecem que se investigue a possibilidade de uma solução mais económica. Tendo como pano de fundo o 19dº Projecto, o ponto de partida será, naturalmente, colapsar os multiplexers {M 13, M 12, M 11, M 10 } e {M 03, M 02, M 01, M 00 } num conjunto {M 3, M 2, M 1, M 0 } preservando as interligações que detêm com os registos fonte {W 3, W 2, W 1, W 0 }, vidé ao lado. Posto que as saídas dos multiplexers {M 13, M 12, M 11, M 10 } e {M 03, M 02, M 01, M 00 } se ligam às entradas dos destinos {E 1, E 0 }, será natural que as saídas dos multiplexers {M 3, M 2, M 1, M 0 } advenham ligadas às entradas de todos os destinos. As entradas de selecção dos multiplexers {M 3, M 2, M 1, M 0 } já não se denominam de {E 11, E 10 } e {E 01, E 00 }, mas de {S 1, S 0 } mas detêm o mesmo papel: o de seleccionar o registo fonte a ser transferido Considere-se, então, que se deseja transferir o registo W 1 para E 0 e o registo W 3 para E 1. Pretendendo-se transferir o registo W 1, então as entradas de selecção dos multiplexers deverão tomar os valores {S 1 =0, S 0 =1}. Mas, estando as suas saídas ligadas a ambos os destinos, {E 1, E 0 }, o resultado (após o flanco descendente do clock) será este: ambos os registos irão ficar com uma cópia de W 1 ; ora, não é isso que se deseja: tem-se em vista a transferência de W 1 para, apenas, E 0. Donde a pergunta: como garantir que somente E 0 irá receber o conteúdo de W 1? A resposta volve-se em dois cuidados: dotar os registos destino duma entrada, M 2, para providenciar a escolha entre dois modos de funcionamento: quando M 2 está activa modo de funcionamento dito de Load, é escrito no registo o valor que se encontrar nas entradas dos flip-flops (vidé qualificador 1,2D ); caso contrário modo de funcionamento dito de Hold, o registo não sofre qualquer alteração. controlar essa entrada M 2, implantando um descodificador, no caso com uma única entrada de selecção, D : conforme ela for 0 ou 1, assim o destino seleccionado será E 0 ou E 1. Então, para lograr a transferência de W 1 para E 0, bastará forçar {S 1 =0, S 0 =1} e D=0: com este valor de D, a saída do descodificador que advém activa é aquela numerada 0 e portanto somente no registo E 0 é que ficará activado o modo de funcionamento Load : somente ele é que receberá o conteúdo de W 1 ; por um raciocínio análogo, para lograr a transferência de W 3 para E 1, bastará forçar {S 1 =1, S 0 =1} e D=1. De realçar no logigrama ao lado aquilo a que se chama de barramento (bus): um conjunto de linhas paralelas transportando sinais do mesmo tipo, que no caso são os bits que compõem o conteúdo da fonte seleccionada para os tornar acessíveis aos vários destinos. Será pacífico generalizar a solução a que se chegou, concretizada no logigrama ao lado, a um maior número de registos fonte e/ou de registos destino Todavia, é importante realçar a diferença que existe entre ela e a precedente, com um-multiplexer-por-destino: antes, conseguia-se proceder a duas transferências em simultâneo, mas agora só é possível executar uma transferência de cada vez; aplicado ao Projecto entre mãos: refresca-se primeiro o registo de destino E 0, e somente depois se refresca o registo E 1. Essa limitação é a contrapartida da economia feita em termos dos multiplexers Haverá Projectos em que ela é inaceitável pelo que se deverá optar pela solução um-multiplexer-por-destino ; mas haverá outros em que o não é, isto é: é aceitável executar uma transferência de cada vez pelo que a melhor solução será, com grande probabilidade, fazê-lo mediante um bus. Ainda assim, a um olhar atento não escapará que ela envolve multiplexers com 2 M entradas de dados. Daí, uma suspeita: haverá outra solução não tão gastadora de multiplexers? É o que se vai ver.

66 Sistemas Digitais (Part III) Page 66 of 111

67 Sistemas Digitais (Part III) Page 67 of 111 Registos / Bus e 3-State No sentido de simplificar ainda mais o logigrama a que se chegou, convirá recordar as Saídas 3-state / Alta Impedância abordadas a propósito de multiplexers: Uma saída 3-state é uma saída que, além dos níveis eléctricos {Low, High} representando os valores lógicos 0 e 1, apresenta um terceiro estado, de alta impedância, equivalente a um circuito aberto: por aquela saída não flui nenhuma corrente eléctrica, é como se ela, internamente, não estivesse ligada a nada! Naturalmente, é mister controlar essa saída, isto é: forçá-la a funcionar em 3-state ou como saída normal de bits; isso é feito mediante uma entrada comummente designada de output-enable: sse ela estiver inactiva, a saída é considerada no estado de alta impedância. Isto recordado, e tendo como ponto de partida o logigrama com bus a que se chegou, poderão eliminar-se os multiplexers desde que se tomem as duas seguintes medidas: prover os flip-flops dos registos fonte com saídas 3-state (repare-se no símbolo que qualifica as suas saídas: um triângulo de cabeça para baixo ); e dotá-los de uma entrada, EN, comummente designada de output-enable: sse ela estiver inactiva, essas saídas são consideradas no estado de alta impedância controlar essa entrada EN, implantando um descodificador, no caso com duas entradas de selecção, {S 1, S 0 }: conforme os seus valores, assim a fonte seleccionada será uma entre {W 3, W 2, W 1, W 0 }. Globalmente, pois, o logigrama fica com dois descodificadores: um, mais à esquerda, S, que selecciona a fonte/source, entre {W 3, W 2, W 1, W 0 }; um outro, mais à direita, D, que selecciona o destino, entre {E 1, E 0 }. De novo, para lograr a transferência de W 1 para E 0, bastará forçar {S 1 =0, S 0 =1} e D=0: com aqueles valores de {S 1, S 0 }, a saída do descodificador S que advém activa é aquela numerada 1 e portanto somente no registo W 1 é que ficará activada a entrada EN/output-enable: somente ele é que apresentará na saída o seu conteúdo. Quantos aos demais registos, as suas entradas EN ficarão inactivas e portanto as suas saídas ficarão em altaimpedância. As consequências vêm a ser as seguintes: no bus, apenas se vislumbram os bits que provêm do registo W 1 que é o que se pretende: transferir para E 0 o conteúdo de W 1. Mas, perguntar-se-á: será lícito ignorar as saídas dos outros registos fonte? A resposta é: sim, é lícito pois que estão em alta-impedância: nesse estado, não interferem com coisa nenhuma, é como se não estivessem lá, nem sequer existissem! De realçar no logigrama ao lado que as linhas do bus são marcadas com setas para cima e para baixo para denotar que a informação provinda de um registo se propaga em ambos os sentidos com isso ficando acessível a todos os destinos (cujas entradas lhe estejam ligadas) Será pacífico generalizar a solução a que se chegou a um maior número de registos fonte e/ou destino: ligam-se ao bus as saídas de todas as fontes e as entradas de todos os destinos e recorre-se a dois descodificadores, S e D, para seleccionar os parceiros da transferência

68 Sistemas Digitais (Part III) Page 68 of 111

69 Sistemas Digitais (Part III) Page 69 of 111 Registos / Bus-bidireccional Até agora, os logigramas envolveram dois tipos de registos: registos fonte e registos destino. Há casos, entretanto, onde convém que o mesmo registo seja fonte-e-destino! Apreendidas as metodologias abordadas até agora para transferir um registo fonte para um registo destino, será trivial generalizá-las a esses casos assim. Entretanto, para ilustrar um desses casos, será oportuno um novo Projecto Para construir um jogo de xadrez electrónico, um projectista decidiu recorrer a um conjunto de 8 8 registos para memorizar a posição corrente das peças. Cada registo codifica em 4-bits a peça (rei, rainha, bispo, cavalo, torre, peão, e respectiva côr: branca-ou-preta) que ocupa uma casa do tabuleiro Pretende-se a estrutura de interligação dos registos. Poder-se-á contestar a opção do Projectista, que se poderá imaginar algum outro modo de fazer as coisas mas ela basta para o objectivo em mente: ilustrar um caso em que cada registo funciona como fonte e como destino Neste Projecto, existem 64 registos, cada um podendo funcionar como fonte e destino; por exemplo, a dama pode movimentar-se de uma qualquer casa/registo para qualquer outra casa/registo Isso significa a necessidade de 6 entradas para seleccionar a fonte (o registo onde está actualmente a dama), e outras tantas para seleccionar o destino (o registo para onde a dama se vai movimentar). Isso remete para dois descodificadores 6:64 cada um dos quais se pode resolver sob a forma de uma árvore de descodificadores 3:8; esta estratégia facilita aliás o interpretar essa árvore como plasmando dois níveis de selecção: selecciona-se a linha da casa/registo alvo, e, no seio dela, selecciona-se a coluna dessa casa/registo Ao lado, encontra-se um logigrama conforme essa estratégia: a parte central é um bus (cuja parte média está subentendida ); Subentende-se que as linhas do bus são bidireccionais: a informação provinda da fonte seleccionada propagase em ambos os sentidos com isso ficando acessível a todos os destinos; a esse bus, e pois que todos os registos podem ser fonte, encontram-se ligadas as saídas de todos os flip-flops; de notar que essas saídas são 3-state e que os registos têm uma entrada EN/output-enable; a esse bus, e pois que todos os registos podem ser destino, encontram-se também ligadas as entradas dos seus flip-flops; de notar que os registos têm uma entrada, M 2, que necessita estar activa para que o registo carregue em paralelo o valor que se encontrar nessas entradas; (Por mor de não carregar desnecessariamente o logigrama, subentenderam-se as linhas que alimentam as entradas clock dos registos que, como se intui, se ligam directamente ao mesmo gerador de impulsos de relógio) para seleccionar o registo fonte, implantou-se uma árvore de descodificadores, de dois níveis: no nível de topo: S, que selecciona a linha em que ele se encontra, entre {0, 1, 2,, 7}; no nível inferior: S 0, que, da linha 0, selecciona a coluna em que o registo se encontra, entre {0, 1, 2,, 7}; S 1, que, da linha 1, selecciona a coluna em que o registo se encontra, entre {0, 1, 2,, 7} para seleccionar o destino, implantou-se uma outra árvore de descodificadores, de dois níveis: no nível de topo: D, que selecciona a linha em que ele se encontra, entre {0, 1, 2,, 7}; no nível inferior: D 0, que, da linha 0, selecciona a coluna em que o registo se encontra, entre {0, 1, 2,, 7}; D 1, que, da linha 1, selecciona a coluna em que o registo se encontra, entre {0, 1, 2,, 7} Então, para levar por diante o movimento de uma peça de um registo para um outro registo, bastará aplicar as coordenadas da fonte nas (6) entradas da árvore que selecciona a fonte, e aplicar as coordenadas do destino nas (6) entradas da árvore que selecciona o destino Com isso, ficarão activas a entrada EN/output-enable da fonte e a entrada M 2 do destino: no clock seguinte, este passará a conter o que estava na fonte (deixando-se ao leitor discernir como fazer para que o registo fonte advenha em branco ). Porventura contestará o leitor que não há de novo e de facto quiçá a única novidade seja a seguinte: por mor de diminuir o esforço do Projectista, já o mercado disponibiliza registos em que as entradas e saídas dos seus flipflops se encontram internamente soldadas, vidé ao lado. Oferecem saídas 3-state, e entradas clock, EN/outputenable e M 2, e um conjunto de pinos de entrada-e-saída (IO: Input-Output), dito de Bus-bidireccional.

70 Sistemas Digitais (Part III) Page 70 of 111

71 Sistemas Digitais (Part III) Page 71 of 111 Síntese não-clássica: 1-hot / 1 FlipFlop por-estado/ 20aº Projecto Reveja-se o itinerário de circuitos sequenciais: num primeiro passo, fez-se o elenco dos seus tijolos básicos específicos; depois, discutiu-se a metodologia geral concernindo a sua síntese; as últimas sessões foram dedicadas a dois blocos sequenciais general purpose (contadores e registos). Esta sessão dedica-se precisamente ao seu uso para a síntese de circuitos sequenciais Numa primeira fase, abordar-se-á o uso de registos para essa síntese e, tal como as demais sessões, ir-se-á partir de um Projecto concreto Considere uma sala de acesso restrito, em cuja entrada se encontra um teclado com 4 teclas {0, 1, 2, 3}. É preciso clicar uma chave para se poder entrar Um circuito activa a abertura da porta se e só se as últimas teclas premidas tiverem sido O ponto crítico é o desenho do seu Diagrama de Estados que neste caso é bem trivial, vidé ao lado: Antes de mais, e porquanto as teclas são quatro, será pacífico codificá-las num par de bits, {T 1, T 0 } Optando pelo modelo de Mealy, 1. No momento em que se faz o power-on, o circuito ingressa no estado Rdy/Ready ; 2. À medida que as teclas vão sendo premidas acompanhando o padrão 2213 isto é, o circuito vai recebendo sucessivamente os di-bits 10, 10 e 01 -, o circuito ingressa sucessivamente nos estados S 2, S 22 e S 221 ; neste estado, e se e só se o circuito receber 11, a saída Z volve-se 1 e ele regressa ao estado inicial, Rdy. Deixa-se ao leitor conferir como procede o circuito se o premir das teclas não acompanhar a chave De imediato, converte-se o Diagrama de Estados na Tabela de Estados/Saída. Conforme ao método clássico de síntese, e porquanto são em número de 4 os estados da Tabela, serão necessários e suficientes 2 flip-flops O método que se abordará agora, dito de 1 Hot ou 1 flip-flop por estado, opta em contrapartida por usar um registo com tantos flip-flops D quantos os estados em causa (no caso 4) e com uma característica peculiar: só um dos flip-flops está a 1, os demais encontram-se a 0. Deixando para mais tarde a justificação de tal estratégia, o passo seguinte é fazer corresponder um estado a cada combinação dos flip-flops. Concretamente, para a combinação em que só Q 0 =1, faz-se corresponder o estado Rdy ; para aquela em que só Q 1 =1, faz-se corresponder S 2 ; e assim por diante, vidé codificação ao lado Para o que se segue, convirá renomear os estados: cada estado fica com um nome que é o do flip-flop que advém 1 quando o circuito se encontra nesse estado. Isto é, o estado Rdy passará a denominar-se Q 0 ; S 2 passará a denominar-se Q 1 ; e assim por diante o resultado vindo a ser a Tabela de Estados/Saída ao lado. Doravante, Q i terá então dois significados: é o nome/saída de um flip-flop e é o nome de um estado. Isso viabiliza o escrever de imediato as expressões algébricas da saída Z e das entradas dos flip-flops: Z é 1 quando o estado do circuito é Q 3 e os di-bits recebidos são 11 ; mas dizer que o circuito está no estado Q 3 equivale a dizer que o flip-flop Q 3 (e só ele) está a 1 ; ou seja: Z=1 quando Q 3 =1 e T 1 =T 0 =1; isto soa, é claro, a um termo de produto, Z=Q 3 T 1 T 0 ; o estado seguinte do circuito será Q 3 só quando o estado actual for Q 2 e os di-bits recebidos forem 01 ; mas isso equivale a dizer que o flip-flop Q 3 ficará a 1 só quando o flip-flop Q 2 estiver a 1 e se receber 01 ; ou seja: Q 3(t+1) =1 só quando Q 2 =1 e T 1 =0 e T 0 =1; e por conseguinte, D 3 deverá ser 1 só quando Q 2 =1 e T 1 =0 e T 0 =1; daqui se deduz a expressão algébrica de D 3, que será outro termo de produto o estado seguinte do circuito será Q 2 só quando os di-bits recebidos forem 10 e o estado actual for Q 1 ou Q 2 ; mas isso equivale a dizer que o flip-flop Q 2 ficará a 1 só quando se receber 10 e estiver a 1 um dos flip-flops Q 1 ou Q 2 ; ou seja: Q 2(t+1) =1 só quando T 1 =1 e T 0 =0 e Q 2 =1 ou Q 2 =1; e por conseguinte, D 2 deverá ser 1 só quando T 1 =1 e T 0 =0 e Q 2 =1 ou Q 2 =1; daqui se deduz a expressão algébrica de D 2 deixa-se ao leitor a dedução das expressões algébricas de D 1 e D 0 Este método de síntese, não-clássico, é sugestivo em Projectos de pequena ou média dimensão; conquanto signifique um maior número de flip-flops, a lógica combinatória poderá advir mais simples e, no caso particular de se usar a tecnologia de fabrico CMOS, há uma economia de potência, pois que, a haver mudança de estados, somente dois flip-flops mudarão de facto de estado Naturalmente, exige que, no power-on, o circuito seja mesmo posto no estado inicial, que no caso é 0001 Será entretanto conveniente dedicar algum tempo mais a este método

72 Sistemas Digitais (Part III) Page 72 of 111

73 Sistemas Digitais (Part III) Page 73 of 111 Síntese não-clássica: 1-hot / 1 FF Por-Estado/ 20bº Projecto (Gerador de Paridade Hamming) A lei do menor esforço recomenda reavaliar os passos seguidos na síntese 1 Hot ou 1 flip-flop por estado, quiçá se chegue a uma metodologia mais simples E deixando ao leitor aplicar o que adiante se diz ao Projecto anterior, ir-se-á partir de um Projecto concreto novo O contexto desse Projecto é o da transmissão (ou armazenamento) de bits de informação. Pois que os suportes para o efeito não são ideais (não estão isentos de falhas), é provável que alguns deles se corrompam: transmite-se um 1, e no final vem a receber-se um 0 (ou vice-versa) Em algumas aplicações, justificar-se-á acrescentarlhes uma informação especial para controlo de erro para que, aquando da recepção dos bits, se descubra quais deles estão mesmo errados (que, sabendo-o, a sua correcção se bastará, obviamente, na inversão desses bits errados). Um dos métodos usados suporta-se naquilo que se designa codificação Hamming, ficando o leitor curioso remetido para pesquisar na Internet (por exemplo) a sua justificação A propósito da codificação Hamming convém dispor dum circuito sequencial síncrono que, por cada trio de bits que recebe, produz 1 se e só se o número de 1 s no trio for ímpar (depois, o circuito regressa ao estado inicial). O ponto crítico é o desenho do seu Diagrama de Estados que neste caso é bem trivial, vidé ao lado: Optando pelo modelo de Moore, 1. No momento em que se faz o power-on, o circuito ingressa no estado Rdy ; Doravante, há que ir registando quantos bits se receberam já, e se foram em número par ou ímpar: 2. Se o primeiro bit recebido for 1, o circuito ingressa num estado I 1 que significa que se recebeu já um bit e que o número de 1 s recebidos até então foi ímpar; se se voltar a receber outro 1, o circuito ingressa num estado P 2 que significa que se receberam já dois bits e que o número de 1 s já recebidos foi par; até então (isto é: nos estados Rdy, I 1 e P 2 ), as saídas foram sempre 0 pois ainda se não receberam três bits; mas, se se voltar a receber outro 1, o circuito ingressará no estado I 3, que significa que se receberam já três bits e que o número de 1 s recebidos até então foi ímpar pelo que, nele, a saída será 1 ; Deixa-se ao leitor conferir como procede o circuito se receber outras sequências de três bits Trata-se agora de aplicar o método de síntese 1 Hot ou 1 flip-flop por estado, com algumas alterações que serão certamente pacíficas e bem-vindas: antes de mais, e porquanto o Diagrama de Estados exibe 7 estados, o logigrama irá volver-se num registo com outros tantos flip-flops e com a sabida característica: só um deles estará a 1, os demais encontram-se a 0 ; o passo seguinte seria normalmente preencher a Tabela de Estados/Saída mas, antevendo a renomeação dos estados, é preferível fazê-lo já, inscrevendo os nomes {Q 0, Q 1,, Q 6 } no próprio Diagrama, vidé ao lado; o passo seguinte seria preencher a Tabela de Estados/Saída com os novos nomes dos estados mas de facto, nem sequer isso é absolutamente necessário, basta consultar visualmente o próprio Diagrama (renomeado): constata-se que só numa situação é que a saída Z toma o valor 1 : precisamente no estado Q 6 isto é, no único estado em que o flip-flop Q 6 (e só ele) estará a 1! Será então pacífica a expressão algébrica de Z constata-se que só em duas situações é que se ingressa no estado Q 0 : quando o estado actual do circuito é Q 3 ou Q 6 : se o circuito estiver em algum destes estados, e independentemente do valor do bit que nele é recebido (note-se o símbolo de indiferença, X, que rotula as setas que se dirigem desses estados para Q 0 ) o estado seguinte será Q 0 ; por outras palavras: para que, após o clock, seja Q 0 o flip-flop a 1, deverá actualmente estar a 1 algum dos flip-flops Q 3 ou Q 6 ; deverá então ser pacífica a expressão algébrica de D 0 constata-se que só numa situação é que se ingressa no estado Q 1 : quando o estado actual do circuito é Q 0 e o bit recebido é 0 ; por outras palavras: para que, após o clock, seja Q 1 o flip-flop a 1, deverá actualmente estar a 1 o flip-flop Q 0 e o bit B recebido ser 1 ; deverá ser pacífica a expressão de D 1 deixa-se ao leitor discernir as expressões de {D 2, D 3,, D 6 }, pela repetição do raciocínio acima: para cada um dos outros estados, verificar como é que se ingressa nele o que se volve em captar as setas que para ele apontam; verificar, para cada uma delas, qual o seu estado de partida e qual o bit recebido que a motiva e converter tudo isso num enunciado SOP, e logo depois numa expressão algébrica Não se poderá esquecer de, no power-on, forçar o circuito a ingressar no estado inicial, De facto, é imperioso que ao longo do tempo se verifique que um e um só dos flip-flops esteja a 1 e aqui reside uma vulnerabilidade do método: radiação cósmica sobre os flip-flops pode fazer transitar o registo 1-hot para um registo 0 hot ou 2-hots

74 Sistemas Digitais (Part III) Page 74 of 111

75 Sistemas Digitais (Part III) Page 75 of 111 Síntese não-clássica: com Contadores/ 20cº Projecto O Diagrama do 20aº Projecto exibe 4 estados; o método clássico conduziria a 2 flip-flops mas o método 1 Hot conduz a 4 flip-flops D Semelhantemente, o Diagrama do 20bº Projecto exibe 7 estados; o método clássico conduziria a 3 flip-flops mas o método 1 Hot conduz a 7 flip-flops D Há uma notória diferença entre as quantidades de flip-flops exigidas por um e outro método e, sendo no método 1 Hot o número de flip-flops igual ao número de estados, adivinha-se a angústia do projectista: o Diagrama que ele desenhou será o mais simples que responde ao Projecto que tem entre mãos? Será possível simplificá-lo, descartando estados a mais? Prometendo uma resposta a esta interrogação para mais adiante ainda nesta sessão, ir-se-á antes abordar o uso de contadores para a síntese de circuitos sequenciais naturalmente a partir de um Projecto concreto Pretende-se um circuito que activa um laser sobre um paciente durante 40 μseg; é activado por um botão Start. Dispõe-se de um relógio que gera impulsos com o período de 10 μseg. O ponto crítico é o desenho do seu Diagrama de Estados que neste caso é bem trivial, vidé ao lado: Pressuposto que se insere, na saída do relógio, um AND activado por Start, e optando pelo modelo de Moore, 1. No momento em que se faz o power-on, o circuito ingressa no estado C 0 e a saída fica sendo Z=0; 2. Quando se prime o botão Start, os impulsos de relógio são habilitados a atingir a entrada clock do circuito: o primeiro faz ingressar o circuito no estado C 1 e a saída fica sendo Z=1; o segundo, terceiro e quarto impulsos, que ocorrem a intervalos de 10 μseg, fazem transitar o circuito sucessivamente para os estados C 2, C 3, C 4 continuando a saída a ser Z=1; quando ocorre o impulso de relógio seguinte, já a saída Z esteve activa um total de 40 μseg, pelo que o circuito ingressa no estado C 5 a saída regressando a Z=0, e ai permanecendo doravante até ao power-off Não serão de admirar os nomes C i atribuídos aos estados: em termos práticos, contam os impulsos clock já recebidos ( C 5 tem um significado ligeiramente diferente: explicita que já se receberam pelo menos 5 impulsos). Deixa-se ao leitor a aplicação do método clássico para a síntese de tal Diagrama de Estados: converte-se o Diagrama na Tabela de Estados/Saída, etc., etc.. Em seu lugar, ir-se-á abordar agora um outro método, dito de por contador, porquanto se baseia no uso de um contador com um módulo que cubra o número de estados presentes no Diagrama: de facto, se se olhar atentamente para o Diagrama, ele evoca um contador, a diferença sendo que, no estado C 5, o circuito não retorna ao estado C 0 : permanece em C 5 (subentendendo-se que a inicialização do circuito se faz por entradas assíncronas Clear). Ora, desde o 18cº Projecto (versando um dado electrónico), que deverá ser trivial a modificação dum contador: pressupondo que ele disponibiliza dois modos de funcionamento, um deles, seja M 1, ficaria activo enquanto fosse hora de o contador incrementar {0, 1, 2, 3, 4, 5}; e o outro, seja M 4, para carregar em paralelo o valor 5 que deveria advir activo quando o contador atingisse o valor 5, e apenas então. Ainda que da asserção acima se possa mentalmente desenhar de imediato o logigrama do circuito, e antevendo Projectos não tão simples, será preferível entretanto plasmá-la em Mapas de Karnaugh que deverão ser pacíficos: à esquerda, dispõem-se, em binário reflectido, colunas representando as saídas do contador, {Q 2, Q 1, Q 0 }; subentendendo que se usa o CBN na codificação dos estados (as saídas do contador volvem-se nos códigos binários dos valores {0, 1, 5}), rotulam-se (com {C 0,, C 5 }) as combinações admissíveis dessas saídas; de seguida, elabora-se os Mapas de Karnaugh de três funções, a saber: a saída, Z, do circuito: fica a 1 nos estados {C 1, C 2, C 3, e C 4 }; uma função, L, que sinalize (na prática: fique activa) quando e apenas quando se deve quebrar a contagem isto é: provocar o Load dalgum valor particular; no caso, deverá ficar a 1 no estado C 5, e só nele; três funções, {D 2, D 1, D 0 }, que explicitem o valor a carregar em paralelo quando L advir activa: no caso, deverão volver-se no código binário do estado C 5, que é 101 ; para todas as combinações em que L=0 isto é, não se procede ao carregamento em paralelo -, são, é claro, irrelevantes ( X ) os valores de {D 2, D 1, D 0 }; preenchem-se com o símbolo de indiferença, X, os valores das funções para as combinações {110, 111} que nunca deverão ocorrer Aplicando então o método de Karnaugh, obtêm-se as expressões de Z e L, e {D 2, D 1, D 0 } e procede-se ao desenho do logigrama, vidé ao lado. A propósito deste, um cuidado há a ter: pois que M 4 é activo a Low, a saída do AND que produz L deverá ser activa a Low

76 Sistemas Digitais (Part III) Page 76 of 111

77 Sistemas Digitais (Part III) Page 77 of 111 Síntese não-clássica: com Contadores / 20dº Projecto (Detector de Mudança de Nível) No desenho do circuito para o projecto precedente, optou-se pelo modelo de Moore mas o método de síntese por contador é outrossim aplicável se se optar pelo modelo de Mealy. Quiçá um novo Projecto o possa ilustrar Pretende-se um circuito sequencial síncrono que analise grupos de três bits: a saída é 1 se e somente se tiverem um número par de mudanças 1 0 ou 0 1 (por exemplo, 001 tem uma mudança, e 101 tem duas). O ponto crítico é o desenho do seu Diagrama de Estados que neste caso é bem trivial, vidé ao lado: 1. No momento em que se faz o power-on, o circuito ingressa no estado Rdy ; 2. Independentemente do valor do primeiro bit X a ser recebido, a saída é 0. Entretanto, e consoante ele for 0 ou 1, assim se ingressa no estado S 0 ou S 1 ; 3. Independentemente do valor do segundo bit, a saída continuará a ser 0. Entretanto, e consoante ele for 0 ou 1 (e consoante o estado, S 0 ou S 1, em que ele é recebido), assim se ingressa no estado S 00 ou S 01, S 10 ou S 11 No fundo, está-se a desenhar uma árvore binária (cada nó/estado tem dois ramos, rotulados 0 e 1 ) em que, exceptuando o estado inicial, cada nó é nomeado pelo conjunto de bits recebidos até se ingressar nele 4. Independentemente do valor do terceiro bit a ser recebido, é claro que o circuito irá retornar ao estado inicial; só resta discernir qual a saída A esse respeito: se ele estiver no estado S 00 e receber um 0 o que significa no fim de contas que o grupo recebido foi 000 então a saída será 1 (houve zero mudanças, e 0 é par); mas se receber um 1, ela será 0 Deixa-se ao leitor conferir da exactidão das demais saídas exibidas no Diagrama O Diagrama logrado exibe 7 estados e, se o desafio fora o de analisar grupos de 4 bits, intui-se que a árvore explodiria para 15 estados, donde a angústia já atrás assinalada: o Diagrama desenhado será o mais simples que responde ao Projecto que tem entre mãos? Será possível simplificá-lo, descartando estados a mais? Não cabendo neste itinerário uma resposta exaustiva a essa interrogação, ainda assim sobra espaço para uma suspeita: porventura ao traçar-se a árvore se inventaram estados novos quando isso de facto não era em absoluto necessário, que poderiam ter-se aproveitado estados já inventados Dois estados assim, em que um é clone do outro, pois exibe o mesmo comportamento, dizem-se equivalentes; então uma praxis a seguir doravante aquando do desenho do Diagrama de Estados, será procurar nele estados clones/equivalentes e condensá-los em um único! Para concretizar, analise-se o Diagrama que se obteve ao lado: é notório que os estados S 00 e S 01 são clones: se o circuito estiver em qualquer um desses estados, ele, aquando do clock seguinte, transita para o estado Rdy e, além disso: se receber o bit 0, a saída é 1 ; e se receber o bit 1, a saída é 0. Algo similar ocorre para os estados S 10 e S 11 : também eles são clones; de facto, se o circuito estiver em qualquer desses estados, e qualquer que seja o bit recebido, a saída será a mesma e o estado seguinte é o mesmo. E se são clones, quer dizer que há estados a mais: cada par deve ser condensado em um único estado; no caso, descarta-se o estado S 01 e a seta que para ele se dirige, provinda de S 0, é reorientada para S 00 ; de modo semelhante, descarta-se o estado S 10 e a seta que para ele se dirige, provinda de S 1, é reorientada para S 11. No total, portanto, são suficientes 5 estados para especificar o circuito pretendido. É hora de aplicar o método de síntese por contador começando por renomear os estados em {C 0,, C 4 }; procura-se uma trajectória fechada que, partindo do estado inicial, Rdy, visite todos os estados, após o que se renomeiam consecutivamente começando em C 0 ; ela deve ser tanto quanto possível contínua (isto é: tentando evitar descontinuidades o que implica dar primazia, em cada estado, a prosseguir por uma das setas que dele saem), como seja Rdy S 0 S 00 S 1 S 11 Rdy. Preenchem-se depois os Mapas de Karnaugh de Z, L e {D 2, D 1, D 0 } em função de {Q 2, Q 1, Q 0 } e do bit X : a saída do circuito fica a 1 apenas em duas circunstâncias: quando o circuito se encontra no estado C 2 e se recebe 0, ou quando o circuito se encontra no estado C 4 e se recebe 1 ; L advém activa quando e apenas quando se deve quebrar a contagem; isso sucede quando o circuito se encontra no estado C 0 e se recebe 1 (em vez de incrementar para C 1, deverá saltar para C 3 ) ou quando o circuito se encontra no estado C 4 (em vez de incrementar para C 5, deverá saltar para C 0 ); em consonância, no primeiro caso deve carregar-se o valor 011, e no segundo deverá carregar-se 000 ; preenchem-se com o símbolo de indiferença, X, os valores das funções para as combinações {101, 110, 111} que nunca deverão ocorrer e os valores de {D 2, D 1, D 0 } para os casos em que L=0 (não há Load) Resta obter as expressões de Z e L, e {D 2, D 1, D 0 } e proceder ao desenho do logigrama

78 Sistemas Digitais (Part III) Page 78 of 111

79 Sistemas Digitais (Part III) Page 79 of 111 Síntese não-clássica: com Contadores / 20eº Projecto (Conversor de BCD para D+3) A terminar esta sessão, não será uma inútil perda de tempo volver de novo a atenção para a importância de detectar estados clones, e de os condensar Pretende-se um circuito sequencial síncrono que recebe dígitos codificados em BCD e produz as correspondentes palavras do código D+3. O primeiro bit a ser recebido é o de menor peso. O ponto crítico é o desenho do seu Diagrama de Estados que neste caso é bem trivial, vidé ao lado: 1. No momento em que se faz o power-on, o circuito ingressa no estado Rdy ; 2. Confrontando as colunas de menor peso dos códigos BCD e D+3, constata-se que elas são o inverso uma da outra pelo que a saída correspondente ao primeiro bit a ser recebido vem a ser o inverso desse bit; e conforme ele for 0 ou 1, assim se transita para o estado S 0 ou S 1 ; 3. Admita-se agora que, estando o circuito no estado S 0, ele recebe um novo bit; restringindo a atenção apenas às palavras do código BCD onde o bit de menor peso é 0 (pois se está no estado S 0 ), constata-se que a saída correspondente ao segundo bit a ser recebido é igual a esse bit; e conforme ele for 0 ou 1, assim se transita para S 00 ou S 10 (As etiquetas dos estados denotam então os conjuntos de bits recebidos, com o menor peso à direita); deixa-se ao leitor conferir a evolução do circuito quando ele se encontra em S 1 e recebe o segundo bit; 4. Admita-se agora que, estando o circuito no estado S 00, ele recebe um outro bit; restringindo a atenção apenas às palavras do código BCD onde os bits de menor peso são 00, constata-se que a saída correspondente ao terceiro bit a ser recebido é o inverso desse bit; e conforme ele for 0 ou 1, assim se transita para o estado S 000 ou S 100 ; deixa-se ao leitor conferir a evolução do circuito nos estados S 10, S 01 e S 11 ; 5. Admita-se enfim que, estando o circuito em S 000, ele recebe o último bit; restringindo a atenção só às palavras do código BCD onde os bits de menor peso são 000, nota-se que a saída correspondente ao quarto bit a ser recebido é o inverso desse bit; e, independentemente do seu valor, o circuito retorna ao estado inicial, Rdy ; deixa-se ao leitor conferir a evolução do circuito nos estados S 100, S 010, S 110, S 001, S 101, S 011 e S 111 De novo, o logigrama volve-se numa árvore binária (cada nó/estado tem dois ramos, rotulados 0 e 1 ) em que, exceptuando o estado inicial, cada nó é nomeado pelo conjunto de bits recebidos até se ingressar nele Isso pode ser um convite à aplicação desta estratégia a todos os Projectos de circuitos sequenciais mas não é lá muito recomendável: a nítida explosão de estados a que se chega é uma ameaça à tranquilidade do projectista: o Diagrama que ele desenhou será o mais simples que responde ao Projecto que tem entre mãos? Será possível simplificá-lo, descartando estados a mais? (Abra-se um parêntesis: reconhecendo que o código D+3 se obtém a partir do código BCD somando 0011, o logigrama a que se chegaria expandir-se-ia por bem menos estados). Ora, quanto a essas interrogações, já se referiu uma técnica para simplificar o Diagrama de Estados: procurar nele estados clones/equivalentes e condensá-los em um único! Ora, não custa discernir: o estado seguinte para todos os estados etiquetados por 3 bits é o mesmo estado, Rdy ; ademais, para os estados S 000, S 100, S 010, S 001 e S 011, a saída correspondente ao último bit a ser recebido é sempre a mesma: igual ao bit recebido; então, exibindo o mesmo estado seguinte, e as mesmas saídas para os mesmos bits recebidos, eles são clones uns dos outros: devem ser condensados, em um único, seja S 000 ; para os estados S 110, S 101 e S 111, a saída correspondente ao último bit a ser recebido é sempre a mesma: 1 ; então, eles são clones uns dos outros: devem ser condensados, em um único, seja S 111 ; feita essa condensação, é hora de considerar os estados etiquetados por 2 bits; constata-se que, relativamente aos estados S 10, S 01 e S 11 : se o bit recebido for 0, o estado seguinte é o mesmo, S 000 e a saída é também a mesma, 1 ; e se o bit recebido for 1, o estado seguinte é o mesmo, S 111 e a saída é também a mesma, 0 ; então, são clones uns dos outros: devem ser condensados, em um único, seja S 11 ; Resumindo: partindo de um Diagrama de Estados com 15 estados, chegou-se a um Diagrama de Estados com apenas 7 estados: um descarte de 8 estados o que é obra! Se fora de aplicar o método dito de 1 Hot ou 1 flip-flop por estado, ter-se-iam então poupado 8 flip-flops, o que não é despiciente mas a promessa acima é a de aplicar o método de síntese por contador Quanto a isso, a primeira etapa é renomear os estados em {C 0,, C 6 }; convém procurar uma trajectória que, partindo do estado inicial, visite todos os estados, e renomeia-se consecutivamente começando em C 0 ; há que minimizar descontinuidades o que implica dar primazia, em cada estado, a prosseguir por uma das setas que dele saem.

80 Sistemas Digitais (Part III) Page 80 of 111

81 Sistemas Digitais (Part III) Page 81 of 111 Síntese não-clássica: com Contadores / Síntese com Contador A advertência Se sobrar tempo na aula denota que nada essencialmente novo se pode esperar das linhas adiante: o desafio é construir o circuito que concretiza o logigrama ao lado seguindo o método de síntese por contador e ele já por duas vezes foi ilustrado Repetindo os passos já percorridos atrás, preenchem-se os Mapas de Karnaugh ou melhor ainda, que a lei do menor esforço recomenda o uso de um descodificador, as Tabelas de Verdade (a duas dimensões) de Z, L e {D 2, D 1, D 0 } em função de {Q 2, Q 1, Q 0 } e do bit X : a saída do circuito fica a 1 nas seguintes circunstâncias: quando se recebe 0 nos estados C 0, C 1, C 5 ou C 6, ou quando se recebe 1 nos estados C 2, C 3 ou C 4 ; L advém activa quando e apenas quando se deve quebrar a contagem; isso sucede quando o circuito se encontra no estado C 0 e se recebe 1 (deverá saltar para C 4 ); se encontra no estado C 1 e se recebe 1 (deverá saltar para C 5 ); se encontra no estado C 3 (deverá saltar para C 0 ); se encontra no estado C 5 e se recebe 0 (deverá saltar para C 3 ); se encontra no estado C 6 e se recebe 0 (deverá saltar para C 0 ). em consonância, deverão carregar-se respectivamente os valores 100, 101, 000, 011 e 000 ; preenchem-se com o símbolo de indiferença, X, os valores das funções para as combinações que nunca deverão ocorrer e os valores de {D 2, D 1, D 0 } para os casos em que L=0 (não há Load) Ressalve-se que é outra a praxis seguida nas Tabelas ao lado: porquanto na construção de um circuito com base em descodificadores o relevante é saber quando a sua saída é 1, são deixadas em branco as células em que a função toma o valor 0 ou o seu valor é indiferente ( X ). Resta desenhar o logigrama com um descodificador cujas entradas de selecção são {Q 2, Q 1, Q 0 e X } e um conjunto de ORs que produza Z e L, e {D 2, D 1, D 0 } o que não é nada transcendente: pois que Z=1 nas células {0, 2, 5, 7, 9, 10, 12}, Z será a saída de um OR a cujas entradas se aplicam as saídas do descodificador numeradas precisamente por {0, 2, 5, 7, 9, 10, 12}; pois que L=1 nas células {1, 3, 6, 7, 10, 12}, L será a saída de um OR a cujas entradas se aplicam as saídas do descodificador numeradas por {1, 3, 6, 7, 10, 12}; entretanto, e pois que o modo de funcionamento Load se selecciona activando M 4, e este é activo a Low, a saída do OR deverá ser activa a Low; pois que D 2 =1 nas células {2, 3}, D 2 será a saída de um OR a cujas entradas se aplicam as saídas do descodificador numeradas precisamente por {2, 3}; pois que D 1 =1 na células 10, D 1 será a saída do descodificador numerada 10 ; pois que D 0 =1 nas células {3, 10}, D 0 será a saída de um OR a cujas entradas se aplicam as saídas do descodificador numeradas por {3, 10}; quanto à entrada D 0, ela será fixada em 0 : a contagem nunca chega a exceder 0110 a inicialização do contador, ao estado Rdy / C 0, logra-se activando a entrada CT=0 ;

82 Sistemas Digitais (Part III) Page 82 of 111

83 Sistemas Digitais (Part III) Page 83 of 111 RAMs / 21aº Projecto (Banco de Registos / Register File) Esta sessão versa RAMs. Descontada a sessão precedente, ela é uma continuação natural da abordagem dos registos. Como todas as outras sessões, ir-se-á desenrolar a partir de um Projecto concreto, vidé enunciado ao lado. Recordando que um objectivo referido na sessão de Apresentação é habilitar a compreender o funcionamento de um computador e, sendo esta a penúltima sessão deste itinerário, este Projecto é, de certo modo, inevitável... Ao lado encontra-se uma possível interligação em que as aspas denotam que outras soluções são possíveis. Ela é vocacionada para a denominada arquitectura MIPS (Microprocessor without Interlocked Pipeline Stages) O coração do logigrama é um banco de 32 registos (Register File); Cada um deles memoriza palavras de 32-bit; consiste em 4 registos de 8 flip-flop D, com entradas e saídas activas a High, que reagem ao flanco ascendente dos impulsos na entrada 1C2 que é comum a todos eles. Em ordem a providenciar operações aritméticas (nomeadamente, adição ou subtracção) e lógicas (OR, AND e NOT) entre um ou dois dos registos, existe ainda uma assim designada Unidade Aritmética e Lógica, ALU; Prevendo o caso geral de a operação envolver dois operandos, a ALU recebe dois valores, sob a forma de palavras de 32-bit, que lhe chegam dos registos através de dois Buses de dados de leitura de 32-bit; O resultado da operação é um valor, também sob a forma de uma palavra de 32-bit, que é lançado para um Buses de dados de escrita de 32-bit, a caminho do registo onde ele ficará memorizado. Em ordem a seleccionar a operação a realizar pela ALU, e os registos contendo os operandos e aquele onde será guardado o resultado, existe ainda uma assim designada Unidade de Controlo. Em ordem à escrita nalgum registo do resultado que a ALU lançou para o Bus de dados de escrita, As entradas de dados dos flip-flops D dos registos estão ligadas às correspondentes linhas desse Bus; Cada registo é dotado de uma entrada enable, G1, que afecta todos os seus flip-flops que deve ser activada para que de facto seja escrito no registo o valor presente naquele Bus; Para identificar, entre os 32 registos, aquele onde será inscrito esse valor, existe um Bus de endereços de 5 bits (repare-se: 2 5 =32), WAddr; o seu conteúdo é determinado pela Unidade de Controlo; As entradas enable dos 32 registos encontram-se interligadas às saídas de um descodificador desse Bus: sendo este Bus aplicado às entradas de selecção do descodificador, ficará activa uma única das suas saídas e em consequência ficará activa apenas uma das entradas enable, precisamente a do registo identificado por WAddr. Pressuponha-se então que a ALU produziu um resultado/palavra de 32-bit e que a verteu no Bus de dados de escrita; e, também que WAddr contém a identificação do registo onde ela deverá ficar inscrito; todos os registos a sentirão na sua entrada, mas só naquele identificado em WAddr advirá activa a entrada enable com o que, no próximo flanco de comutação do clock, essa palavra advirá inscrita nesse registo e só nele: a escrita é síncrona. Em ordem à leitura dos dois operandos, sejam A e B, Para identificar, entre os 32 registos, aqueles onde se encontram os dois operandos, existem dois Buses de endereços de 5 bits, RAddr-A e RAddr-B; o seu conteúdo é determinado pela Unidade de Controlo; Cada um desses Buses é aplicado às entradas de selecção de dois conjuntos de 32 multiplexers; por exemplo, às 5 entradas de selecção do multiplexer A 0 é aplicado RAddr-A, e nas suas 32 entradas de dados aplicam-se o bit menos significativo de todos os 32 registos com o que a sua saída irá apresentar o bit menos significativo do registo seleccionado por RAddr-A; e assim sucessivamente para os demais multiplexers Pressuponha-se então que RAddr-A e RAddr-B contêm a identificação dos registos com os operandos; afora os tempos de propagação, os operandos ficarão de imediato disponibilizados à ALU: a leitura é assíncrona. O logigrama omite, claramente por mor de simplicidade, e entre outros blocos funcionais: o que respeita ao input (o teclado e o correspondente codificador, e a transferência do valor digitado para um registo) e o que respeita ao output (a transferência de um registo para um display de 7-segmentos através do correspondente descodificador); e também não se esmiuçou o interior da ALU e da Unidade de Controlo; bem como se não exploraram outras alternativas (como seria condensar os três buses de dados num único, e condensar os três buses de endereços num único): no fundo, desafios que serão triviais para quem tenha acompanhado este itinerário O importante agora é recapitular o percurso em torno da memória: tendo começado por latches e flip-flops, a continuação foi registos e agora o register file O que se segue? A resposta, a abordar já de seguida, é: RAMs

84 Sistemas Digitais (Part III) Page 84 of 111

85 Sistemas Digitais (Part III) Page 85 of 111 RAMs / A Célula Básica da Memória RAM Haverá sistemas digitais onde convirá memorizar largos volumes de bits como sejam os relativos a documentos de texto, tabelas, peças musicais, figuras e fotografias, filmes, etc. A esse respeito, a solução banco de registos de flip-flops, se bem que proporcionando rapidez na leitura e na escrita, é por demais dispendiosa pelo que já de há muito se tem investido na disponibilização no mercado de circuitos com vastas capacidade de memória, porém a preços bem menores que aqueles em que a sua concretização em flip-flops se traduziria Globalmente, há duas famílias de memórias para grandes volumes de informação binária: De um lado, as assim designadas memórias de acesso sequencial (como sejam discos e fita magnética); Por outro lado, memórias de acesso directo, concretamente RAMs e ROMs (RAM: Random Access Memory; ROM: Read Only Memory). (Eis o que as distingue: nas primeiras, de acesso sequencial, o tempo de acesso, para leitura/escrita, depende da localização no dispositivo da informação enquanto nas segundas, de acesso directo, tal não acontece) No âmbito desta disciplina, serão abordadas apenas as memórias de acesso directo. Isso será feito de um modo faseado, percorrendo uma após outra as seguintes questões: como será a célula básica de memória para memorizar/consultar informação constando só de 1-bit? como combinar várias dessas células, para memorizar/consultar informação constando de N palavras de 1-bit? como expandir tal organização, para memorizar/consultar informação constando de N palavras de k-bit? A célula básica de memória encontra-se esquematizada ao lado; apresenta: Três entradas, ditas de Write/Read, Chip-select e Data-In; A entrada Write/Read designa a operação a realizar: se estiver activa, tratar-se-á da consulta/leitura do conteúdo da célula; caso contrário, tratar-se-á do armazenamento/escrita de um novo bit na célula; Tal operação será executada somente se a entrada Chip-select estiver activa; Se se tratar da operação de escrita, ter-se-á que aplicar em Data-In o bit a armazenar na célula. Uma saída 3-state, Data-Out. Bem vistas as coisas, a célula disponibiliza então três Modos de funcionamento: quando a entrada Chip-select, que é activa a Low, se encontra inactiva, a célula encontra-se inacessível, tanto para escrita como para leitura: nem se lhe pode escrever nada, nem se pode conhecer o seu conteúdo; caso contrário (isto é: quando a entrada Chip-select se encontra activa), existem dois modos de Operação: Modo Write: Write/Read encontra-se Low com o que a célula tomará o valor em Data-In; Modo Read: Write/Read encontra-se High com o que a célula apresentará o seu conteúdo em Data-Out. Para que a operação tenha sucesso, não custa descortinar qual deverá ser a sequência dos eventos: A propósito da escrita, o qualificador C2 significa que, para que a célula fique memorizando o bit aplicado em Data-In, é necessário que estejam activos tanto o modo Write como Chip-select. Na prática, dever-se-á aplicar em Data-In o valor a inscrever na célula e forçar Low em Chip-select e enfim activar o modo Write (na prática, forçando Low na entrada Write/Read); procedendo assim, a célula ficará armazenando o bit aplicado em Data-In. A propósito da leitura, o qualificador G1 significa que, para que se obtenha em Data-Out o conteúdo da célula, é necessário que estejam activos tanto o modo Read como Chip-select. Na prática, dever-se-á forçar Low em Chip-select e activar o modo Read (na prática, forçando High na entrada Write/Read); procedendo assim, a célula apresentará o seu conteúdo à saída, em Data-Out. Ressalve-se entretanto que a especificação acima é independente da tecnologia de fabrico: o esquema ao lado é puramente funcional, de maneira nenhuma significa que uma célula de memória seja mesmo feita de latches D: Em termos práticos, o fabrico de RAMs é de facto feito ao nível dos transistores, que não de latches. A esse respeito, coexistem duas famílias de RAMs: SRAMs (Static RAMs): cada célula envolve 6 transistores; DRAMs (Dynamic RAMs): cada célula envolve entre 1 a 3 transistores e um condensador, que obriga ao refrescamento periódico da célula; elas providenciam uma maior densidade/capacidade de armazenamento e um menor consumo de potência (e por conseguinte uma maior economia), porém uma menor rapidez no acesso. Mercê das suas vantagens, as DRAMs são aplicadas na memória principal dos computadores, para programas e dados, já as suas desvantagens leva a preteri-las em favor das SRAMs em bancos de registos e caches.

86 Sistemas Digitais (Part III) Page 86 of 111

87 Sistemas Digitais (Part III) Page 87 of 111 RAMs / RAMs 4x1, 4x4, 16x4 Apreendido o funcionamento de uma célula básica de memória, é hora de combinar várias dessas células, para memorizar/consultar informação mais extensa. Seja o caso de se pretender não apenas um registo de 1-bit, mas, por exemplo, quatro registos de 1-bit Deverá ser pacífico o esquema ao lado, à esquerda: Antes de mais, dispõem-se 4 células de memória, sejam {R 3, R 2, R 1, R 0 }, em que, como é da praxe, elas se situam verticalmente umas por baixo das outras, com os índices crescendo de cima para baixo Aplica-se nas entradas Data-In de todas as células o mesmo bit de informação a escrever nalgum registo; Aplica-se nas entradas Write/Read de todas as células o mesmo sinal de selecção da operação a realizar Porquanto as saídas das células são 3-state, procede-se à ligação de todas elas ao mesmo terminal de saída Com isso, e pois que o objectivo é concretizar quatro registos de 1-bit, resta seleccionar/endereçar a célula específica envolvida na operação: de cada vez que se memoriza/consulta, está-se de facto memorizando/consultando um único bit em uma única célula! Isso significa que as entradas Chip-select das células não podem estar em curto-circuito : em cada momento, só uma delas pode estar activa. Isso resolve-se introduzindo um descodificador com duas entradas de endereço, {A 1, A 0 }, a cuja entrada enable se aplica o sinal Chip-select cuja activação é imprescindível para que a operação se consuma: enquanto Chip-select estiver inactivo (High), todas as saídas do descodificador estarão inactivas, e em consequência as células não estarão acessíveis; quando advir activo, uma única saída do descodificador ficará activa, e portanto uma única célula ficará seleccionada para aí se realizar a operação em causa. Seja agora o caso de se pretender quatro registos não apenas de 1-bit, mas, por exemplo, de 4-bit: Convirá tomar como ponto de partida o logigrama anterior, relativo a quatro registos de 1-bit, e modificá-lo: Em lugar de cada célula {R 3, R 2, R 1, R 0 }, dispõem-se 4 células numeradas {3, 2, 1, 0}, horizontalmente, umas ao lado das outras, com os índices decrescendo da esquerda para a direita As linhas Data-In e Data-out advêm substituídas por dois buses, Data-In e Data-out, com 4 linhas cada. A entrada Data-In e a saída Data-Out de cada célula são ligadas às correspondentes linhas desses buses Mantém-se, é claro, o descodificador 2:4 em cuja entrada enable se aplica o sinal Chip-select a diferença sendo que de cada saída sai uma word-line, que é aplicada às pertinentes células de memória. Seja enfim o caso de se pretender dezasseis registos de 4-bit: Convirá tomar como ponto de partida o logigrama anterior, e modificá-lo: Antes de mais, há, é claro, que dispor 64 células de memória. Poder-se-ia fazer como acima optar por uma distribuição vertical para os registos, mas uma alternativa é a assim nomeada distribuição bidimensional: os registos são mapeados numa distribuição de 4-colunas 4-linhas, com o que: metade do endereço, {A 1, A 0 }, selecciona a coluna a que pertence o registo; a outra metade do endereço, {A 3, A 2 }, selecciona a linha a que pertence o registo. Na prática, e em vez de usar um descodificador 4:16 (implicando 16 ANDs de 4-entradas), usa-se a assim denominada descodificação coincidente: recorre-se a um par de descodificadores 2:4 (em cujas entradas enable se aplica o mesmo sinal Chip-select) que tem a vantagem de se bastar em apenas 2 4 ANDs de 2-entradas. Argumentar-se-á que se terá de adicionar, na intersecção de cada linha e coluna, vidé logigrama ao lado, um total de 16 ANDs de 2-entradas (com entradas e saídas activas a Low) mas fabricantes há que os dispensam em favor de células de memória comportando, cada uma, 2 entradas chip-select. Ao lado, apresenta-se o símbolo IEC de uma RAM assim. O Qualificador Geral é RAM Disponibiliza 4 entradas de endereço, {A 3, A 2, A 2, A 0 } permitindo seleccionar entre 16 registos numerados {0,, 15}. A cave do símbolo determina que contém registos de 4 células, com uma mesma especificação: as entradas e saídas são ambas activas a High sendo que A,2D e 1A' afirmam que: as células se comportam funcionalmente como latches D; em cada momento, advém acessível externamente o registo então endereçado por A {A 3, A 2, A 2, A 0 }; o prefixo 2 clarifica que a escrita é viável quando está activa a entrada de controlo 1C2 o que acontece quando se encontram activas as entradas chip-select e W ; o prefixo 1 clarifica que a leitura é possível quando estão activas as entradas chip-select e R. As entradas chip-select e W são activas a Low, e a entrada R é activa a High.

88 Sistemas Digitais (Part III) Page 88 of 111

89 Sistemas Digitais (Part III) Page 89 of 111 RAMs / Expansão de RAMs Pressuposto que o mercado disponibiliza integrados concretizando 16 registos de 4-bits, a lei do menor esforço manda que a obtenção de RAMs mais extensas já se não suporte em células básicas de 1-bit, mas em tais módulos. Como exemplos de tal praxis, esquematizam-se ao lado uma RAM em que o comprimento de cada registo de informação excede 4-bit, e, depois, uma outra onde também o número de registos vai bem além de 16 Seja o caso de se pretender uma RAM 16 32, quer dizer: uma RAM com 16 registos de palavras de 32 bits. Pois que cada um dos módulos de RAM a usar oferece 16 registos de 4-bits, uma simples operação de divisão, 32:4, esclarece que serão necessários, no total, 8 desses módulos: em ordem a perfazer uma palavra de 32 bits, cada módulo vem a contribuir com 4 bits de informação, vidé ao lado: um à direita para memorizar os 4-bits menos significativos da palavra, {Q 3, Q 2, Q 1, Q 0 }; um outro para memorizar os 4-bits da palavra de peso imediatamente superior, {Q 7, Q 6, Q 5, Q 4 }; e por aí fora, ficando os 4-bits mais significativos, {Q 31, Q 30, Q 29, Q 28 }, no módulo à esquerda. Visando uma RAM comportando 16 registos, exige-se um bus de endereços de 4 linhas, {A 3, A 2, A 1, A 0 } que alimentam as entradas de endereço de todos os 8 módulos; Quando então o bus de endereços veicula, por exemplo, o endereço 1101, é seleccionado, ao mesmo tempo e em cada um dos 8 módulos, o registo numerado 13 ; a contribuição de cada módulo para a palavra de 32-bits é precisamente a palavra de 4-bits em que esse registo se volve; então, activando Chip-select, se se activar Write, é escrito nesses registos o que estiver sendo aplicado nas entradas {D 31, D 30,, D 1, D 0 }; se se activar Read, é apresentada nas saídas {Q 31, Q 30,, Q 1, Q 0 } a informação contida nesses registos. Seja agora o caso de se pretender uma RAM : uma RAM com 128 registos de palavras de 32 bits. Manda a lei do menor esforço usar agora, como módulo de construção, a RAM obtida acima: Pois que esse módulo oferece 16 registos de 32-bits, uma simples operação de divisão, 128:16, esclarece que serão necessários, no total, 8 desses módulos: em ordem a perfazer 128 registos, cada módulo vem a contribuir com 16 registos, vidé ao lado: um em cima, para memorizar os registos numerados {0-15}; um logo abaixo, para memorizar os registos numerados {16-31}; e por aí fora, ficando os registos numerados { } no módulo mais abaixo. Visando uma RAM comportando 128 registos, exige-se um bus de endereços de 7 linhas, {A 6, A 5,, A 1, A 0 } que, para efeito de seleccionarem um daqueles registos, se subdividem em dois conjuntos: {A 3, A 2, A 1, A 0 }, que alimentam as entradas de endereço de todos os 8 módulos; {A 6, A 5, A 4 }, que se aplicam a um descodificador 3:8, a cuja entrada enable se aplica a linha Chip-select; só uma saída advirá activa cabendo-lhe a ela activar a entrada Chip-select do módulo seleccionado. Quando então o bus de endereços veicula, por exemplo, o endereço , é seleccionado o módulo 2 e, nele, o registo 13 : globalmente, é seleccionado o registo numerado =45. Conquanto não figurados no logigrama ao lado, para o não complicar inutilmente, subentendem-se dois buses de dados, ambos de 32 linhas: um bus de dados de escrita, que é aplicado às entradas {D 31, D 30,, D 1, D 0 } de todos os 8 módulos; um bus de dados de leitura, a que se ligam as saídas 3-state {Q 31, Q 30,, Q 1, Q 0 de todos os 8 módulos. (Para bom entendedor, e restringindo a atenção ao bit menos significativo: as entradas D 0 ficam interligadas à mesma linha D 0 do bus de escrita, e as saídas Q 0 ficam interligadas à mesma linha Q 0 do bus de leitura) (Deixa-se ao leitor estruturar uma RAM com descodificação coincidente (2-linhas 4-colunas) de RAM 16 32) Ao lado, esquematizaram-se os ciclos de leitura e escrita numa RAM: Em ambos os casos, a primeira etapa é precisar no bus de endereços o registo alvo; se se tratar de uma operação de escrita, aplica-se no bus de escrita a palavra de 32-bits a inscrever em tal registo; A etapa seguinte é activar a linha chip-select e logo, depois, o Modo de operação: Write ou Read. Então, se se tratar de uma operação de escrita, e passado um tempo de acesso para escrita, WAct, o registo endereçado passará a conter o valor apresentado no bus de dados de escrita, Data-In; se se tratar de uma operação de leitura, e passado um tempo de acesso para leitura, RAct, será apresentado no bus de dados de leitura, Data-Out, o conteúdo do registo endereçado.

90 Sistemas Digitais (Part III) Page 90 of 111

91 Sistemas Digitais (Part III) Page 91 of 111 RAMs / 21bº Projecto (Uso de RAM para Circuitos Combinatórios) Recorde-se o objectivo maior a que esta sessão se propôs: proporcionar um meio para memorizar largos volumes de informação. Neste momento, já não haverá dúvidas em como, usando os módulos de RAM com a capacidade que o mercado oferece, constituir RAMs de muito maior capacidade: aquele objectivo está realizado. Entretanto, e tal como após a introdução a contadores e registos se abordou o seu emprego na síntese (não clássica) de circuitos, é inevitável a questão: e que tal usar RAMs para concretizar sistemas digitais, combinatórios ou sequenciais? Sabê-lo como, eis o que se vai abordar e quiçá não seja despropositado fazê-lo em torno de um circuito que ficou na sombra: de facto, o 18cº Projecto, relativo a um dado electrónico, e pois que o seu alvo era o desenho de um contador cíclico de 1 a 6, deixou ao leitor o desenho do codificador de 7-LEDs um circuito que, recebendo um dígito em binário, assinalasse os LEDs a acender. É hora de o revisitar Decidida a identificação {a, b, c, d, e, f, g} dos LEDs, as Tabelas de Verdade das saídas do circuito são triviais, vidé ao lado em que, por mor de simplificação, se assinalam só os 1 s, que não os 0 s e as indiferenças ( X ). Resolução com descodificador: Posto que a contagem decorre entre 1 e 6 cuja codificação em binário requere 3-bits, há que dispor de um descodificador 3:8, a cujas entradas de selecção se ligam as saídas {X 2, X 1, X 0 } do contador. As saídas do circuito, num total de quatro, serão produzidas por outros tantos ORs em cujas entradas são aplicadas as pertinentes saídas do descodificador; para dar um exemplo: porquanto a coluna d nas Tabelas de Verdade tem 1 s nas linhas {1, 3, 5}, a saída d virá a ser o OR das saídas do descodificador que estão numeradas {1, 3, 5}. Resolução com multiplexer: Desta feita, dispõem-se quatro multiplexers 8:1, a cujas entradas de selecção se ligam as saídas {X 2, X 1, X 0 } do contador. As quatro saídas do circuito serão as saídas desses multiplexers bastando para tal que se forcem nas suas entradas de dados as correspondentes colunas das Tabelas de Verdade; por exemplo, e porquanto a coluna d tem 1 s nas linhas {1, 3, 5}, somente nas entradas de dados {1, 3, 5} do multiplexer que produz d se forçará 1, as restantes ficam a 0. Contemplando as duas soluções acima, o seu calcanhar de Aquiles reside na quantidade de integrados e fios e bom que seria usar uma solução com menos hardware Para o efeito, reveja-se a solução com multiplexer: ela baseia-se, é claro, no funcionamento de um multiplexer 8:1: ele é um dispositivo que apresenta à saída o valor que se encontra na entrada seleccionada pelas suas entradas de selecção. Ora, este enunciado evoca o funcionamento de uma RAM 8 1: quando se encontra no modo de leitura, ela é um dispositivo que apresenta à saída o valor que se encontra na célula seleccionada pelas suas entradas de endereço. Isso sugere substituir cada multiplexer 8:1 por uma RAM 8 1, em que se inscreveram os valores aplicados nas entradas de dados daquele. ou, melhor ainda, e em vez de usar quatro RAM 8 1, compacta-las a todas em uma RAM 8 4! Ao lado, concretiza-se esta sugestão, todavia envolvendo a RAM 16 4 que o mercado oferece: Às entradas de endereço {A 2, A 2, A 0 }, ligam-se as saídas {X 2, X 1, X 0 } do contador, ficando A 3 =0; Activa-se a entrada Chip-select, forçando nela o nível Low; Nos registos, inscreve-se os conteúdos das próprias colunas {a, b, c, d} das Tabelas de Verdade; conquanto isso se não reflicta no logigrama, intui-se como se fará na prática: aplicam-se nas entradas de endereço, um após outro, os valores {1,, 6} ao mesmo tempo que se forçam nas entradas de dados os correspondentes valores nas colunas das Tabelas (e activa-se momentaneamente o modo de escrita). O subsequente conteúdo da RAM passará a ser o que ao lado se indica (em que se optou preencher com 0 s os registos não utilizados e se omitem os últimos registos {8,, 15}); em particular, o bit mais à esquerda dos registos {1,, 6} passará a conter a coluna a Activa-se o modo Read, forçando o nível High na entrada qualificada 1 EN. Suponha-se que, a dado momento, o contador marca 5 o que acarreta que as entradas de endereço vêm a ser 0101 ; então, advém seleccionado o registo 5, cujo conteúdo é 1101 ; estando activado o modo Read, as saídas {a, b, d} ficam sendo 1 enquanto a saída c advém 0 e isso é o que as Tabelas determinam que deva ser! É clara a vantagem no uso de RAMs: não há mais fios, e basta um integrado só A desvantagem é que, a suceder alguma interrupção na alimentação/power-off, o conteúdo da RAM volatiliza-se: é preciso voltar a carregá-la com os valores das colunas {a, b, c, d} Ou então haverá que optar pelas assim designadas ROMs que será um assunto da próxima sessão

92 Sistemas Digitais (Part III) Page 92 of 111

93 Sistemas Digitais (Part III) Page 93 of 111 RAMs / 21cº Projecto (Uso de RAM para Circuitos Sequenciais) Se as RAMs serão interessantes para circuitos combinatórios, sê-lo-ão também para circuitos sequenciais: estes precisam, além de flip-flops para guardar o estado actual, de malhas combinatórias para gerar as saídas do circuito e, eventualmente, os valores que excitam as entradas dos flip-flops Um Projecto novo poderá ilustrá-lo Pretende-se um circuito sequencial síncrono com uma entrada e duas saídas, {Z 1, Z 0 }. O circuito analisa o bit que acaba de receber: se ele for igual ao anterior, a saída é 00 ; se o não for, analisa o conjunto de bits que recebeu até então; a saída (exceptuando a primeira, que é irrelevante) será: 01 se acabou de receber um número ímpar de 0 s (desde o último 1 ); 10 se acabou de receber um número ímpar de 1 s (desde o último 0 ); 11, caso contrário. Ao lado, encontra-se também o Diagrama de Estados seguindo o modelo de Mealy: 1. Considere-se o momento em que se faz o power-on Será pacífico iniciar o circuito a um estado S 00 ; 2. Seja 0 ou 1 o primeiro bit a ser recebido, a saída será irrelevante. Relativamente ao estado que o circuito deverá adquirir após o próximo clock: se esse primeiro bit for 0, o circuito irá transitar para um estado, S 10, que significa que já recebeu um número ímpar de 0 s; mas se for 1, o circuito irá ingressar em S 01, que significa que já recebeu um número ímpar de 1 s; 3. Considere-se, agora, que o circuito se encontra no estado S 01. se receber um 0, a saída será 10, e o circuito transitará para S 10 ; se, porém, receber um 1, a saída será 00 e o circuito transitará para S 11, que significa que já recebeu um número par de 1 s; 4. Deixa-se ao leitor o completar o Diagrama de Estados... Completado o Diagrama de Estados que remete para ao menos dois flip-flops, sejam {Q 1, Q 0 }, e decidida a codificação de estados que se indica, serão pacíficas as Tabelas de Transições e Saídas, {Q 1, Q 0 } e {Z 1, Z 0 }. Resta agora desenhar um logigrama que concretize tal circuito; para o efeito, Usar-se-á, para memorizar o estado actual, um vulgar registo com 4 flip-flops D dos quais se aproveitarão tão-somente os dois primeiros/de-cima, {Q 1, Q 0 }; Usar-se-á para concretizar as malhas combinatórias, uma vulgar RAM 16 4 (pois que existe uma entrada externa, X, e duas entradas internas, {Q 1, Q 0 }, que em conjunto se volvem em 8 combinações possíveis, e há que produzir 4 saídas, bastaria uma RAM de 8 4 se ela estivera disponível no mercado). Optando por aplicar X à entrada de endereço menos significativa, e {Q 1, Q 0 } às duas que se lhe seguem, o passo seguinte é ligar {Q 1, Q 0, X} às entradas de endereço {A 2, A 1, A 0 } da RAM, ficando A 3 =0; Essa RAM deverá produzir as saídas {Z 1, Z 0 }, e bem assim os valores que excitam as entradas {D 1,D 0 } do registo. Ora, dada a qualificação 1D dos flip-flops do registo, a subsequente Tabela de Excitação do circuito acaba por ser uma duplicação da Tabela de Estados, {Q 1(t+1) =D 1(t), Q 0(t+1) ) =D 0(t) }. Optando por memorizar {Z 1, Z 0 } nas células menos significativas dos registos da RAM, e {D 1, D 0 } nas mais significativas, há que inscrever nos registos da RAM o conteúdo das Tabelas de Verdade: nomeadamente, inscrevese a coluna D 1 =Q 1 na posição mais significativa, e na menos significativa inscreve-se a coluna Z 0 ; O passo seguinte é ligar as saídas mais significativas da RAM às duas primeiras entradas do registo, {D 1, D 0 }; Enfim, activa-se a entrada Chip-select (forçando Low em G1 ), e activa-se o modo Read da RAM (forçando o nível Low na entrada qualificada 1 EN ). Suponha-se que, a dado momento, o registo apresenta 11 nas saídas {Q 1, Q 0 }, e que a entrada externa do circuito, X, é 0 o que acarreta que as entradas de endereço da RAM vêm a ser 0110 ; então, advém seleccionado o registo 6, cujo conteúdo é 1011 ; estando activado o modo Read, as saídas {Z 1, Z 0 } ficam de imediato sendo 11 enquanto as saídas {D 1, D 0 } advêm 10 : no próximo clock, o circuito irá ingressar no estado 10 (em termos práticos: o registo passará a memorizar 10 ) e isso é o que as Tabelas determinam que deva ser! (Nota: nada obriga a que a configuração na RAM seja aquela ao lado mas não custa descortinar-lhe as razões: nas entradas de endereço, as entradas externas são as de maior peso, e as internas são as de menor peso; conforme ao layout apresentado na forma canónica de Mealy, as saídas {Z 1, Z 0 } do circuito estão por cima e os valores {D 1, D 0 } que excitam as entradas dos flip-flops estão por baixo)

94 * Sistemas Digitais (Part III) Page 94 of 111

95 Sistemas Digitais (Part III) Page 95 of 111 RAMs / Análise de Circuitos com RAM (ou ROM) Quando um projectista se engaja no desenho de um circuito, e antes de o materializar de facto, e para evitar posteriores dissabores, há que fazer a prova dos nove : será que o circuito concebido segue mesmo o diagrama de estados desenhado inicialmente? E este passo de maneira nenhuma se deve omitir! Admita-se então que um Projectista chegou ao logigrama que se apresenta ao lado. A questão imediata a que deve responder é: qual o correspondente Diagrama de Estados? A primeira etapa é compreender o que está aplicado às entradas e saídas da RAM; a esse respeito, As linhas que interligam as entradas externas {X 1, X 0 } e internas {Q 1, Q 0 } às entradas de endereço da RAM significam que em {A 3, A 2, A 1, A 0 } estão aplicados os valores {Q 1, Q 0, X 1, X 0 }; A linha de saída de Z significa que os valores que Z pode tomar estão memorizados nas células menos significativas dos registos da RAM; e reparando nas ligações entre as saídas da RAM e as entradas do registo, é lícito deduzir que nas duas células imediatamente adjacentes se encontram {D 1, D 0 }; A segunda etapa é compreender o modelo seguido no desenho do circuito; a esse respeito, bastará constatar que a saída Z depende apenas dos estados do circuito: quando {Q 1, Q 0 } são 00, o que corresponde às quatro primeiras linhas, a saída é 1 ; quando são 01, o que corresponde às quatro linhas seguintes, a saída é 0 ; e assim sucessivamente Seguiu-se, pois, o modelo de Moore Estão então reunidas as condições para desenhar o Diagrama de Estados Em primeiro lugar, é mercê reparar que nas entradas de endereço os pares de valores nas colunas {Q 1, Q 0 } podem assumir todas as 4 combinações possíveis o que leva a concluir da existência de quatro estados, codificados por 00, 01, 10 e 11 ; no Diagrama de Estados, corresponderão graficamente a outros tantos círculos que será pacífico nomear respectivamente de S 00, S 01, S 10 e S 11 ; Nas quatro linhas do topo, os valores de {Q 1, Q 0 } são 00, isto é: elas especificam o comportamento do circuito quando ele se encontra no estado S 00 ; para todas essas linhas a saída é Z=1, o que leva a incluir no seio do círculo S 00 a saída 1 ; a primeira linha especifica que, quando {X 1, X 0 } são 00, o estado seguinte é o próprio estado S 00 o que se volve graficamente numa seta de S 00 para S 00, etiquetada por 00 ; a segunda linha especifica que, quando {X 1, X 0 } são 01, o estado seguinte será S 01 o que se volve graficamente numa seta de S 00 para S 01, etiquetada por 01 ; a terceira linha especifica que, quando {X 1, X 0 } são 10, o estado seguinte será S 10 o que se volve graficamente numa seta de S 00 para S 10, etiquetada por 10 ; a quarta linha especifica que, quando {X 1, X 0 } são 11, o estado seguinte será S 11 o que se volve graficamente numa seta de S 00 para S 11, etiquetada por 11 ; Nas quatro linhas seguintes, os valores de {Q 1, Q 0 } são 01, isto é: elas especificam o comportamento do circuito quando ele se encontra no estado S 01 ; para todas essas linhas a saída é Z=0, o que leva a incluir no seio do círculo S 01 a saída 0 ; a quinta linha especifica que, quando {X 1, X 0 } são 00, o estado seguinte é o próprio estado S 01 o que se volve graficamente numa seta de S 01 para S 01, etiquetada por 00 ; a sexta linha especifica que, quando {X 1, X 0 } são 01, o estado seguinte será S 10 o que se volve graficamente numa seta de S 01 para S 10, etiquetada por 01 ; a sétima linha especifica que, quando {X 1, X 0 } são 10, o estado seguinte será S 11 o que se volve graficamente numa seta de S 01 para S 11, etiquetada por 10 ; a oitava linha especifica que, quando {X 1, X 0 } são 11, o estado seguinte será S 00 o que se volve graficamente numa seta de S 01 para S 00, etiquetada por 11 ; Não será difícil ao leitor completar o Diagrama de Estados do circuito Termine-se com um parêntesis: na próxima sessão, serão abordadas as assim designadas ROMs. Permita-se entretanto que se assevere desde já que o seu funcionamento é deveras similar ao das RAMs: funcionalmente, a diferença reside no facto de as ROMs serem dispositivos de memória apenas de leitura ( não se lhes pode escrever nada ), enquanto as RAMs são dispositivos de escrita e leitura: equiparando uma ROM a uma RAM permanentemente em modo de leitura, poder-se-á inferir que os processos de síntese e análise de circuitos com ROMs são quasi indistintos dos processos de síntese e análise de circuitos com RAMs. É isso que legitima intitular este slide/página com Análise de Circuitos com RAM (ou ROM)

96 Sistemas Digitais (Part III) Page 96 of 111

97 Sistemas Digitais (Part III) Page 97 of 111 PLD / 22aº Projecto Esta sessão, que é a última deste itinerário, versa PLDs (Programmable Logic Devices). Será a cereja em cima do bolo: aquele pormenor que faltava para o leitor se abalançar a voos mais altos Como as outras sessões, ir-se-á desenrolar a partir de um Projecto concreto: Pretende-se um circuito combinatório que determine o quadrado de números {0 a 7}. Em ordem a codificar números entre 0 e 7, as entradas do circuito deverão ser três, sejam {X 2, X 1, X 0 }; e porquanto os seus quadrados são números entre 0 e 49, as saídas deverão ser seis, sejam {Z 5, Z 4, Z 3, Z 2, Z 1, Z 0 }. Ao lado, encontram-se as respectivas Tabelas de Verdade. A partir delas, será pacífico desenhar um logigrama que as concretiza usando alguma das estratégias já abordadas, nomeadamente: RAM e descodificador+ors: Estratégia RAM, suportada numa RAM 16 8: Às entradas de endereço {A 2, A 2, A 0 }, ligam-se as entradas do circuito, {X 2, X 1, X 0 }, ficando A 3 =0; Activa-se a entrada Chip-select, forçando nela o nível Low; Nos registos da RAM, inscreve-se os conteúdos das próprias colunas {Z 5, Z 4, Z 3, Z 2, Z 1, Z 0 } das Tabelas; Activa-se o modo Read, forçando o nível High na entrada qualificada 1 EN. Estratégia descodificador+ors, suportada num descodificador 3:8: Às entradas de selecção {2, 1, 0}, ligam-se as entradas do circuito, {X 2, X 1, X 0 }; Introduzem-se 6 ORs; cada um deles diz respeito a uma das saídas {Z 5, Z 4, Z 3, Z 2, Z 1, Z 0 } sendo que às suas entradas se aplicam as saídas do descodificador que geram os mintermos que são pertinentes a essa saída; Estratégia dita ROM: Permita-se uma reorganização do último logigrama obtido a saber: ao invés de um OR de 4-entradas para produzir Z 0 =m 1 +m 3 +m 5 +m 7, recorre-se a quatro ORs de 2-entradas, vidé ao lado: O primeiro recebe 0 e m 1 ; A sua saída é aplicada a um segundo OR, que recebe também m 3 ; A saída deste último OR é aplicada a um terceiro OR, que recebe também m 5 ; Enfim, a saída do terceiro OR é aplicada a um quarto OR, que recebe também m 7. Bem entendido, aplica-se a mesma filosofia às restantes saídas, {Z 5, Z 4, Z 3, Z 2, Z 1 }, do circuito. Designe-se de ROM o logigrama assim obtido porém alertando que adiante se realçará que, considerando os atrasos de propagação a que ele conduz, as ROMs que o mercado de facto oferece não são exactamente assim. É hora de comparar o logigrama ROM com aquele que suporta fisicamente a solução RAM : Em ambas os logigramas há um descodificador: o símbolo gráfico do módulo RAM esconde-o, mas certamente que ele comporta internamente um descodificador 16 8 Designe-se de word-line cada uma das saídas desses dois descodificadores; constata-se que: em cada word-line da RAM estarão dependuradas células de memória com 1 s ou 0 s; em cada word-line do logigrama ROM estão dependurados ORs ou nada; Se as entradas {X 2, X 1, X 0 } forem, por exemplo, 011, na RAM, fica seleccionado um registo contendo : as saídas {Z 3, Z 0 }, e apenas elas, advêm 1 ; no logigrama ROM, fica activa a saída-do-descodificador/word-line 3, e só ela pelo que os ORs que lhes estão ligados, e só eles, irão produzir 1 : as saídas {Z 3, Z 0 }, e apenas elas, advêm 1. Qual será então a percepção da ROM para alguém que desconheça o seu interior (isto é: que olhe para ela como um módulo/caixa-preta de que conhece as entradas e as saídas, e de como estas dependem daquelas)? Posto que, para qualquer combinação das entradas {X 2, X 1, X 0 }, as saídas nas duas soluções RAM e ROM vêm a ser idênticas, ser-lhe-á inevitável julgar a ROM como um dispositivo de memória (das Tabelas das saídas do circuito)! Mas é hora de confrontar as estratégias RAM e ROM quanto a vantagens e desvantagens Os registos da RAM estão qualificados A,2D, significando que é possível escrever na RAM; Já o mesmo se não pode dizer da ROM posto que, nesta, há só um descodificador e ORs, só se pode ler o que ela memoriza o que aliás justifica o nome, ROM (Read Only Memory), atribuído a semelhante estrutura; E se a possibilidade de escrever numa RAM é certamente uma vantagem, a desvantagem é que, a suceder algum Power-off, o seu conteúdo se irá volatilizar Isso não sucede porém numa ROM: a haver power-off, as conexões físicas entre descodificadores e ORs garantem que, quando a alimentação de energia for reposta, o seu conteúdo de memória ficou preservado, ainda lá está! Daí, a importância em conceder-lhe mais algum tempo

98 Sistemas Digitais (Part III) Page 98 of 111

99 Sistemas Digitais (Part III) Page 99 of 111 PLD / ROM (Read Only Memory) A notável propriedade de uma ROM de o seu conteúdo de memória se não evaporar quando falha a alimentação de energia torna-a indicada para um largo leque de aplicações. A este respeito, convirá certamente uma notação que habilite à correcta interpretação do funcionamento de uma dada ROM e de facto existem duas alternativas para o fazer: Descrição funcional de uma ROM mediante uma Tabela de uma forma análoga àquela usada para descrever o conteúdo de uma RAM: À esquerda, dispõem-se as colunas que representam as entradas da ROM, sejam {X 2, X 1, X 0 } e que vêm a interligar-se às entradas de selecção/endereço do descodificador da ROM; são preenchidas com todas as combinações que elas podem assumir, pela ordem costumeira, vidé ao lado; À direita, dispõem-se as colunas representando as saídas da ROM, sejam {Z 5, Z 4, Z 3, Z 2, Z 1, Z 0 }; para cada combinação das entradas, explicitam os valores {0, 1} que as saídas deverão então assumir. Descrição funcional de uma ROM mediante uma Notação gráfica generalizável a outras PLDs: À esquerda, dispõe-se um descodificador, em cujas entradas de selecção/endereço se aplicam as entradas da ROM, sejam {X 2, X 1, X 0 }; À direita, dispõe-se uma rede/matriz, onde: as horizontais representam as word-lines associadas às várias saídas do descodificador; as verticais estão associadas as saídas da ROM, sejam {Z 5, Z 4, Z 3, Z 2, Z 1, Z 0 }; Cada símbolo gráfico denotando um OR no logigrama da ROM advém substituído por uma cruz diagonal na intersecção entre a linha e coluna em que ele ocorre; por exemplo, a coluna Z 0, que no logigrama apresenta ORs nas linhas {1, 3, 5, 7}, surge agora com cruzes nas linhas {1, 3, 5, 7}, e apenas nessas. Ao lado, essa notação gráfica é concretizada para o Problema entre mãos mas ela é facilmente generalizável a ROMs mais complexas: em vez de apenas três entradas e seis saídas, poderá deter um número genérico de K entradas e N saídas; com isso, o total de horizontais será 2 K, e o número total de conexões/cruzes será N 2 K habilitando a produzir qualquer conjunto de N funções de K entradas! Isto aceite, há entretanto que realçar: na Notação gráfica da ROM, as cruzes diagonais não representam necessariamente ORs e solda! Cada cruz diagonal deve ser, isso sim, entendida como o símbolo de um elemento electrónico cuja função é pôr a 1 a vertical que lhe fica por baixo quando a word-line em que se localiza é seleccionada/activada. Isso acaba por ser um convite aos fornecedores de ROMs no sentido de investigarem e disponibilizarem ROMs com a funcionalidade desejada, porém mais económicas e/ou flexíveis Como variantes de ROMs, é mercê apontar: MROM (Mask ROM): é uma ROM que é configurável/programável na fábrica, conforme à especificação reportada pelo Projectista mas uma vez feita não se pode alterar. PROM (Programmable ROM): a ROM é disponibilizada no mercado com cruzes em todas intersecções horitontais verticais; comportam fusíveis que podem ser derretidos pelo Projectista (para tal usando um programador de PROMs), deixando os outros intactos; só se pode configurar uma vez; EPROM (Erasable PROM): idem, mas os fusíveis podem ser re-estabelecidos, pela sua exposição a radiação ultra-violeta; para o efeito, os chips vêm equipados com uma janelinha para a radiação passar; depois disso, podem voltar a ser re-programadas (usando um programador de PROMs), até um certo número máximo de vezes; EEPROM ou E 2 PROM (Electrically EPROM): a ROM pode ser apagada e reconfigurada, uma palavra de cada vez, electricamente, sem ser necessário retirá-la do circuito onde foi implantada; FlashPROM (Flash EEPROM): idem, mas pode reprogramar-se tudo ou somente uma parte/bloco do chip. Ao lado, apresenta-se o símbolo IEC de uma ROM 3 6. O Qualificador Geral é ROM 3 6. Disponibiliza 3 entradas de endereço, {A 2, A 2, A 0 } permitindo seleccionar entre 8 word-lines numeradas {0,, 7}, e 6 saídas 3- state; umas e outras são activas a High. As entradas chip-select e output-enable que é preciso activar para que as saídas apresentem o conteúdo da word-line seleccionada são activas a Low.

100 Sistemas Digitais (Part III) Page 100 of 111

101 Sistemas Digitais (Part III) Page 101 of 111 PLD / 22bº Projecto (Uso de ROM para Circuitos Combinatórios) Se as ROMs serão interessantes para circuitos combinatórios, sê-lo-ão também para circuitos sequenciais: estes precisam, além de flip-flops para guardar o estado actual, de malhas combinatórias para gerar as saídas do circuito e, eventualmente, os valores que excitam as entradas dos flip-flops Um Projecto novo poderá ilustrá-lo Pretende-se um circuito sequencial síncrono quer recebe valores {0 a 3} codificados em binário reflectido, e gera os correspondentes códigos em binário natural. A recepção começa pelo bit mais significativo. Ao lado, encontra-se o Diagrama de Estados seguindo o modelo de Mealy: 1. Considere-se o momento em que se faz o power-on Será pacífico iniciar o circuito a um estado Rdy ; 2. A modos de refresh de memória, apresentam-se ao lado as palavras dos códigos CBR e CBN para os valores {0 a 3}. Confrontando as colunas da esquerda de ambos os códigos, deduz-se que, seja 0 ou 1 o primeiro bit a ser recebido, a saída será exactamente igual a esse bit; Relativamente ao estado que o circuito deverá adquirir após o próximo clock: se esse primeiro bit for 0, o circuito irá transitar para um estado, S 0, que significa que o bit de maior peso é 0 ; mas se for 1, o circuito irá ingressar em S 1, que significa que o bit de maior peso é 1 ; 3. Comparando agora as colunas mais à direita dos dois códigos, se o circuito se encontrar no estado S 0, as duas primeiras linhas estabelecem que, qualquer que seja o segundo bit a ser recebido, a saída será exactamente igual a esse bit; se o circuito se encontrar no estado S 1, as duas últimas linhas estabelecem que, qualquer que seja o segundo bit a ser recebido, a saída será exactamente o complemento desse bit; 4. Em qualquer caso, o circuito retornará a Rdy Completado o Diagrama cuja síntese pelo método clássico remete para dois flip-flops, sejam {Q 1, Q 0 }, e decidida a codificação de estados que se indica, serão pacíficas as Tabelas de Transições e Saída, {Q 1, Q 0 } e Z. Resta agora desenhar um logigrama que concretize tal circuito; para o efeito, Usar-se-á, para memorizar o estado actual, um vulgar registo com 4 flip-flops D dos quais se aproveitarão tão-somente os dois primeiros/de-cima, {Q 1, Q 0 }; Usar-se-á para concretizar as malhas combinatórias, e admitindo que o mercado a disponibiliza, uma ROM 3 3 (há que contemplar uma entrada externa, X, e duas entradas internas, {Q 1, Q 0 }, que em conjunto se volvem em 8 combinações possíveis; e há que produzir 3 saídas). Optando por aplicar X à entrada de endereço de menor peso, e {Q 1, Q 0 } às duas de maior peso, o passo seguinte é ligar {Q 1, Q 0, X} às entradas de endereço {A 2, A 1, A 0 } da ROM; Essa ROM deverá produzir a saída Z, e bem assim os valores que excitam as entradas {D 1, D 0 } do registo. Ora, dada a qualificação 1D dos flip-flops do registo, a subsequente Tabela de Excitação do circuito acaba por ser uma duplicação da Tabela de Estados, {Q 1(t+1) =D 1(t), Q 0(t+1) ) =D 0(t) }. Optando por dedicar a saída menos significativa a Z, e as duas mais significativas a {D 1, D 0 }, Na Tabela da ROM, a coluna Z será aquela mais à direita, e as colunas {D 1, D 0 } serão as duas à esquerda; Na notação gráfica da ROM, serão desenhadas cruzes diagonais reflectindo pari passu essa Tabela: Constata-se que o conteúdo da linha endereçada por é {D 1 =0, D 0 =1, Z=0}, isto é, contém um único 1, precisamente na coluna D 0 ; então a word-line associada à saída numerada 0 terá uma única cruz diagonal precisamente na coluna D 0 ; Já o conteúdo da linha endereçada por é {D 1 =1, D 0 =0, Z=1}, isto é, contém dois 1 s, no caso nas colunas D 1 e Z ; então a word-line associada à saída numerada 1 terá duas cruzes nas colunas D 1 e Z ; E assim sucessivamente O passo seguinte é ligar as saídas mais significativas da ROM às duas primeiras entradas do registo, {D 1, D 0 }; (Deixa-se ao leitor o desenho de um circuito sequencial síncrono que faça o inverso deste acima, isto é: recebe valores {0 a 3} codificados em binário natural, e gera os correspondentes códigos em binário reflectido ) Um breve olhar ao logigrama obtido será suficiente para gerar algum comichão: de um lado, não se ligou peva às indiferenças ( X s) no sentido de lograr um logigrama mais simples; por outro lado, e conquanto o descodificador comporte um total de 8 ANDs, somente se aproveitaram de facto 4 word-lines: que desperdício de ANDs! É hora de tentar ultrapassar estes senões

102 Sistemas Digitais (Part III) Page 102 of 111

103 Sistemas Digitais (Part III) Page 103 of 111 PLD / 22cº Projecto (Uso de PALs para Circuitos Combinatórios) A filosofia que subjaz a uma ROM é nítida: Uma ROM estrutura-se em dois planos: Um de ANDs, fixo no sentido de que, pressuposto que as variáveis de entrada são 3 (por exemplo), qualquer que seja o conjunto de funções dessas variáveis a concretizar, a ROM detém um descodificador com 8 ANDs; Um de ORs, variável no sentido de que, no cruzamento de cada word-line com cada vertical, se insere, ou não, uma cruz diagonal, isso dependendo da funcionalidade pretendida para o output dessa vertical. E natural será investigar um procedimento contrário: estruturar uma malha combinatória justapondo um plano fixo de ORs a um plano variável de ANDs? Quiçá um Projecto novo possa ser o palco destoutra filosofia Pretende-se um circuito combinatório que recebe 3-bits do código binário reflectido, e gera os correspondentes 3-bits do código binário natural. A modos de refresh de memória, apresentam-se ao lado as palavras de 3-bits dos códigos CBR e CBN. Delas se poderão compor os Mapas de Karnaugh das saídas do circuito, {Z 2, Z 1, Z 0 }, em função das entradas, {X 2, X 1, X 0 } e, de imediato, deduzir as correspondentes expressões algébricas simplificadas, vidé ao lado. Analisando o resultado obtido: pretende-se um circuito combinatório com 3 entradas e 3 saídas, sendo que: a expressão algébrica mais longa (que é a de Z 0 ) necessita apenas de 4 termos de produto; o termo de produto mais longo (no conjunto de todas as expressões algébricas) usa 3 literais. Isso convida a percorrer os catálogos de chips, à procura de uma assim designada PAL (Programmable Array Logic), com precisamente 3 entradas e 3 saídas, assim estruturada: cada saída é funcionalmente equivalente a um OR de 4 entradas e esta configuração/plano é fixa; cada uma dessas entradas é funcionalmente equivalente a um AND de até 3 entradas numa configuração que é variável (depende do Projecto em causa): em cada entrada dos ANDs, poder-se-á aplicar uma entrada do circuito, ou o seu complemento; para o efeito, a PAL usa inversores para lograr o complemento de cada uma das entradas do circuito. Considerem-se então as expressões algébricas logradas para {Z 2, Z 1, Z 0 }: Como de costume, dedica-se a saída mais à direita a Z 0, e a entrada mais à direita a X 0 ; A expressão algébrica de Z 0 acaba por se volver na sua 1ª Forma Canónica: uma soma de 4 mintermos (cada um sendo o produto das variáveis de entrada, na forma normal ou complementar); graficamente, isso traduz-se em que os ANDs acoplados à vertical Z 0 (os 4 ANDs do topo) irão concretizar esses mintermos, um a um: o primeiro AND, representando X X X, terá como entradas X, X e X ; graficamente, isso denota-se traçando cruzes nas intersecções da horizontal que desemboca nesse AND com as verticais associadas precisamente a X, 2 X e 1 X ; 0 por um raciocínio análogo, e a propósito do segundo AND, representando cruzes nas intersecções da horizontal que desemboca nesse AND com as verticais associadas a X 2 X 1 X 0, dever-se-ão traçar X, X1 e 2 e assim sucessivamente Alguns ANDs não representarão necessariamente mintermos (como é o caso daqueles acoplados às verticais {Z 2, Z 1 }) pelo que as linhas horizontais que neles desembocam não exibirão três cruzes diagonais; aliás, poderão até não exibir nenhuma, significando que esse AND é como que inexistente Generalizando a estrutura PAL, a K entradas e N saídas, cada uma gerada por um OR de M ANDs, deduz-se: ela poderá produzir quaisquer conjuntos de N funções de K entradas, desde que cada uma das respectivas SOPs não exija mais do que M termos de produto. O número total de conexões a configurar é de (2 K) M N. À data de escrita deste parágrafo, havia PALs para todos os gostos e paladares : face a um Projecto concreto, e logradas as expressões algébricas das saídas do circuito, cabe ao Projectista discernir a que lhe dá mais jeito Ou porventura pesquisar outro tipo de PLD: de uma pate, se um mesmo termo de produto fizer parte das expressões algébricas de duas saídas, é necessário duplicá-lo, e de outra parte não escapará ao leitor que, do total de 12 ANDs que a PAL ao lado disponibiliza, somente se aproveitaram sete: que desperdício de ANDs X ; 0

104 Sistemas Digitais (Part III) Page 104 of 111

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto

Circuitos Seqüenciais: Latches e Flip-Flops. Fabrício Noveletto Circuitos Seqüenciais: Latches e Flip-Flops Fabrício Noveletto Objetivos Usar portas lógicas para construir latches básicos Explicar a diferença entre um latch S-R e um latch D Reconhecer a diferença entre

Leia mais

Projeto de Máquinas de Estado

Projeto de Máquinas de Estado Projeto de Máquinas de Estado Organizado por Rodrigo Hausen. Original de Thomas L. Floyd. Versão 0: 15 de março de 2013 http://compscinet.org/circuitos Resumo Grande parte deste texto, exemplos e estrutura

Leia mais

Exame (2ª chamada) Sistemas Digitais I LESI 2º ano ❶ Ano 2001/02 21/Jun/2002 Univ. Minho

Exame (2ª chamada) Sistemas Digitais I LESI 2º ano ❶ Ano 2001/02 21/Jun/2002 Univ. Minho [ ] + [ ] + [ ] + [ ] = [Téor ] T: + P: = Exame (2ª chamada) Sistemas Digitais I LESI 2º ano ❶ Ano 2001/02 21/Jun/2002 Univ. Minho Nome: Nº: As questões devem ser respondidas nas folhas de enunciado. As

Leia mais

Circuitos Digitais Cap. 6

Circuitos Digitais Cap. 6 Circuitos Digitais Cap. 6 Prof. José Maria P. de Menezes Jr. Objetivos Flip-Flops e Dispositivos Correlatos Latch com portas NAND Latch com portas NOR Sinais de Clock e Flip-Flops com Clock Flip-Flop S-C

Leia mais

Sistemas Digitais Contadores. João Paulo Carvalho

Sistemas Digitais Contadores. João Paulo Carvalho Sistemas Digitais Contadores João Paulo Carvalho Contadores Assíncronos Um contador binário de 3 bits é um circuito que evolui controladamente ao longo da seguinte sequência (de contagem): Sequência de

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 6-T 2. Máquinas Sequencias Síncronas: Comparação entre

Leia mais

0111100 + 0011111 1011011

0111100 + 0011111 1011011 ESOL SUPERIOR DE TENOLOGI E DE GESTÃO - INSTITUTO POLITÉNIO DE RGNÇ 200 07 4. a. gama de variação de um número em complemento para 2 é: -2 - n 2 -, em que é o número de bits do número representado. ssim

Leia mais

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.

Leia mais

Capítulo VIII Registradores de Deslocamento e Contadores

Capítulo VIII Registradores de Deslocamento e Contadores Capítulo VIII Registradores de Deslocamento e Contadores 1 Introdução Vimos no capítulo anterior que flip-flops são dispositivos capazes de memorizar o seu estado (SET ou RESET). Neste capítulo estudaremos

Leia mais

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS

CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS 92 CAPÍTULO 6 CIRCUITOS SEQUENCIAIS IV: PROJETO DE REDES SEQUENCIAIS Sumário 6.. Introdução... 94 6... Máquina de Estados de Moore... 94 6..2. Máquina de Estados de Mealy... 95 6.2. Projeto de Redes Sequenciais...

Leia mais

SISTEMAS DIGITAIS CIRCUITOS SEQUENCIAIS BÁSICOS

SISTEMAS DIGITAIS CIRCUITOS SEQUENCIAIS BÁSICOS CICUITO EUENCIAI BÁICO CICUITO EUENCIAI BÁICO - 2 UMÁIO: ELEMENTO BÁICO DE MEMÓIA LATCHE LATCH LATCH INCONIZADO LATCH D FLIP-FLOP FLIP-FLOP MATE-LAVE FLIP-FLOP JK FLIP-FLOP EDGE-TIGGEED IMBOLOGIA CAACTEIZAÇÃO

Leia mais

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

Prof V Vargas, IST Contadores 26/11/13, Pg 1/18

Prof V Vargas, IST Contadores 26/11/13, Pg 1/18 Prof V Vargas, IST Contadores 26/11/13, Pg 1/18 Prof V Vargas, IST Contadores 26/11/13, Pg 2/18 Contadores / 18aº Projecto (solução assíncrona) Recorde-se o itinerário a propósito de circuitos combinatórios:

Leia mais

5 Circuitos Equivalentes

5 Circuitos Equivalentes 5 Circuitos Equivalentes 5.1 Circuitos Equivalentes Nos capítulos anteriores já se apresentaram diversos exemplos de circuitos equivalentes, por exemplo, resistências em série e em paralelo ou a chamada

Leia mais

Importação de Dados no Sphinx

Importação de Dados no Sphinx Importação de Dados no Sphinx A importação de dados refere-se à transferência de dados coletados em outro ambiente para dentro do software Sphinx. No software, encontre a opção Importar dados no estágio

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Aula 09. Memórias e Circuitos Digitais Seqüenciais

Aula 09. Memórias e Circuitos Digitais Seqüenciais Aula 09 Memórias e Circuitos Digitais Seqüenciais Introdução Os circuitos lógicos estudados até aqui são chamados de combinacionais (ou combinatórios). São assim chamados porque a sua saída depende apenas

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

ARQUITETURA DE COMPUTADORES - CONCEITUAL

ARQUITETURA DE COMPUTADORES - CONCEITUAL Aula 01 04/08/2008 Universidade do Contestado UnC Sistemas de Informação Arquitetura de Computadores 2ª Fase Prof. Carlos Guerber ARQUITETURA DE COMPUTADORES - CONCEITUAL O QUE É O COMPUTADOR? Um computador

Leia mais

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental a e 6 a séries (6º e 7º anos) do Ensino Fundamental 1. (alternativa C) Os números 0,01 e 0,119 são menores que 0,12. Por outro lado, 0,1 e 0,7 são maiores que 0,. Finalmente, 0,29 é maior que 0,12 e menor

Leia mais

Falso: F = Low voltage: L = 0

Falso: F = Low voltage: L = 0 Curso Técnico em Eletrotécnica Disciplina: Automação Predial e Industrial Professor: Ronimack Trajano 1 PORTAS LOGICAS 1.1 INTRODUÇÃO Em 1854, George Boole introduziu o formalismo que até hoje se usa para

Leia mais

Índice. Modelos e Procedimentos

Índice. Modelos e Procedimentos Sumário Introdução ao projecto de lógica sequencial. Índice Modelos e Procedimentos Abstracção de elementos com estado Formas de lógica sequencial Representação de Máquinas de Estados Finitas Parte da

Leia mais

CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Rio de Janeiro, 13 de novembro de 2008.

CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Rio de Janeiro, 13 de novembro de 2008. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Rio de Janeiro, 13 de novembro de 2008. 4 a LISTA DE EXERCÍCIOS DE ELETRÔNICA DIGITAL Prof. Alessandro Jacoud Peixoto 1. Suponha

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

SISTEMA DE CLIMATIZAÇÃO

SISTEMA DE CLIMATIZAÇÃO AUTOMAÇÃO SEGURANÇA SOM SISTEMA DE CLIMATIZAÇÃO MANUAL DO UTILIZADOR www.only-pt.pt INTRODUÇÃO... 4 EQUIPAMENTOS... 4 CONTROLOS E INDICAÇÕES... 5 CONFIGURAÇÃO ATRAVÉS DO OTC-CLIMA... 6 1. Ajuste de data

Leia mais

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA

AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA CAPÍTULO 1 AS LEIS DE NEWTON PROFESSOR ANDERSON VIEIRA Talvez o conceito físico mais intuitivo que carregamos conosco, seja a noção do que é uma força. Muito embora, formalmente, seja algo bastante complicado

Leia mais

a 1 x 1 +... + a n x n = b,

a 1 x 1 +... + a n x n = b, Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição

Leia mais

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 3 Latches e Flip-Flops

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 3 Latches e Flip-Flops SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 3 Latches e Flip-Flops 1. Introdução Este trabalho foi concebido para que os alunos se familiarizem com o uso de latches e flip-flop. Inicia-se

Leia mais

AV2 - MA 12-2012. (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

AV2 - MA 12-2012. (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos? Questão 1. Num porta-cds, cabem 10 CDs colocados um sobre o outro, formando uma pilha vertical. Tenho 3 CDs de MPB, 5 de rock e 2 de música clássica. (a) De quantos modos diferentes posso empilhá-los de

Leia mais

Conceitos básicos do

Conceitos básicos do Conceitos básicos Conceitos básicos do Este artigo descreve os conceitos de memória eletrônica. Apresentar os conceitos básicos dos flip-flops tipo RS, JK, D e T, D Apresentar o conceito da análise de

Leia mais

Tecnologia dos Computadores 2002/2003 Trabalho Prático n o 7. Projectos Sequenciais SSI. Contadores Ripple

Tecnologia dos Computadores 2002/2003 Trabalho Prático n o 7. Projectos Sequenciais SSI. Contadores Ripple Trabalho Prático n o 7 Projectos Sequenciais SSI Contadores Ripple 1 Introdução Este trabalho tem como objectivo: introduzir a prática de projectos sequenciais SSI; introduzir os princípios de projecto

Leia mais

Autómatos Finitos Determinísticos

Autómatos Finitos Determinísticos Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades

Leia mais

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto Material Teórico - Módulo de Divisibilidade MDC e MMC - Parte 1 Sexto Ano Prof. Angelo Papa Neto 1 Máximo divisor comum Nesta aula, definiremos e estudaremos métodos para calcular o máximo divisor comum

Leia mais

Cotagens especiais. Você já aprendeu a interpretar cotas básicas

Cotagens especiais. Você já aprendeu a interpretar cotas básicas A UU L AL A Cotagens especiais Você já aprendeu a interpretar cotas básicas e cotas de alguns tipos de elementos em desenhos técnicos de modelos variados. Mas, há alguns casos especiais de cotagem que

Leia mais

Funções Lógicas e Portas Lógicas

Funções Lógicas e Portas Lógicas Funções Lógicas e Portas Lógicas Nesta apresentação será fornecida uma introdução ao sistema matemático de análise de circuitos lógicos, conhecido como Álgebra de oole Serão vistos os blocos básicos e

Leia mais

Aula 8 Circuitos Integrados

Aula 8 Circuitos Integrados INTRODUÇÃO À ENGENHRI DE COMPUTÇÃO PONTIFÍCI UNIVERSIDDE CTÓLIC DO RIO GRNDE DO SUL FCULDDE DE ENGENHRI ula Circuitos Integrados Introdução Portas Lógicas em Circuitos Integrados Implementação de Funções

Leia mais

O DESPACHANTE, O AJUDANTE E A RFB. Domingos de Torre 13.11.2014

O DESPACHANTE, O AJUDANTE E A RFB. Domingos de Torre 13.11.2014 O DESPACHANTE, O AJUDANTE E A RFB. Domingos de Torre 13.11.2014 O artigo 5º, 3º do Decreto-lei nº 2.472/1988 dispõe que Para execução das atividades de que trata este artigo, o Poder Executivo disporá

Leia mais

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara

Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Flip-Flops (Aplicações) Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pulsos Digitais Pulso positivo: executa sua função quando está em nível alto Pulso negativo: executa sua função quando

Leia mais

INSCRIÇÃO ON- LINE REVEZAMENTOS A PARTIR DE 2015 INDICADO PARA TÉCNICOS

INSCRIÇÃO ON- LINE REVEZAMENTOS A PARTIR DE 2015 INDICADO PARA TÉCNICOS INSCRIÇÃO ON- LINE REVEZAMENTOS A PARTIR DE 2015 INDICADO PARA TÉCNICOS 2015 ABMN Escrito por Julian Romero jromero@abmn.org.br Revisão: 8 March 2015 CARACTERÍSTICAS DO SISTEMA O ACESSO É ATRAVÉS DE LOGIN

Leia mais

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Colegiado de Engenharia da Computação CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Índice Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Como efectuar uma operação de confirmação de estimativas? Como aceder ao Serviço de Certificação

Leia mais

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil.

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil. Encontro de Ensino, Pesquisa e Extensão, Presidente Prudente, 22 a 25 de outubro, 2012 36 INTRODUÇÃO A CRIPTOGRAFIA RSA Rafael Lima Oliveira¹, Prof. Dr. Fernando Pereira de Souza². ¹CPTL/UFMS, Três Lagoas,

Leia mais

Cálculo utilizando variáveis do tipo DATA

Cálculo utilizando variáveis do tipo DATA Cálculo utilizando variáveis do tipo DATA Pré requisitos: Elaboração de questionário Análise de resultados Visões: relatórios multimídia Publicação de questionário na internet O uso de variáveis do tipo

Leia mais

Funções básicas Cronograma Cronograma Funções Básicas

Funções básicas Cronograma Cronograma Funções Básicas Funções Básicas Fevereiro 2015 - 1) Selecionar o menu Portfólio > Projetos, clique para janela projetos abrir. 2) Selecione botão incluir para abrir um projeto. Preencha os campos obrigatórios nos Dados

Leia mais

Conceitos Fundamentais

Conceitos Fundamentais Capítulo 1 Conceitos Fundamentais Objetivos: No final do Capítulo o aluno deve saber: 1. distinguir o uso de vetores na Física e na Matemática; 2. resolver sistema lineares pelo método de Gauss-Jordan;

Leia mais

AplusixEditor: o editor para Aplusix 3 Manual de utilização

AplusixEditor: o editor para Aplusix 3 Manual de utilização AplusixEditor: o editor para Aplusix 3 Manual de utilização Novembro 2010 Documento redigido com epsilonwriter Tradução em português por Marilena Bittar 1. Introdução 1.1. Osexercícios 1.2. Os problemas

Leia mais

PARALELO DE TRANSFORMADORES TRIFÁSICOS

PARALELO DE TRANSFORMADORES TRIFÁSICOS PARALELO DE TRANSFORMADORES TRIFÁSICOS Quando temos por exemplo um transformador ligado a um barramento que alimenta um receptor de 50 KVA, se este receptor aumentar a procura de potência para 100KVA,

Leia mais

SISTEMA CLÁSSICO DE REDUÇÃO

SISTEMA CLÁSSICO DE REDUÇÃO Page 1 of 6 SISTEMA CLÁSSICO DE REDUÇÃO Este documento irá ensinar-lhe como pode fazer um desdobramento reduzido, segundo o processo clássico (italiano) para qualquer sistema 5/50, em particular para o

Leia mais

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina do Correio Para saber mais sobre Correio electrónico 1. Dicas para melhor gerir e organizar o Correio Electrónico utilizando o Outlook Express Criar Pastas Escrever

Leia mais

Unidade 3: Personalizando o Excel *

Unidade 3: Personalizando o Excel * Unidade 3: Personalizando o Excel * material do 2010* 3.0 Introdução Visto que você está fazendo este curso, você provavelmente passa ou espera passar muito tempo trabalhando com o Excel. Assim, você precisa

Leia mais

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2014/2015 Enunciado Geral do Projecto O que se segue é uma descrição geral do domínio do projecto a desenvolver

Leia mais

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª

Leia mais

Hoje estou elétrico!

Hoje estou elétrico! A U A UL LA Hoje estou elétrico! Ernesto, observado por Roberto, tinha acabado de construir um vetor com um pedaço de papel, um fio de meia, um canudo e um pedacinho de folha de alumínio. Enquanto testava

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CEB José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 29/21 Módulo 1: Sistemas de Numeração

Leia mais

POC 13 - NORMAS DE CONSOLIDAÇÃO DE CONTAS

POC 13 - NORMAS DE CONSOLIDAÇÃO DE CONTAS POC 13 - NORMAS DE CONSOLIDAÇÃO DE CONTAS 13.1 - Aspectos preliminares As demonstrações financeiras consolidadas constituem um complemento e não um substituto das demonstrações financeiras individuais

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Construção de tabelas verdades

Construção de tabelas verdades Construção de tabelas verdades Compreender a Lógica como instrumento da ciência e como estrutura formal do pensamento, conhecendo e compreendendo as operações com os principais conceitos proposicionais

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

5 Equacionando os problemas

5 Equacionando os problemas A UA UL LA Equacionando os problemas Introdução Nossa aula começará com um quebra- cabeça de mesa de bar - para você tentar resolver agora. Observe esta figura feita com palitos de fósforo. Mova de lugar

Leia mais

SMS Corporativo Manual do Usuário

SMS Corporativo Manual do Usuário NEXTEL SMS Corporativo Manual do Usuário Conteúdo 2 CAPÍTU LO 1 Introdução 3 CAPÍTU LO 2 Funcionalidades 1 Copyright Curupira S/A TakeNET INTRODUÇÃO A FERRAMENTA O SMS Corporativo é um serviço criado para

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

Usando o Excel ESTATÍSTICA. Funções

Usando o Excel ESTATÍSTICA. Funções Funções Podemos usar no Excel fórmulas ou funções. Anteriormente já vimos algumas fórmulas. Vamos agora ver o exemplo de algumas funções que podem ser úteis para o trabalho de Excel. Para começar podemos

Leia mais

Associação de resistores

Associação de resistores Associação de resistores É comum nos circuitos elétricos a existência de vários resistores, que encontram-se associados. Os objetivos de uma associação de resistores podem ser: a necessidade de dividir

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

Leia mais

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade Lógica Computacional Argumentos válidos e sólidos Métodos de Demonstração Demonstrações formais Regras de Inferência Igualdade Não-consequências lógicas 6 Março 2013 Lógica Computacional 1 Argumentos Exemplo:

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução

Leia mais

Cotagem de dimensões básicas

Cotagem de dimensões básicas Cotagem de dimensões básicas Introdução Observe as vistas ortográficas a seguir. Com toda certeza, você já sabe interpretar as formas da peça representada neste desenho. E, você já deve ser capaz de imaginar

Leia mais

18. Convenção sobre o Reconhecimento dos Divórcios e das Separações de Pessoas

18. Convenção sobre o Reconhecimento dos Divórcios e das Separações de Pessoas 18. Convenção sobre o Reconhecimento dos Divórcios e das Separações de Pessoas Os Estados signatários da presente Convenção, Desejando facilitar o reconhecimento de divórcios e separações de pessoas obtidos

Leia mais

Inventário Rotativo. Página 1

Inventário Rotativo. Página 1 Inventário Rotativo Página 1 Página 2 Antes de iniciar qualquer inventário certifique-se de que não há nenhum dos produtos a serem inventariados pendente de entrada, lançamento para requisições entre outros.

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS 1 PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS INTRODUÇÃO O processamento interno do CLP é digital e pode-se, assim, aplicar os conceitos de lógica digital para compreen8 der as técnicas e as linguagens

Leia mais

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento.

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento. Sessão nº 2 Iniciar um novo documento Objectivos: No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento. Iniciar um novo documento Ao iniciar-se o Word, este apresenta

Leia mais

UML (Unified Modelling Language) Diagrama de Classes

UML (Unified Modelling Language) Diagrama de Classes UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3

Leia mais

Ferramenta de Testagem IECL Orientações para o Aluno (PT)

Ferramenta de Testagem IECL Orientações para o Aluno (PT) Ferramenta de Testagem IECL Orientações para o Aluno (PT) Índice 1 INTRODUÇÃO 3 2 REALIZAÇÃO DOS TESTES 3 2.1 Login 3 2.2 Verificação do áudio para o teste de Audição 5 2.3 Realização de um teste 5 3 Informação

Leia mais

4/5/2009 CONTROLSOFT CONTROLGAS CONTROLE DE VALE GÁS. Manual de Operação www.controlgas.com.br

4/5/2009 CONTROLSOFT CONTROLGAS CONTROLE DE VALE GÁS. Manual de Operação www.controlgas.com.br 4/5/2009 CONTROLSOFT CONTROLGAS CONTROLE DE VALE GÁS Manual de Operação www.controlgas.com.br Sumário Impressão do Vale Gás... 3 Cadastro do Vale Gás... 4 Venda do Vale Gás para os Pontos de Revenda...

Leia mais

PERGUNTAS FREQUENTES NOVO REGIME DE TRIBUTAÇÃO DE IMPOSTO DE RENDA:

PERGUNTAS FREQUENTES NOVO REGIME DE TRIBUTAÇÃO DE IMPOSTO DE RENDA: PERGUNTAS FREQUENTES NOVO REGIME DE TRIBUTAÇÃO DE IMPOSTO DE RENDA: Vejam quais são as principais questões que envolvem o Novo Regime de Tributação e esclareçam suas dúvidas. 1) Como era o tratamento tributário

Leia mais

Você pode dizer isso de novo! Compressão de Texto

Você pode dizer isso de novo! Compressão de Texto Atividade 3 Você pode dizer isso de novo! Compressão de Texto Sumário Desde que os computadores possuíam apenas uma quantidade limitada de espaço para armazenar informações, estes precisavam armazená-las

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES

INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES INSTITUTO DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SERGIPE COORDENADORIA DE ELETRÔNICA CONTADORES Relatório técnico apresentado como requisito parcial para obtenção de aprovação na disciplina de Sistemas Digitais.

Leia mais

Novo Formato de Logins Manual de Consulta

Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Histórico de Alterações Versão Descrição Autor Data 1.0 Versão inicial DSI/PPQ 2014-07-11 Controlo do documento

Leia mais

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Índice Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Como efectuar uma operação de confirmação de estimativas? Como aceder ao Serviço de Certificação

Leia mais

2. ENTRADA DE DADOS 2.1. TEXTOS

2. ENTRADA DE DADOS 2.1. TEXTOS 2. ENTRADA DE DADOS Os dados digitados em uma célula são divididos em duas categorias principais: constantes ou fórmulas. Um valor constante é um dado digitado diretamente na célula e que não é alterado.

Leia mais

QUESTÃO 1 ALTERNATIVA B

QUESTÃO 1 ALTERNATIVA B 1 QUESTÃO 1 Marcos tem 10 0,25 = 2,50 reais em moedas de 25 centavos. Logo ele tem 4,30 2,50 = 1,80 reais em moedas de 10 centavos, ou seja, ele tem 1,80 0,10 = 18 moedas de 10 centavos. Outra maneira

Leia mais

(a 1 + a 100 ) + (a 2 + a 99 ) + (a 3 + a 98 ) +... + (a 50 + a 51 ).

(a 1 + a 100 ) + (a 2 + a 99 ) + (a 3 + a 98 ) +... + (a 50 + a 51 ). Questão 1. A sequência 0, 3, 7, 10, 14, 17, 21,... é formada a partir do número 0 somando-se alternadamente 3 ou 4 ao termo anterior, isto é: o primeiro termo é 0, o segundo é 3 a mais que o primeiro,

Leia mais

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = = Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas PROCESSADORES DE 64 BITS X PROCESSADORES DE 32 BITS José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para

Leia mais

Regulamento Cursos de Pós Graduação

Regulamento Cursos de Pós Graduação A Associação Amigos da Grande Idade (AAGI) é uma entidade de direito privado, sem fim lucrativos, tendo por isso capacidade para desenvolver em colaboração com o Instituto Superior de Línguas e Administração

Leia mais

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é:

Parece claro que há uma, e uma só, conclusão a tirar destas proposições. Esa conclusão é: Argumentos Dedutivos e Indutivos Paulo Andrade Ruas Introdução Em geral, quando se quer explicar que géneros de argumentos existem, começa-se por distinguir os argumentos dedutivos dos não dedutivos. A

Leia mais