Sistemas Digitais Aula 10 GRECO-CIN-UFPE.

Slides:



Advertisements
Apresentações semelhantes
Flip-Flops e Dispositivos Correlatos
Advertisements

Contadores e Registradores
Aula 3 – Transmissão Digital
Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
Conversores Analógico-Digital
Máquinas de Estado Sistemas Digitais.
Eletrônica Digital Flip-Flops e Registradores de Deslocamento
Sistemas Digitais Projeto RTL – Unidade de Controle
Lógica booleana e implementação de funções booleanas
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Conversores Analógico-Digital
Máquinas de Estado Eletrônica Digital.
Sistemas Digitais Projeto RTL – Unidade de Execução
Unidades de Execução e de Controle Sistemas Digitais.
Circuitos Lógicos Sequenciais
Finite State Machines.
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
1. SINAIS Contém informações sobre uma variedade de coisas e atividades em nosso mundo físico. PROCESSAMENTO DE SINAIS Ato de extrair as informações necessárias.
Revisão de Circuitos Lógicos MO801/MC912. Conteúdo Níveis lógicos Portas lógicas Formas de onda Sinais básicos Elementos de armazenamento Registradores.
REPRESENTAÇÃO DE INSTRUÇÕES
Contadores Digitais.
Análise de Circuitos Sequenciais Síncronos
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Hardware Description Language (HDL)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
1. Circuitos seqüenciais - conceito 2. Flip-flops 3. Registradores 4
Prof.Corradi Finite State Machines.
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Engenharia de Software para Computação Embarcada
Registos SISTEMAS DIGITAIS Prof. Carlos Sêrro
Latches e Flip-Flops GSI008 – Sistemas Digitais
Circuitos Seqüenciais Contadores
Circuitos Seqüenciais
Lógica Seqüêncial Bruno Silvério Costa.
ENGA78 – Síntese de Circuitos Digitais
Eletrônica Digital II ELT013
UNIDADE LÓGICA ARITMÉTICA (ULA)
Circuitos Sequenciais
Eletrônica Digital II ELT013
Decodificadores e Codificadores
Aplicações com flip-flops
Hardware Description Language Aula 8 –Verilog HDL
Parte 3 Seção de Dados e Unidade de Controle
UNIDADE LÓGICA ARITMÉTICA (ULA)
Diagrama de estado ? Exemplo:
Aula 1 Eletrônica Digital Codificadores/Decodificadores e Multiplexadores/Demultiplexadores Prof. Wanderley.
Circuitos Integrados Digitais ELT017
FLIP-FLOPS Introdução.
Eletrônica Digital II ELT013
FLIP-FLOPs.
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Máquinas de Estados Finitos (cont)
Latches e Flip-Flops (1/2)
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Registradores Prof.: José Mauricio Neto
LATCHES e FLIP-FLOPs Aula 9 GRECO-CIN-UFPE Como implementar uma célula de memória? Latches e Flip-Flops r n-1 r n-2 r n-3 r n-4 r 0 célula { 0,1} = 1.
Latches e Flip-Flops (2/2)
Cap. V – Análise e Síntese de Circuitos Sequenciais Síncronos
Lei de Moore O número de transistores num circuito integrado duplica todos os 18 meses. Isto é extremamente relevante porque... as gates são feitas a partir.
CONVERSORES DE SINAL.
Circuitos Lógicos Sequenciais
Circuitos Lógicos Leonardo Estrela, nº20, 10ºITM.
Circuitos Sequenciais: Latch e Flip-Flop
Disciplina: Circuitos Digitais Curso: Engenharia de Telecomunicações
Eletrônica Digital Circuitos Sequenciais
Lógica Programável e VHDL
Transcrição da apresentação:

Sistemas Digitais Aula 10 GRECO-CIN-UFPE

Circuitos Seqüenciais Muitos sistemas digitais são pulsados ou clocked. Isto é, eles operam em sincronismo com um trem de pulsos de período T chamado relógio (clock). A cada transição de clock dizemos que a máquina passa para um próximo estado. Se considerarmos um certo Qn a saída em um dado ponto do sistema no intervalo precedendo o nth pulso de clock, então Qn+1 é a saída correspondente no intervalo imediatamente depois no nth pulso. Tal sistema onde os valores Q1, Q2, Q3, ... Qn são obtidos em seqüência no tempo em intervalos T é chamado um sistema lógico seqüencial. T Qn Qn+1

