Circuitos sequenciais elementares



Documentos relacionados
Circuitos sequenciais elementares

Capítulo 7 Circuitos sequenciais: latches, flipflops, registradores, contadores

Circuitos Sequenciais. Sistemas digitais

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

Circuitos Digitais Cap. 6

Introdução às máquinas de estado finitas

Projecto e Controlo em Lógica Digital

Modelação de circuitos síncronos

Sistemas Digitais I LESI :: 2º ano. Questões Práticas de Sistemas Sequenciais

UFSM-CTISM. Circuitos Digitais Contadores Aula-11

Controlador de Interrupções com Prioridades Rotativas Julho de 2001

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

Índice. Modelos e Procedimentos

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica

SISTEMAS DIGITAIS CIRCUITOS SEQUENCIAIS BÁSICOS

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

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

Sistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

CAPÍTULO 4 CIRCUITOS SEQUENCIAIS II: CONTADORES ASSÍNCRONOS

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica

Figura 1 - Diagrama de um sistema de controle de temperatura que requer conversão analógico-digital para permitir o uso de técnicas de processamento

Disciplina: Laboratório de Circuitos Digitais

Mestrado em Engenharia Electrotécnica e de Computadores

LABORATÓRIO DE ELETRÔNICA DIGITAL Experiência 9: Análise de Circuitos com Contadores

MINISTÉRIO DA EDUCAÇÃO IFSC - Campus São José. CST em Telecomunicações ELETRÔNICA DIGITAL CONTADORES. Marcos Moecke

Capítulo VIII Registradores de Deslocamento e Contadores

Básculas, Flip-Flops e Debouncing

Lab 3. Timing Timing Constraints Simulação

Desempenho de Computadores

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

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

VHDL Lógica Síncrona. Sinais de Saída. Sinais de Entrada. barreira. carg. VHDL -Lógica Síncrona

Circuitos combinatórios. (Revisão)

STSE 2º Exame de Simulação e Teste de Sistemas Electrónicos (9 de Fevereiro de 2004) Duração: 1ª parte 45 minutos; 2ª parte 2 horas.

Sistemas Digitais. PALs Sequenciais Parâmetros Temporais em PALs Sequenciais ABEL Registos Contadores Registos de Deslocamento ( Shift Registers )

Circuitos Lógicos Aula 23

Componentes do Computador e. aula 3. Profa. Débora Matos

Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

Sistemas Digitais para Computação. AULAS TEÓRICAS 19 a 33

Projeto de Máquinas de Estado

Conversor Analógico /Digital

Circuitos Lógicos Registradores e Contadores

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

R S Q Tabela 17 - Tabela verdade NOR

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Disciplina: Laboratório de Circuitos Digitais

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO:

Verilog HDL Introduzida em 1985 pela Gateway Design System Corporation Após 1990, passou a ser de domínio público, e em 1995 passou a ser padrão IEEE

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13)

Organização e Arquitetura de Computadores II

Projeto Dirigido: Genius

Exame 2 Sistemas Digitais - MEEC 2009/10 1

Conceitos básicos do

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

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

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

TÉCNICAS DIGITAIS I (CURSO DE ENGENHARIA DE TELECOMUNICAÇÕES)

Contadores. Contadores Assíncronos Crescentes

EA773 - Experimento 5

Flip-Flops, Registros e Contadores

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações CONTADORES. Marcos Moecke

Teste 2 Sistemas Digitais - MEEC 2009/10 1. Aluno Nº

Instituto Tecnológico de Aeronáutica - ITA Divisão de Engenharia Eletrônica Departamento de Eletrônica Aplicada Laboratório de EEA-21

Organização de Computadores 1

FLIP-FLOPS FLOPS. INTRODUÇÃO Os circuitos anteriormente estudados são chamados de

MÓDULO N.º 1 SISTEMAS DE NUMERAÇÃO HORAS / TEMPOS CONTEÚDOS OBJETIVOS AVALIAÇÃO

Laboratório de Arquitetura de Computadores IST - Taguspark 2014/2015 Introdução ao simulador Guião 1 23 a 27 fevereiro de 2015

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog.

