Circuitos sequenciais síncronos

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

Flip-Flops e Dispositivos Correlatos
Contadores e Registradores
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
INFORMAÇÕES COMPLEMENTARES
A busca das mulheres para alcançar seu espaço dentro das organizações
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Interrupção simples com lâmpada de incandescência
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Dispositivos lógicos programáveis (DLP)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Introdução à arquitectura de microprocessadores - 1 Introdução à arquitectura de microprocessadores.
Conceitos fundamentais
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
VISÃO GERAL Profa. Fernanda Denardin Walker
Máquinas de Estado Eletrônica Digital.
Unidades de Execução e de Controle Sistemas Digitais.
Curso de ADMINISTRAÇÃO
ES723 - Dispositivos Eletromecânicos
Circuitos Lógicos Sequenciais
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
FUNÇÃO MODULAR.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Mecânica dos Sólidos não Linear
Circuitos combinatórios
Provas de Concursos Anteriores
Renda até 2 SM.
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Prof.Corradi Finite State Machines.
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Engenharia de Software para Computação Embarcada
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
Circuitos Seqüenciais
Trabalho sobre Cor Thiago Marques Toledo.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
Coordenação Geral de Ensino da Faculdade
Medidas de posição  Estudando as distribuições de  frequência,  percebe-se que existe uma  posição de  concentração dos valores, que podem estar mais concentrados no início, no meio ou no 
Coordenação Geral de Ensino da Faculdade
Plataforma Brasil – Submissão de pesquisa
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Modelagem Estatística
Circuitos seqüenciais síncronos
1/40 COMANDO DA 11ª REGIÃO MILITAR PALESTRA AOS MILITARES DA RESERVA, REFORMADOS E PENSIONISTAS - Mar 06 -
Projeto Medindo minha escola.
ENGA78 – Síntese de Circuitos Digitais
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
ELETRÔNICA DIGITAL Circuitos Aritméticos
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
Circuitos Sequenciais
LEONARDO INSIGHT II / TAP-MM ASTEP - Conceitos básicos de teste © J. M. Martins Ferreira - Universidade do Porto (FEUP / DEEC)1 Conceitos básicos de teste.
Eletrônica Digital II ELT013
FLIP-FLOPs.
Cap. V – Análise e Síntese de Circuitos Sequenciais Síncronos
Transcrição da apresentação:

Circuitos sequenciais síncronos Organização: Conceitos básicos e métodos de representação Síntese de circuitos sequenciais síncronos Projecto com blocos SSI / MSI Análise de circuitos sequenciais síncronos Projecto e teste

Sequenciais 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 sequenciais as saídas dependem também do valor que as entradas tiveram em instantes anteriores Podemos portanto afirmar que os circuitos sequenciais possuem memória, onde armazenam uma informação interna de estado

Circuitos sequenciais síncronos Os circuitos sequenciais dividem-se essencialmente em duas grandes classes: Os circuitos sequenciais síncronos, cujo funcionamento é cadenciado por um sinal periódico de relógio e que são aqueles que directamente nos interessam Os circuitos sequenciais 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 sequencial A necessidade de armazenar a informação de estado faz com que os circuitos sequenciais 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 actual 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 o estado seguinte: Bloco que determina as saídas exteriores: Z Z X X Circuito combinatório Circuito combinatório D1 D1 Q1 Q1 Estado actual Estado seguinte Estado actual 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 sequenciais: 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 actual e pelo valor das entradas, quando ocorre uma transição activa 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 activa no sinal de relógio provocará a passagem para o estado A (mantém-se o estado actual); se, no entanto, a entrada exterior for 1, o circuito passará para o estado B

O conceito de entrada do circuito sequencial Exemplo para a sequê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 activa 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 bi-está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 frequê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 activa no sinal de relógio Num FF deste tipo, o estado actual (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 sequenciais com um número finito de estados) do tipo Moore, as saídas dependem apenas do estado actual 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 sequência