Registradores São dispositivos que armazenam vetores de diferentes dimensões. Estas informações são armazenadas no registrador mediante um sinal de carga externo de carga ( ), e podem ser usadas por outras partes do circuito. Os elementos ou células básicas que compõem os registradores são Latches ou Flip-Flops. Os registradores podem armazenar dados e também deslocá-los para a direita ou para a esquerda. Registradores que permitem deslocamento de seus dados são denominados Registradores de Deslocamento (Shift-Register). Desloca para a direita Desloca para a esquerda t

Registradores - (transferência paralela) E N T R A D A Pulso t Quando o pulso é aplicado a entrada Clk (clock) a entrada é carregada no registrador. O sinal de entrada D0-D3 deve permanecer inalterado durante a transação. t Componente comercial TTL 74171 Q1 CLR D3 D2 D1 D0 171 Q0 CLK Q3 Q2 11 10 9 5 6 7 4 3 2 14 13 15 1 12

Transferência de informação Transferência em paralelo a1 a2 a3 a4 b1 b2 b3 b4 t a1 a2 a3 a4 b1 b2 b3 b4 Transferência serial t (pulso de transferência)

Transferência de informação Transferência serial A X linha serial ‘0’ x1 x2 x3 a1 a2 a3 t (pulso de transferência) tempo do A e X após da transferência evento transferência A X t0 : A<- [1,0,1] X<- [0,0,0] [1,0,1] [0,0,0] t1 : A<-SR([1,0,1]) X<-SR([1],[0,0,0]) [0,1,0] [1,0,0] t2 : A<-SR([0,1,0]) X<-SR([0],[1,0,0]) [0,0,1] [0,1,0] t3 : A<-SR([0,0,1]) X<-SR([1],[0,1,0]) [0,0,0] [1,0,1] Após a transferência ao valores nos registradores A e X são: A := [0,0,0] X := [1,0,1]

a b c Mudança de estado 1 0 1 1 0 1 0 0 0 1 0 1 Flip-Flop Exemplo circuito sequencial – utilizando Flip-flop tipo D a b c a=0 b=0 a= 1 b=0 c=0 Mudança de estado 1 a= 0 b= 1 c= 0 0 1 a= 1 b= 0 c= 1 1 0 1 0 0 0 c=0 1 0 1 D=1 D=0 D=1 D C Q D C Q D C Q Flip-Flop t´ independe do tempo do clock alto, o que interessa é a transiçaõ do clock

Projetos de circuitos síncronos Clock controlado por gates para controle de dados em registradores (não recomendado) FF D Q Clock D Enable Enable Clock enable Clock X Clock enable Q Glitch Carga da informação Obs: Flip-Flop carrega valor na subida do clock

Projetos de circuitos síncronos Controle de enable direto no mux interno do registrador. O clock é livre e atua direto no circuito do Flip-flop. (opção recomendada) FF D Q Clock D Enable Enable Q X Clock Carga da informação Obs: Flip-Flop carrega valor na subida do clock

Entradas Multiplexadas B C t MUX : X <- (A (T=[1]) V B (T=[2]) V C (T=[3])) V V V X O que acontece com T = [0] ? ou qualquer outro valor não especificado na equação? - A expressão a esquerda será nula, logo: X <- 0 t T t MUX X A B C T 1 2 3 : X <- (X (T=[0]) V A (T=[1]) V B (T=[2]) V C (T=[3])) V V V V Obs: Nesse caso se T=[0] o conteúdo de X permanece inalterado