Contadores (Aula1) Prof. Rômulo Calado Pantaleão Camara

Laboratório de Arquitectura de Computadores IST - Taguspark 2008/2009 Introdução aos sistemas binários Guião 1 9 a 13 de Março 2009

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

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

CONTADORES DIGITAIS (Unidade 6)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Arquitetura e Organização de Computadores I

EEC2104 Microprocessadores

Aluno Nº. A não identificação desta folha implica que as respostas que lhe correspondem não lhe serão atribuídas.

3.a Aula Prática Projeto de Circuitos Sequenciais com FPGA. Projeto e simulação de um gerador de frequência

Sistemas Digitais I LESI :: 2º ano. Conceitos sobre Sistemas Sequenciais

Programação Básica em Arduino Aula 2

Arquitetura de Computadores. Ivan Saraiva Silva

ELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Exame 1 Sistemas Digitais - MEEC 2009/10 1. Aluno Nº

- SISTEMAS DIGITAIS II

SISTEMAS DIGITAIS CONTADORES

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

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Organização de Computadores Hardware

Sistemas Digitais Contadores. João Paulo Carvalho

Máquina de Estados. Transições Estados Em Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg.

Sistemas Digitais Módulo 10 Circuitos Sequenciais: Latches e Flip-Flops

Arquitectura de Computadores Unidade de Processamento

Aula 12. Flip-Flop Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Memorias. Flip-Flop RS básico (Assíncrono) preencher. Tabela da verdade S R Q A S Q

Arquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva

Transcrição:

Circuitos sequenciais elementares João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and esign,. Patterson & J. Hennessey, 3ª. ed., MKP ópicos Sistemas sequenciais síncronos Elementos de memória Registos e contadores Especificação de circuitos sequenciais em Verilog ArqComp: Circuitos sequenciais elementares 2/27 2006-03-13

efinição de circuito sequencial Circuito combinatório: o valor da saída depende apenas dos valores actuais das entradas. Circuito sequencial: o valor da saída depende dos valores actuais e de todos os valores anteriores das entradas. Estado de um circuito: conjunto de variáveis de estado que, em cada momento, contêm informação suficiente sobre o passado para permitirem a determinação do comportamento futuro (em conjunto com os valores da entrada). Em circuitos digitais, as variáveis de estado são binárias: um circuito com n variáveis de estado pode ter até 2 n estados. O valor de uma variável de estado é preservado num elemento de memória. Nos circuitos digitais síncronos, as mudanças de estado ocorrem em instantes de tempo determinados por um sinal periódico: o sinal de relógio. ArqComp: Circuitos sequenciais elementares 3/27 2006-03-13 Sinal de relógio Sinal de relógio típico: mudanças de estado ocorrem aqui th tl Período : intervalo de repetição Frequência F: F = 1/ (Hz) ArqComp: Circuitos sequenciais elementares 4/27 2006-03-13

Organização geral de um sistema sequencial síncrono Elemento de estado 1 Circuito combinacional Elemento de estado 2 O flanco de relógio determina quando é que os elementos de memória são modificados. O período de relógio deve ser longo o suficiente para a saída da lógica combinacional atingir o seu valor final (estabilizar). Elemento de estado 1 Circuito combinacional Num sistema sensível ao flanco (como todos os que usaremos) um elemento de memória pode ser lido e alterado no mesmo ciclo de relógio. ArqComp: Circuitos sequenciais elementares 5/27 2006-03-13 Regulação do sinal de relógio tempo de setup: período de tempo, anterior ao flanco activo do sinal de relógio, em que a entrada de um elemento de memória deve permanecer inalterada [preparação]. tempo de hold: período de tempo, posterior ao flanco activo do sinal de relógio, em que a entrada de um elemento de memória deve permanecer inalterada [permanência]. tempo de propagação t pm : tempo (máximo) que o elemento de memória demora a reagir ao flanco activo do relógio. tempo de propagação t pc : tempo (máximo) que a saída do circuito combinacional leva a atingir o valor final. O valor mínimo para o período do sinal de relógio é: t setup + t pm + t pc ArqComp: Circuitos sequenciais elementares 6/27 2006-03-13

