Circuitos seq - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Circuitos seq

Description:

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 ... – PowerPoint PPT presentation

Number of Views:214
Avg rating:3.0/5.0
Slides: 81
Provided by: JMMartin
Category:
Tags: circuitos | seq

less

Transcript and Presenter's Notes

Title: Circuitos seq


1
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

2
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

3
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

4
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

5
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
6
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

7
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

8
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
9
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

10
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?

11
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

12
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?

13
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,S000)
    e a entrada exterior for X0, então a próxima
    transição activa no sinal de relógio manterá o
    circuito no estado A (NS1,NS000) e a saída
    continuará em Z0

14
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

15
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

16
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?)
17
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?)

18
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

19
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 ...?

20
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?

21
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

22
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).
23
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)

24
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).
25
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

26
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

27
Exemplo 1 Um detector de duplas seqüências
(cont.)
  • Exemplo do diagrama temporal para uma situação
    típica de funcionamento

28
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?

29
Exemplo 1 Um detector de duplas seqüências
(cont.)
  • Considerando a alocação de estados A-00, B-01,
    C-10 e D-11

30
Exemplo 1 Um detector de duplas seqüências
(cont.)
  • Obtenção da soma mínima

ZQ1Q0
31
Exemplo 1 Um detector de duplas seqüências
(cont.)
  • Diagrama lógico correspondente à soma mínima
    obtida

32
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

33
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?

34
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

35
Exemplo 2 Um comparador seqüencial (cont.)
  • O sinal de reset exterior

36
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

37
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

38
Exemplo 2 Um comparador seqüencial (cont.)
  • Caso de M100 e N101 (M?N verdadeiro)

39
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)

40
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

41
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)

42
Flip-flops(74x74 D)
43
FF (cont.)(74x109 JK)
44
Registradores74x573 (8-bit latch)
45
Registradores de deslocamento(74x164)
46
Registradores de deslocamento (74x194)
47
Registradores de deslocamento (74x195)
48
Contadores(74x93)
49
Contadores (74x161)
50
Contadores (74x192)
51
Contadores (74x192, cont.)
52
Exemplo 1 Um detector de seqüência
  • Pretende-se projetar um circuito que efetue
    constantemente a leitura de palavras com 3 bits
    (valor ? 0..7) e produza uma saída que indique
    quando a palavra lida pertence ao intervalo 2,5
  • O bit mais significativo é primeiro a ser lido e
    a saída é válida apenas em cada terceiro impulso
    de relógio
  • Pretende-se uma solução baseada no registo de
    deslocamento 74x195

53
Exemplo 1 Um detector de seqüência (cont.)
  • Que alteração haveria no funcionamento do
    circuito, se as entradas do EX-OR tivessem por
    engano sido ligadas às saídas QA e QB, em vez de
    QB e QC?

54
Exemplo 2 Um contador como detector de paridade
  • Pretende-se recorrer ao contador 74x161 para
    projectar um circuito que indique quando uma
    palavra de 4 bits apresenta um número ímpar de
    bits em 1
  • Considere-se que existe um impulso de reset a
    preceder cada palavra e que a saída deve estar
    válida apenas no quarto impulso de relógio

55
Análise de circuitos seqüenciais síncronos
  • A análise é uma atividade que surge com
    freqüência na prática com circuitos eletrônicos,
    nomeadamente em situações como as seguintes
  • Operações de manutenção
  • Expansão de funcionalidade (upgrading)
  • Modificação da funcionalidade
  • Apesar da especificidade de cada caso, é possível
    definir algumas regras gerais a seguir para este
    fim

56
Análise de circuitos na forma de Huffman
  • Este tipo de circuitos é o que decorre da síntese
    por recurso a mapas de Karnaugh, podendo a
    análise destes circuitos ser feita seguindo o
    percurso oposto ao da síntese
  • Obter as equações algébricas a partir do diagrama
    lógico
  • Construir a tabela de verdade que especifica o
    valor das saídas para cada combinação possível
    nas entradas
  • Desenhar o diagrama de transição de estados

57
Análise de um circuito na forma de Huffman
Exemplo
  • Pretende-se obter o diagrama de transição de
    estados correspondente ao circuito seguinte

58
Circuitos na forma de Huffman Exemplo (cont.)
  • Equações D1/X/Q0XQ0 D0/XQ1X/Q1

59
Análise de circuitos com blocos SSI / MSI
  • A muito menor uniformização do projeto com blocos
    SSI / MSI torna mais difícil o estabelecimento de
    regras para permitir a análise de forma
    sistemática
  • Como regras de ordem geral, podemos ainda assim
    referir as seguintes
  • Identificar e compreender todos os blocos SSI /
    MSI
  • Compreender a interacção entre os blocos
    presentes
  • Identificar possíveis ciclos de funcionamento

60
Análise de circuitos com blocos SSI / MSI Exemplo
  • Indicar qual a seqüência de contagem que tem
    lugar no circuito apresentado

61
A testabilidade de circuitos seqüenciais
  • As razões pelas quais a geração de vetores de
    teste para circuitos seqüenciais são bastante
    mais difíceis do que para circuitos combinatórios
    são as seguintes
  • Nem todas as entradas do bloco combinatório são
    entradas primárias
  • Do mesmo modo, nem todas as saídas são saídas
    primárias
  • A falta pode afetar a determinação do estado
    seguinte