Registrador de deslocamento - Shift Register Registradores de deslocamento são dispositivos adequados para conversão Serial-Paralela-Serial normalmente utilizados em sistemas de comunicação em terminais de computadores. Exemplo: Registrador de deslocamento (direita/esquerda) Para a direita Desloca uma posição em todos os elementos do registrador da esquerda para a direita. O bit menos significativo (LSB-bit mais a direita) re- alimenta o bit mais significativo (MSB - bit mais a esquerda) do registrador ou um novo bit é adicionado ao deslocamento. Para a esquerda Desloca uma posição em todos os elementos do registrador da direita para a esquerda. O bit Mais significativo (MSB-bit mais a esquerda) re- alimenta o bit menos significativo (LSB - bit mais a direita) do registrador ou um novo bit é adicionado ao deslocamento.

Registrador de Deslocamento O circuito pode realizar diferentes funções dependendo do sinal de controle. t : A <- (T=[0]) A v (T=[1]  SR(x,A,) v (T=[2])  SL(A,x) T Operação [0] A <- A [1] A <- SR(x,A) [2] A <- SL(A,x) [3] A <- [0] [4] A <- B (load) 1 2 3 4 MUX D Q T t c x A2 A1 A0 b2 b1 b0

Registrador de deslocamento ( Shift Register ) (deslocamento para a direita) 1 2 3 4 MUX D Q T t c x A2 A1 A0 b2 b1 b0 0 1 0 0 0 0 1 0 0 0 0 1 shift A2 A1 A0 T=3 T=4 T=1 T=1 Controle

Kinds of Registers and Counters Registrador de deslocamento Entrada Serial vs. Paralela Saída Serial vs. Paralela Direção de deslocamento:Esquerda vs. Direita Entradas Seriais LSI (Left Serail Input) RSI(Right Serial Input) Entradas Paralelas: D, C, B, A Saídas Paralelas: QD, QC, QB, QA Sinal de Clear Dispositivo trigado na subida do relógio S1,S0 determina a função de deslocamento S1 = 1, S0 = 1: Carrega na subida do relógio - Carga síncrona S1 = 1, S0 = 0: Desloca para Esquerda na subida do relógio - LSI substitui o elemento D S1 = 0, S0 = 1: Desloca para Direita na - RSI substitui o elemento A S1 = 0, S0 = 0: Preserva os valores 74194 74194 4-bit Universal Shift Register

Registrador de Deslocamento Conversão Paralelo <=> Serial QA QB QC QD S1 S0 LSI D C B A RSI CLK CLR D7 D6 D5 D4 Sender D3 D2 D1 D0 Receiver Clock 194 Entradas Paralelas Transmissão Serial Saídas

Diagrama de estados Diagrama de estados é uma técnica de projeto que permite ao projetista representar graficamente o funcionamento comportamental de uma máquina de estados finita (fsm). Cada diagrama de estados consiste de um conjunto identificado por vértices que correspondem aos estados do circuito e por arcos que indicam a transição entre estados. Cada par de vértices (não necessariamente distintos) são conectados por um arco direcionado indicando a transição de um estado para outro. Este arco existe apenas se um determinado sinal de entrada força a mudança de estado da máquina de um estado Qj para o estado Qk.

Diagrama de estados - Mealy Se um arco direcionado conecta Qj a Qk quando a entrada da máquina for ak , então o arco entre os dois estados é representado por: Qj ak /F(ak ,Qj ) Qk entrada controle (saída) * Máquina Mealy - Observe que a saída é função da entrada e do estado atual Assim vemos que: Vértices correspondem ao estado corrente do circuito. O código descrito no arco representa “entrada corrente” e a “saída corrente”. A indicação da direção do arco indica o próximo estado ak /F(ak ,Qj ) vértices

Diagrama de estado - aplicação Exemplo: Projete um circuito que gere saída ‘1’ quando for observado 3 uns ‘1’s consecutivos na entrada. Nos demais casos a saída deve ser zero (‘0’). Q0 Q1 Q2 0/0 1/0 1/1 nenhum 1 1o um (‘1’) 2o um(‘‘1’) 1

Conversão do diagrama de estados Tabela de estados Q x 0 1 Q0 Q0/0 Q1/0 Q1 Q0/0 Q2/0 Q2 Q0/0 Q2/1 estado presente saída próximo estado Variáveis de entrada Q0 Q1 Q2 0/0 1/0 1/1 Codificação de estados: Q0 -> 00 Q1 -> 01 Q2 -> 10 Tabela de transição Q x 0 1 00 00/0 01/0 01 00/0 10/0 10 00/0 10/1

Implementação do circuito Tabela verdade entrada estado presente próximo estado Flip-Flop saída x y1 y2 y1+t y2+t J1 K1 J2 K2 Z 0 0 0 0 0 0 X 0 X 0 0 0 1 0 0 0 X X 1 0 0 1 0 0 0 X 1 0 X 0 0 1 1 X X X X X X X 1 0 0 0 1 0 X 1 X 0 1 0 1 1 0 1 X X 1 0 1 1 0 1 0 X 0 0 X 1 1 1 1 X X X X X X X * Implementação da máquina de estados usando Flip-Flop tipo JK

Implementação do circuito Equações booleanas y1(t+1) = x y1 + x y2 y2(t+1) = x y1 + x y2 Z = x y1 y1y2 x 00 01 11 10 0 0 0 X 0 1 0 0 X 0 y1y2 x 00 01 11 10 0 0 0 X 0 1 1 0 X 1 y1y2 x 00 01 11 10 0 0 0 X 0 1 0 0 X 1 J1 = xy2 J2 = y1x y1y2 x 00 01 11 10 0 0 0 X X 1 0 1 X X y1y2 x 00 01 11 10 0 0 X X 0 1 1 X X 0 K1 = x K2 = 1 y1y2 x 00 01 11 10 0 X X X 1 1 X X X 0 y1y2 x 00 01 11 10 0 X 1 X X 1 X 1 X X

Implementação do circuito x Z FF JK K1 J1 Q y1 FF JK K2 J2 Q y2 ‘1’ clock

Contadores São máquinas seqüenciais (FSMs) que possuem uma seqüência de estados bem definida em resposta a sinal de contagem. Os contadores podem contar para frente ou para trás (up/down) e podem ser construídos por diferentes tipos de Flip-Flops. A saída de um contador expõe o estado atual da máquina de estados. Exemplo: Contador de 2 bits: 00, 01, 10 ,11 (contador módulo 4) Contador de 4 bits: 0000, ...., 1111 (Contador binário de 4 bits - módulo 16)

Flip-Flops tipo T(Toggle) Contadores - implementação Implementar um contador síncrono octal Exemplo Contador binário de 3 bits Estado Presente Próximo Estado Flip-flops tipo T Implementação com Flip-Flops tipo T(Toggle) C B A C+ B+ A+ TC TB TA 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 Diagrama de transição de estados Tabela de Transição de Estados Tabela de entrada dos Flip-Flops

Mapa K para Flip-Flops tipo T Contadores - implementação Mapa K para Flip-Flops tipo T TA CLK \Reset Q S R QA TB QB TC QC Count + Diagrama de tempo

Kinds of Registers and Counters Contadores Contador Síncrono - 74163 - Sinais de entrada Load and Clear síncronos (sincronizados com o relógio) - Flip-Flop trigados na subida do relógio - Load Paralelo a partir dos sinais de entrada D, C, B, A - P, T Enable Inputs: Ambos os sinais devem ser habilitados para permitir contagem - RCO ("Ripple Carry Output") acionado quando o contador atinge o último estado “1111”. Este sinal é normalmente usado quando queremos cascatear contadores. Contador UP síncrono de 4-Bits (74163)

Kinds of Registers and Counters Diagrama de tempo do 74163 Na subida do relógio

Projeto - Síntese Lógica Implementar uma máquina de vender bombom Características: Recebe moedas de 5 e 10 centavos Não dá troco Libera bombom quando valor recebido é igual ou superior a 15 centavos Reset C C, D [open] 15¢ 0¢ 5¢ 10¢ D Diagrama de estados Obs: Implementar projeto com Flip-Flop tipo JK 13 13

Projeto - Síntese Lógica Reset C/0 C, D/0 [open] 15¢ 0¢ 5¢ 10¢ D/0 0/0 Present State 0¢ 5¢ 10¢ 15¢ D 1 X C INPUT Next Output Open