Regulação do sinal de relógio: gráficos t pm t pc Elemento de Circuito combinacional estado 1 A B C Elemento de estado 2 t setup relógio t hold A t pm B t pc C ArqComp: Circuitos sequenciais elementares 7/27 2006-03-13 Realimentação positiva Uma forma de preservar valores lógicos baseia-se na utilização de realimentação positiva (i. e., que reforça o estado actual). O elemento de memória tem dois estados: elemento bi-estável. O elemento bi-estável mais simples: N 1 N 2 Mas não tem entradas... ArqComp: Circuitos sequenciais elementares 8/27 2006-03-13

O trinco tipo / 1 0 0 1 1 1 1 0 0 x anterior / anterior =1: modo transparente =0: modo de retenção ArqComp: Circuitos sequenciais elementares 9/27 2006-03-13 O trinco tipo : formas de onda C ArqComp: Circuitos sequenciais elementares 10/27 2006-03-13

O flip-flop tipo L 1 L 2 / 0 0 1 1 1 0 x 0 anterior / anterior x 1 anterior / anterior ArqComp: Circuitos sequenciais elementares 11/27 2006-03-13 O flip-flop tipo : formas de onda ArqComp: Circuitos sequenciais elementares 12/27 2006-03-13

O flip-flop tipo O flip-flop tipo troca de estado a cada ciclo de relógio. CK Por vezes, é útil ter uma entrada de habilitação (enable). O circuito só funciona quando essa entrada está activa. EN EN CK ArqComp: Circuitos sequenciais elementares 13/27 2006-03-13 O flip-flop tipo : formas de onda Flip-flop sem entrada de enable Flip-flop com entrada de enable EN ArqComp: Circuitos sequenciais elementares 14/27 2006-03-13

Registos e bancos de registos registo: grupo de n elementos de memória, que são acedidos como uma única entidade. banco de registos: conjunto de registos (de capacidade idêntica), em que cada registo individual pode ser selecionado pelo seu número de ordem (0, 1,... ). Out3 Out2 Out1 Out0 FF3 FF2 FF1 FF0 CK CK CK CK In3 In2 In1 In0 ArqComp: Circuitos sequenciais elementares 15/27 2006-03-13 Banco de registos multiporto Read register number 1 Read register number 2 Read data 1 Write register Write data Register file Write Read data 2 ArqComp: Circuitos sequenciais elementares 16/27 2006-03-13

Banco de registos: leitura Read register number 1 Register 0 Register 1... Register n Ð 2 M u x Read data 1 Register n Ð 1 Read register number 2 M u Read data 2 x ArqComp: Circuitos sequenciais elementares 17/27 2006-03-13 Banco de registos: escrita Write 0 1 C Register 0 Register number n-to-2 n decoder. C n Ð 1 Register 1 n. C Register nð2 C Register nð1 Register data ArqComp: Circuitos sequenciais elementares 18/27 2006-03-13

Contador do tipo ripple counter 0 1 2 3 0 1 2 3 Saída: número de quatro bits: 3 2 1 0. Contador muito lento: na pior situação (mudança do bit mais significativo) um contador de n bits demora n p a reagir ao flanco activo. [ p é o tempo de propagação da entrada para a saída.] ArqComp: Circuitos sequenciais elementares 19/27 2006-03-13 Contador binário síncrono 0 1 2 3 CntEN EN EN EN EN 0 1 2 3 Nesta versão, todos os flip-flops comutam simultaneamente (em p segundos). Entre flancos sucessivos, o sinal de habilitação deve propagar-se ao longa da cadeia de portas AN. ArqComp: Circuitos sequenciais elementares 20/27 2006-03-13