Exemplo 1: Um detector de janela (conclusão) Assumindo que o bit mais significativo é lido em primeiro lugar, concluímos facilmente que as sequê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 sequencial 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 sequencial (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 sequê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 sequência 101 (representa-se à esquerda o primeiro bit lido) Sequências sobrepostas devem ser consideradas válidas

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

Exemplo 1: Um detector de duplas sequê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 sequências (cont.) Considerando a alocação de estados A-00, B-01, C-10 e D-11:

Exemplo 1: Um detector de duplas sequências (cont.) Obtenção da soma mínima: D1=Q0*/X*/Y+Q1*/Q0*X*Y D0=X*Y Z=Q1*Q0

Exemplo 1: Um detector de duplas sequências (cont.) Diagrama lógico correspondente à soma mínima obtida:

Exemplo 2: Um comparador sequencial 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 efectuar 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 efectuada bit a bit, com início pelo bit mais significativo

Exemplo 2: Um comparador sequencial (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 sequencial (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 sequencial (cont.) O sinal de reset exterior:

Exemplo 2: Um comparador sequencial (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 sequencial (cont.) Se o circuito não dispuser de reset exterior, efectuando constantemente comparações, teremos o seguinte diagrama de transição de estados:

Exemplo 2: Um comparador sequencial (cont.) Caso de M=100 e N=101 (MN 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)

Projecto com blocos SSI / MSI Tal como sucedia com os circuitos combinatórios, também neste caso o procedimento de projecto 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 sequencial, normalmente disponíveis nos catálogos dos fabricantes de semicondutores, são os seguintes: Flip-flops (FF) Registos (latches) Registos de deslocamento (shift registers) Contadores (counters)

Flip-flops (74x74: D)

FF (cont.) (74x109: JK)

Registos 74x573 (8-bit latch)

Registos de deslocamento (74x164)

Registos de deslocamento (74x194)

Registos de deslocamento (74x195)

Contadores (74x93)

Contadores (74x161)

Contadores (74x192)

Contadores (74x192, cont.)

Exemplo 1: Um detector de sequência Pretende-se projectar um circuito que efectue 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

Exemplo 1: Um detector de sequê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?

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

Análise de circuitos sequenciais síncronos A análise é uma actividade que surge com frequência na prática com circuitos electró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

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

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

Circuitos na forma de Huffman: Exemplo (cont.) Equações: D1=/X*/Q0+X*Q0 D0=/X*Q1+X*/Q1 Tabela de verdade e diagrama de estados:

Análise de circuitos com blocos SSI / MSI A muito menor uniformização do projecto 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

Análise de circuitos com blocos SSI / MSI: Exemplo Indicar qual a sequência de contagem que tem lugar no circuito apresentado

A testabilidade de circuitos sequenciais As razões pelas quais a geração de vectores de teste para circuitos sequenciais 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 afectar a determinação do estado seguinte

A testabilidade de circuitos sequenciais (cont.) Exemplo: obter um vector que detecte a falta X s@0 no circuito apresentado à direita:

A testabilidade de circuitos sequenciais (cont.) Apesar de a determinação do vector 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 sequência a aplicar na entrada primária A, de forma a conduzir o circuito até ao estado pretendido

A testabilidade de circuitos sequenciais (cont.) A tarefa, para este caso, é relativamente simples: 1 1/0 1 1

A testabilidade de circuitos sequenciais (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 sequência de transição que nos permita chegar ao estado pretendido, sobretudo naqueles casos em que a própria transição de estados é afectada pela falta considerada

A testabilidade de circuitos sequenciais (cont.) Uma falta que afecte o diagrama de transição de estados (como é o caso de Y s@0) ajuda-nos a compreender melhor este aspecto

A testabilidade de circuitos sequenciais (cont.) Alteração no diagrama de transição de estados: (qual o novo vector que detecta Y s@0?) 1 3 2 Q1,Q0=00 01 10 11 0,1 3 2 1 Q1,Q0=00 Estados 1 e 3 (Q0=1) já não estão acessíveis 01 10 11 Q1 Q0

Soluções ad hoc para melhorar a testabilidade Sendo um conjunto de “regras soltas” de projecto, 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

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)

Métodos estruturados de projecto 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 actual 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á?)

Projecto 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 2:1, criando aquilo a que se dá a designação de scan FF

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

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

A questão da controlabilidade (cont.)

A questão da controlabilidade (cont.)

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

A questão da observabilidade (cont.)

A questão da observabilidade (cont.)

Resumo: Projecto para a testabilidade As técnicas de projecto para a testabilidade eliminam (sob o ponto de vista das ferramentas para a geração de vectores) a natureza sequencial do circuito, mas... Os mux de 2:1 impõem maiores tempos de propagação, aumentam a área de silício e conduzem eventualmente a mais pinos Os projectistas deixam de ter liberdade para escolher quaisquer soluções que achem mais adequadas (por exemplo, não são admissíveis estruturas assíncronas)

Conclusão Objectivo principal do capítulo: Concluir os conhecimentos básicos sobre o projecto de sistemas digitais (combinatórios e sequenciais) Pistas para a continuação do estudo: Circuitos sequenciais assíncronos Modelação lógica com maiores níveis de abstracção e síntese automática