Circuitos Seqüenciais

Documentos relacionados
Circuitos Combinacionais Básicos

CIRCUITOS SEQUENCIAIS parte 1

Exercícios Referentes à Prova P2

Exercícios Referentes à Prova P1

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

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)

Módulo 4 Introdução ao VHDL

Projeto de Circuito Combinacional

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Exercícios Referentes à Prova P1

Exercícios de Fixação

Introdução à Linguagem VHDL

Fundamentos de sistemas digitais. Test-bench. prof. Dr. Edson Ifarraguirre Moreno

VHDL Circuitos Combinacionais

AULA 5 Aplicação com divisor de freqüência com o CI Livro Texto pág.197 a 200.

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

Introdução a Sistemas Digitais

LABORG. VHDL Máquina de estados finitos

low): Descreve o que o sistema deve fazer utilizando expressões lógicas.

Funções de Lógica Combinacional

Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas.

LABORG. Parte 5 Projeto de um circuito digital de média complexidade Parte 2. Fernando Gehm Moraes Matheus Trevisan

Organização e Arquitetura de Computadores II

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

VHDL - VHSIC Hardware Description Language. Exemplo prático. Raiz Quadrada

APOSTILA DE ELETRÔNICA DIGITAL II

Circuito Decodificador BCD para Display de Sete Segmentos

Demonstração de imagens de auxílio didático. VHDL - Descrição e Síntese de Circuitos Digitais Roberto d Amore

Circuitos Seqüenciais

O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.

LABORG. Parte 3 - VHDL: Processos, Paralelismo e o Comando process. Fernando Gehm Moraes Ney Laert Vilar Calazans

Aula 2 Semântica de VHDL

Laboratório sobre Implementação de Sistemas Digitais com VHDL Multiplicação por somas sucessivas

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon

Tipos enumerados definem uma lista de valores, e são especialmente úteis na

Revisão: Projeto de Processadores em VHDL

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

Projeto de Somador com e sem Sinal. Qualificadores

Eletrônica Digital II. Exemplo de um CI com encapsulamento DIP. Diagrama do CI 74XX76.

Implementação de um Sistema Digital em VHDL Cronômetro para Jogos de Basquete

PDA de Sistemas Digitais em Circuitos Programáveis

Introdução. Display de sete segmentos

Exercícios de Laboratório 3

Introdução. VHDL: VHSIC Hardware Description Language. Origem: VHSIC: Very High Speed Integrated Circuits. Departamento de Defesa EUA

Circuitos Seqüenciais

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

CIRCUITOS SEQUENCIAIS

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

Introdução à Linguagem VHDL

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.

Exemplo 2 de Projeto de Circuito Síncrono. Contador de Uns

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

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Descrição e Projeto de Circuitos Utilizando VHDL

Descrição de um Hardware Multiplicador Parametrizável para Números Sinalizados em Complemento a Dois em Lógica Configurável

FSM em VHDL e Verificação Funcional. CMP de junho de 2006

IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO.

CRONÔMETRO DIGITAL PROJETO

LISTA COMPLEMENTAR DE DAC E ADC DO LIVRO DO TOCCI

Multiplicador Binário com Sinal

FLIP FLOPS. EXPERIMENTS MANUAL Manual de Experimentos Manual de Experimentos M-1113A

Microprocessadores. Introdução ao Prof. Henrique

Módulos Combinatórios

Uma Introdução às Linguagens de Descrição de Hardware

Universidade Federal Fluminense - UFF Centro Tecnológico - CTC Escola de Engenharia - TCE Departamento de Engenharia de Telecomunicações TET

Introdução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba

Introdução a Sistemas Digitais

CIRCUITOS SEQUENCIAIS parte 2 Máquina de Estados Finita (FSM)

CMP238 Projeto e Teste de Sistemas VLSI

2. FLIP FLOP tipo D síncrono borda de descida e com entradas assíncronas preset e clear. PRE Q n F/F CLR

ELETRÔNICA DIGITAL. Parte 6 Display, Decodificadores e Codificadores. Prof.: Michael. 1 Prof. Michael

LABORG. Parte 1 Introdução à Simulação em VHDL. Fernando Moraes e Ney Laert Vilar Calazans

Transcrição:

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Circuitos Seqüenciais Contadores prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno

2 / 8 Introdução Contadores são circuitos de natureza seqüencial. A cada evento de relógio permitem que o estado do circuito faça uma transição para um estado que representa o valor da próxima contagem Normalmente, além do sinal de relógio, os contadores têm entradas de habilitação (chip enable), carga, direção da contagem, inicialização e pausa Este conjunto de sinais depende de requisitos da aplicação A complexidade de um contador depende da função de cálculo de próximo estado e do número de bits que será efetuada a contagem Em geral, a função de próximo estado é bastante simples e o número de bits não é representativo Exemplos de contadores Contador hexadecimal de 4 bits: conta de 0000 a 1111 (0x0 a 0xF) O início de uma nova contagem é feita de forma transparente Contador decimal de segundos, com 6 bits: conta de 0 a 59 Necessita de um teste para reiniciar a contagem Contador gray de 3 bits: conta de 000 a 010, sendo que a contagem é feita de forma a variar apenas um bit Função de transição mais complexa que os anteriores

3 / 8 Exemplo de um Contador Binário de 6 Bits entity Contup is port ( clock, reset, load, enable: in std_logic; bus: in std_logic_vector(5 downto 0); upcountout: out std_logic_vector(5 downto 0) ); end contup; architecture RTL of Contup is signal upcount: std_logic_vector(5 downto 0); upcountout <= upcount; process(clock, reset) if reset = '1' then upcount <= "000000"; elsif clock'event and clock = '1' then if enable = '1' then if load = '1' then upcount <= bus; else upcount <= upcount + 1; end process; end RTL; (1) Determine o comportamento deste contador, fazendo um diagrama de tempos (2) O reset é prioritário em relação ao clock? Por quê? (3) Como modificar o contador para realizar contagem crescente/decrescente?

4 / 8 Exemplo de um Contador Binário de 6 Bits 1. Faça a entidade do contador 2. Faça a implementação em diagrama de blocos da arquitetura do contador 3. Determine a prioridade entre todos os sinais de controle (clock, reset, load, enable) 4. O reset é síncrono ou assíncrono? E os demais sinais de controle? 5. Determine o comportamento deste contador, fazendo um diagrama de tempos, que deve conter algumas combinações dos sinais de controle 6. Modifique a arquitetura para que a mesma tenha um reset síncrono com contagem sensível a borda de descida 7. Como modificar o contador (sinais de controle e nova arquitetura) para realizar contagem crescente/decrescente?

5 / 8 Contador Gray Código gray: seqüência onde a mudança de estado implica apenas a variação de um bit 000 001 011 010 110 111 101 100 000 Implementação pode ser feita por uma tabela de transição de estados architecture RTL of graycounter is signal clock, reset: std_logic; signal graycnt: std_logic_vector(2 downto 0); process(clock, reset) if reset = '1' then graycnt <= "000";-- reset assíncrono elsif clock'event and clock = '1' then case graycnt is when "000" => graycnt <= "001"; when "001" => graycnt <= "011"; when "010" => graycnt <= "110"; when "011" => graycnt <= "010"; when "100" => graycnt <= "000"; when "101" => graycnt <= "100"; when "110" => graycnt <= "111"; when "111" => graycnt <= "101"; when others => null; end case; end process; end RTL;

6 / 8 Exercícios 1. Descreva o circuito abaixo em VHDL (entidade e arquitetura) Considere que na inicialização, o incrementador começa com 0 e o registrador começa com 2 Note que os clocks são diferentes. Estes devem ser implementados com a mesma freqüência e fazes invertidas reset clock_1 Incrementador de 8 bits opa opb somador 8bits reset clock_2 Reg. 8 bits 8 saída

7 / 8 Exercícios 2. Extraia um diagrama de blocos representativo para o VHDL abaixo entity Blocos is port ( inicio, ck: in std_logic; valorcarga: in std_logic_vector(3 downto 0); valorout: out std_logic_vector(1 downto 0); sh: out std_logic ); end Blocos; architecture Blocos of Blocos is signal reg1, reg2: std_logic_vector(3 downto 0); signal r3: std_logic_vector(1 downto 0); signal n1, n2, n3: std_logic; Reg_1: process(inicio) if inicio = '1' then reg1 <= valorcarga; end process; Reg_2: process(inicio, ck) if inicio = '1' then reg2 <= valorcarga; elsif ck'event and ck = '1' then reg2 <= '0' & reg2(3 downto 1); end process; n1 <= reg1(1) xor reg1(0); n2 <= reg1(3) and reg1(2); n3 <= n1 nand n2; r3 <= reg2(0) & n3; sh <= reg2(0); valorout <= r3; end Blocos;

8 / 8 Exercícios 3. Faça o projeto de um relógio de segundos e minutos O relógio tem como portas de entrada: Ck (um bit) referência de tempo base com freqüência de 25Hz load (um bit) - permite ajustar a hora para um valor inicial que está definido das portas de entrada segin e minin segin e minin (vetores de 6 bits) contém valores iniciais de segundos e minutos, respectivamente reset (um bit) quando em 1 faz com que o relógio seja zerado. É assíncrono e precedente a ck O relógio tem como portas de saída: seg e min (vetores de 6 bits) - contém os segundos e minutos atuais, respectivamente