Verilog: Eventos Para descrever sistemas síncronos, é preciso especificar o evento de sincronização na lista de sensibilidades do(s) bloco(s) always. Exemplo: module sincrono(clk, ); input clk; always @(posedge clk) /* operações a executar sincronamente*/ Flanco descendente: negedge clk Como os valores devem permancer constantes entre a ocorrência dos flancos, devem usar-se variáveis do tipo reg na descrição das operações. ArqComp: Circuitos sequenciais elementares 21/27 2006-03-13 Atribuição bloqueante arefa: trocar de posição os dois bytes de uma palavra de 16 bits. Estes exemplos não funcionam correctamente: module m1(clk, palavra,); input clk; output [15:0] palavra; reg [15:0] palavra; always @(posedge clk) begin palavra[15:8]=palavra[7:0]; palavra[7:0]=palavra[15:8]; end module m1(clk, palavra,); input clk; output [15:0] palavra; reg [15:0] palavra; always @(posedge clk) begin palavra[7:0]=palavra[15:8]; palavra[15:8]=palavra[7:0]; end Atribuições são executadas por ordem, em um só passo. ArqComp: Circuitos sequenciais elementares 22/27 2006-03-13

Atribuição não-bloqueante Ambos os exemplos funcionam correctamente: module m1(clk, palavra,); input clk; output [15:0] palavra; reg [15:0] palavra; always @(posedge clk) begin palavra[15:8]<=palavra[7:0]; palavra[7:0]<=palavra[15:8]; end module m1(clk, palavra,); input clk; output [15:0] palavra; reg [15:0] palavra; always @(posedge clk) begin palavra[7:0]<=palavra[15:8]; palavra[15:8]<=palavra[7:0]; end Atribuições simultâneas são executadas em dois passos: 1. avaliação de todas as expressões (lado direito); 2. atribuições só são executadas após todas as avalições. Ordem das atribuições é irrelevante. Na especificação de sistemas síncronos, usa-se quase sempre a atribuição não-bloqueante. ArqComp: Circuitos sequenciais elementares 23/27 2006-03-13 Verilog: Flip-flop Um flip-flop tipo module flop (,, ); input ; input ; output ; reg ; always @(posedge ) <= ; Um registo de 8 bits com reset module registo (, Rst,, ); input, Rst; input [7:0] ; output[7:0] ; reg [7:0] ; always @(posedge ) if (Rst) <= 0; else <= ; ArqComp: Circuitos sequenciais elementares 24/27 2006-03-13

Verilog: Outros elementos de memória rinco tipo : Flip-flop tipo com reset: module trinco (C,, ); input C, ; output ; reg ; always @(C or ) begin if (C) <= ; end module tff (, Rst, ); input, Rst; output ; reg ; always @(posedge clk) if (Rst) <= 0; else <= ~; ArqComp: Circuitos sequenciais elementares 25/27 2006-03-13 Verilog: Banco de registos module bancoregs (Read1, Read2, WriteReg, Writeata, RegWrite, ata1, ata2, clock); input [4:0] Read1, Read2, WriteReg; input [31:0] Writeata; input RegWrite, clock; output [31:0] ata1, ata2; reg [31:0] RF [31:0]; // 32 registos de 32 bits assign ata1 = RF[Read1]; assign ata2 = RF[Read2]; // leitura always @(posedge clock) // escrita síncrona if (RegWrite) RF[WriteReg] <= Writeata; ArqComp: Circuitos sequenciais elementares 26/27 2006-03-13

Exemplo: Simulação de um contador de 3 bits Modelo estrutural de um contador ripple-carry: module contador3(clk, rst, dados); input clk, rst; output [2:0] dados; wire tmp0, tmp1; assign tmp0 = ~dados[0]; assign tmp1 = ~dados[1]; tff ff0(clk, rst, dados[0]); tff ff1(tmp0, rst, dados[1]); tff ff3(tmp1, rst, dados[2]); ; module topo; reg relogio; reg reset; wire [2:0] contagem; contador3 cont(relogio, reset, contagem); initial begin // executa 1 vez reset = 1; relogio = 0; #5 reset = 0; #100 $stop; end always // período 20 #10 relogio = ~relogio; ArqComp: Circuitos sequenciais elementares 27/27 2006-03-13