62
A testabilidade de circuitos seqüenciais (cont.)
  • Exemplo obter um vetor que detecte a falta X s_at_0
    no circuito apresentado à direita

63
A testabilidade de circuitos seqüenciais (cont.)
  • Apesar de a determinação do vetor a aplicar nas
    entradas do bloco combinatório ser simples, os
    valores a que chegamos dão-nos apenas, neste
    caso, a indicação do estado (1,1) que permitiria
    a detecção da falta
  • Resta ainda, portanto, determinar qual a
    seqüência a aplicar na entrada primária A, de
    forma a conduzir o circuito até ao estado
    pretendido

64
A testabilidade de circuitos seqüenciais (cont.)
  • A tarefa, para este caso, é relativamente simples

65
A testabilidade de circuitos seqüenciais (cont.)
  • Repare-se ainda que
  • A simplicidade que encontrámos no exemplo
    anterior se ficou a dever ao facto de os dois FF
    estarem ligados como um registo de deslocamento,
    o que torna trivial forçar a passagem para
    qualquer estado
  • O problema surge quando é necessário determinar a
    seqüência de transição que nos permita chegar ao
    estado pretendido, sobretudo naqueles casos em
    que a própria transição de estados é afetada pela
    falta considerada

66
A testabilidade de circuitos seqüenciais (cont.)
  • Uma falta que afete o diagrama de transição de
    estados (como é o caso de Y s_at_0) ajuda-nos a
    compreender melhor este aspecto

67
A testabilidade de circuitos seqüenciais (cont.)
  • Alteração no diagrama de transição de estados
  • (qual o novo vetor que detecta Y s_at_0?)

Q1
Q0
68
Soluções ad hoc para melhorar a testabilidade
  • Sendo um conjunto de regras soltas de projeto,
    as regras ad hoc apresentam como desvantagens
    principais as seguintes
  • Não são necessariamente reutilizáveis, uma vez
    que cada projecto tem requisitos e problemas de
    testabilidade que lhe são específicos
  • Não conseguem garantir elevados índices de
    testabilidade para qualquer tipo de circuito

69
Soluções ad hoc para a testabilidade Exemplos
  • A título de exemplo, podemos referir as seguintes
    medidas ad hoc para melhorar a testabilidade de
    circuitos sequenciais
  • Partição de contadores, convertendo um contador
    de N bits em K contadores com N/K bits, de forma
    a tornar mais rápida a progressão até um
    determinado estado
  • Provisão de linhas de set / reset síncronas ou
    assíncronas
  • Observação directa de nós internos (por
    multiplexagem com saídas primárias ou
    acrescentando novos pinos)

70
Métodos estruturados de projeto para a
testabilidade
  • Pretendem proporcionar uma forma sistemática de
    forçar a passagem do circuito para qualquer
    estado pretendido, num número fixo (e reduzido)
    de ciclos de relógio, qualquer que seja o estado
    atual e a falta presente no circuito
  • O termo estruturados implica que o método seja
    (quase-) universal e conduza sempre a idênticos
    níveis de testabilidade (que custos haverá?)

71
Projeto com varrimento (scan design)
  • A geração de vectores de teste pode ser
    largamente simplificada se cada FF D for
    precedido por um mux de 21, criando aquilo a que
    se dá a designação de scan FF

72
Projeto com varrimento
  • A importância do projeto com varrimento, como
    metodologia estruturada de projeto para a
    testabilidade, pode ser melhor aferida se
    considerarmos que no projeto sem varrimento
  • Parte das entradas do circuito combinatório não
    são diretamente controláveis, por estarem ligadas
    às saídas dos FF (nós que definem o estado atual)
  • Parte das suas saídas não são diretamente
    observáveis, por estarem ligadas às entradas dos
    FF (estado seguinte)

73
A questão da controlabilidade
  • Consideremos que se pretende passar para o estado
    110, partindo do estado 100 e sendo o estado
    seguinte (para as condições consideradas) 001

74
A questão da controlabilidade (cont.)
75
A questão da controlabilidade (cont.)
76
A questão da observabilidade
  • Consideremos que se pretende observar o valor dos
    nós que definem o estado seguinte, para o caso
    anteriormente considerado

77
A questão da observabilidade (cont.)
78
A questão da observabilidade (cont.)
79
Resumo Projeto para a testabilidade
  • As técnicas de projeto para a testabilidade
    eliminam (sob o ponto de vista das ferramentas
    para a geração de vetores) a natureza seqüencial
    do circuito, mas...
  • Os mux de 21 impõem maiores tempos de
    propagação, aumentam a área de silício e conduzem
    eventualmente a mais pinos
  • Os projetistas deixam de ter liberdade para
    escolher quaisquer soluções que achem mais
    adequadas (por exemplo, não são admissíveis
    estruturas assíncronas)

80
Conclusão
  • Objetivo principal do capítulo Concluir os
    conhecimentos básicos sobre o projeto de sistemas
    digitais (combinatórios e seqüenciais)
  • Pistas para a continuação do estudo
  • Circuitos seqüenciais assíncronos
  • Modelação lógica com maiores níveis de abstração
    e síntese automática
Write a Comment
User Comments (0)
About PowerShow.com