810 likes | 1.11k Vues
Circuitos seqüenciais síncronos. Organização: Conceitos básicos e métodos de representação Síntese de circuitos seqüenciais síncronos Projecto com blocos SSI / MSI Análise de circuitos seqüenciais síncronos Projeto e teste. Seqüenciais x combinatórios.
E N D
Circuitos seqüenciais síncronos • Organização: • Conceitos básicos e métodos de representação • Síntese de circuitos seqüenciais síncronos • Projecto com blocos SSI / MSI • Análise de circuitos seqüenciais síncronos • Projeto e teste
Seqüenciais x combinatórios • Ao contrário dos circuitos combinatórios, onde as saídas dependem apenas do valor das entradas no instante considerado, nos circuitos seqüenciais as saídas dependem também do valor que as entradas tiveram em instantes anteriores • Podemos portanto afirmar que os circuitos seqüenciais possuem memória, onde armazenam uma informação interna de estado
Circuitos seqüenciais síncronos • Os circuitos seqüenciais dividem-se essencialmente em duas grandes classes: • Os circuitos seqüenciais síncronos, cujo funcionamento é cadenciado por um sinal periódico de relógio e que são aqueles que diretamente nos interessam • Os circuitos seqüenciais assíncronos, que pela definição anterior ficam associados aos circuitos nos quais a transição de estado não é cadenciada por um sinal de relógio, ou onde o sinal de relógio não é periódico
Composição de um circuito seqüencial • A necessidade de armazenar a informação de estado faz com que os circuitos seqüenciais síncronos disponham de elementos de memória internos (FF) • Para além dos FF, existem dois blocos combinatórios principais, que têm por entradas a informação do estado atual e do valor das entradas exteriores: • O bloco que determina qual o estado seguinte • O bloco que determina o valor das saídas exteriores
Modelo de Huffman Bloco que determina as saídas exteriores: Bloco que determina o estado seguinte: Z Z X X Circuito combinatório Circuito combinatório D1 D1 Q1 Q1 Estado actual Estado actual Estado seguinte Estado seguinte D0 D0 Q0 Q0 CLK CLK
Formas básicas de representação • Consideraremos as seguintes alternativas principais para a representação de circuitos seqüenciais: • Diagrama de transição de estados • Tabela de transição de estados • Tabela de verdade • Diagrama lógico (já conhecida) • O sinal de relógio só está explicitamente representado no diagrama lógico
Diagrama de transição de estados • Os estados são indicados por círculos e definidos por combinações de valores lógicos presentes nas variáveis de estado (os FF que constituem a memória do circuito) • O estado seguinte e o valor das saídas são definidos pelo estado atual e pelo valor das entradas, quando ocorre uma transição ativa no sinal de relógio
Interpretação do diagrama • Quando o circuito se encontra no estado A, sendo a entrada exterior (X) 0, a próxima transição ativa no sinal de relógio provocará a passagem para o estado A (mantém-se o estado atual); se, no entanto, a entrada exterior for 1, o circuito passará para o estado B
O conceito de entrada do circuito seqüencial • Exemplo para a seqüência 101: A - B - C - D (valor da saída no fim?) • Convém ainda assinalar que: • Assumimos que o primeiro bit a ser lido é o que está representado à esquerda (por convenção) • O estado da entrada entre dois impulsos de relógio é irrelevante, porque o que conta é o seu valor no momento em que ocorre a transição activa neste sinal
Formas de onda nas entradas • Uma vez que o que é importante é o valor da entrada no momento em que ocorre a transição ativa no sinal de relógio, as seguintes formas de onda na entrada X serão ou não equivalentes?
Tabela de transição de estados • Esta tabela contém exactamente a mesma informação que o diagrama de transição de estados, mas agora na forma tabular
Tabela de verdade • A tabela de verdade contém uma descrição mais pormenorizada do circuito, uma vez que a alocação de estados já foi realizada • Qual foi a alocação de estados que conduziu à tabela de verdade à direita, para o nosso exemplo?
Interpretação da tabela de verdade • Usa-se a designação S para indicar o valor actual das variáveis de estado (state) e NS para representar o seu valor seguinte (next state) • No caso da primeira linha da tabela, teremos que se o circuito se encontrar no estado A (S1,S0=00) e a entrada exterior for X=0, então a próxima transição activa no sinal de relógio manterá o circuito no estado A (NS1,NS0=00) e a saída continuará em Z=0
A implementação das variáveis de estado • As variáveis de estado são normalmente implementadas por recurso a circuitos biestáveis, a que se dá a designação habitual de flip-flops (FF) • Existem três tipos principais de FF: • FF do tipo D (os que usaremos com maior freqüência) • FF do tipo J-K • FF do tipo T
Os FF do tipo D • Num FF do tipo D, a saída assume o valor da entrada por cada transição ativa no sinal de relógio • Num FF deste tipo, o estado atual (S) corresponde às saídas Q e o estado seguinte (NS) às entradas D
Os FF do tipo J-K • Nos FF J-K, o valor da saída é definido pelo valor presente nas duas entradas (J e K), quando ocorre a transição activa no sinal de relógio (qual a correspondência que existe neste caso entre S, NS, J, K e Q?)
Os FF do tipo T • Nos FF do tipo T (toggle), a saída é complementada por cada transição activa no sinal de relógio (e para este caso, qual a correspondência entre S, NS, T e Q?)
Utilização dos FF D • No circuito considerado, o uso de FF D para as variáveis de estado levaria a uma solução como a seguinte:
Máquinas de Moore e máquinas de Mealy • Nas máquinas de estado (circuitos seqüenciais com um número finito de estados) do tipo Moore, as saídas dependem apenas do estado atual do circuito • Nas máquinas de Mealy as saídas dependem do estado actual e do valor das entradas • O exemplo que temos vindo a considerar corresponde a ...?
Distinção entre máquinas de Moore e de Mealy • A representação apresentada abaixo corresponde a uma máquina de Moore ou de Mealy?
Exemplo 1: Um detector de janela • Apresente o diagrama de transição de estados para um circuito com uma entrada, à qual chegam continuamente (em forma série) palavras de 3 bits, e com uma saída, que deverá ser colocada em 1 sempre que a palavra lida pertença ao intervalo [2,5] • Assuma que a saída é considerada válida apenas durante cada terceiro ciclo de relógio, após o que se inicia imediatamente a leitura de uma nova seqüência
Exemplo 1: Um detector de janela (conclusão) Assumindo que o bit mais significativo é lido em primeiro lugar, concluímos facilmente que as seqüências que devem colocar a saída em 1 são aquelas nas quais os dois primeiros bits lidos são diferentes: 010 (2), 011 (3), 100 (4) e 101 (5).
Exemplo 2: Um votador seqüencial • Apresente o diagrama de transição de estados para um circuito com uma entrada e uma saída, que deverá ser colocada em 1 sempre que a entrada se mantiver no mesmo estado durante pelo menos dois impulsos de relógio consecutivos (voltando a 0 quando esta situação deixar de ter lugar)
Exemplo 2: Um votador seqüencial (conclusão) A: Estado inicial - B: Estado onde já foi lido o primeiro 0 - C: Estado onde já foi lido o primeiro 1 - D: Estado onde já foram lidos dois 0 (e portanto a saída está em 1) - E: Estado onde já foram lidos dois 1 (e portanto a saída está em 1).
Síntese de máquinas de estado • A síntese de máquinas de estado, seja de Moore ou de Mealy, é feita de acordo com o seguinte conjunto de etapas: • Representação formal • Alocação de estados • Construção da tabela de verdade • Obtenção da soma mínima
Exemplo 1: Um detector de duplas seqüências • Pretende-se ilustrar a aplicação das quatro etapas principais referidas na transparência anterior, através do exemplo concreto de um circuito com as seguintes características funcionais: • O circuito deverá possuir duas entradas, nas quais se pretende detectar a ocorrência simultânea da seqüência 101 (representa-se à esquerda o primeiro bit lido) • Seqüências sobrepostas devem ser consideradas válidas
Exemplo 1: Um detector de duplas seqüências (cont.) • Exemplo do diagrama temporal para uma situação típica de funcionamento:
Exemplo 1: Um detector de duplas seqüências (cont.) • Representação formal (diagrama de transição de estados): • Qual a sequência de transição de estados que corresponde ao diagrama temporal abaixo?
Exemplo 1: Um detector de duplas seqüências (cont.) • Considerando a alocação de estados A-00, B-01, C-10 e D-11:
D1=Q0*/X*/Y+Q1*/Q0*X*Y D0=X*Y Exemplo 1: Um detector de duplas seqüências (cont.) • Obtenção da soma mínima: Z=Q1*Q0
Exemplo 1: Um detector de duplas seqüências (cont.) • Diagrama lógico correspondente à soma mínima obtida:
Exemplo 2: Um comparador seqüencial • No sentido de ilustrar a situação mais realista de nos confrontarmos com uma especificação incompleta / ambígua, consideraremos agora o caso de um circuito com as seguintes características funcionais: • Pretende-se efetuar a comparação de duas palavras com 3 bits cada uma (palavras M e N), produzindo uma saída que indique quando M N • Pretende-se que a comparação seja efetuada bit a bit, com início pelo bit mais significativo
Exemplo 2: Um comparador seqüencial (cont.) • Dúvidas por esclarecer na especificação inicial: • Existe algum sinal exterior que indique o início de uma nova comparação? • Ou assume-se que estão permanentemente a ser efectuadas novas comparações, correspondendo cada “quarto” impulso de relógio à comparação do primeiro bit (o mais significativo) do novo par de palavras?
Exemplo 2: Um comparador seqüencial (cont.) • Assumindo a existência de um sinal exterior de inicialização (reset), chegamos ao seguinte diagrama de transição de estados:
Exemplo 2: Um comparador seqüencial (cont.) • O sinal de reset exterior:
Exemplo 2: Um comparador seqüencial (cont.) • A implementação do sinal de reset poderia também ser feita através de um pino específico dos FF-D:
Exemplo 2: Um comparador seqüencial (cont.) • Se o circuito não dispuser de reset exterior, efetuando constantemente comparações, teremos o seguinte diagrama de transição de estados:
Exemplo 2: Um comparador seqüencial (cont.) • Caso de M=100 e N=101 (MN verdadeiro):
Síntese de máquinas de Mealy • A síntese de máquinas de Mealy segue um conjunto de passos idêntico ao que consideramos para estes dois exemplos de máquinas de Moore • As diferenças face às máquinas de Moore existem apenas na etapa de representação formal, onde ...? • Resta referir que uma mesma máquina de estados pode naturalmente apresentar saídas destes dois tipos (Moore e Mealy)
Projeto com blocos SSI / MSI • Tal como sucedia com os circuitos combinatórios, também neste caso o procedimento de projeto mais comum na prática consiste em recorrer aos componentes de catálogo já disponíveis, reservando a síntese de circuitos “à medida” aos casos em que isso seja realmente necessário • Interessa-nos pois conhecer quais os principais tipos de blocos SSI / MSI disponíveis neste domínio
Principais blocos SSI / MSI • Os principais tipos de blocos SSI / MSI do tipo seqüencial, normalmente disponíveis nos catálogos dos fabricantes de semicondutores, são os seguintes: • Flip-flops (FF) • Travas (latches) • Registradores de deslocamento (shift registers) • Contadores (counters)