Projecto e Controlo em Lógica Digital



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

Circuitos sequenciais elementares

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Capítulo VIII Registradores de Deslocamento e Contadores

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

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

Circuitos sequenciais elementares

1.a Questão : (Valor 1,5) O sistema seqüencial é descrito por uma equação de estados:

Disciplina: Laboratório de Circuitos Digitais

Disciplina: Laboratório de Circuitos Digitais

Circuitos Sequenciais. Sistemas digitais

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

Parallel to Serial Shifting IN

Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico Universidade Técnica de Lisboa

Universidade Estadual do Ceará

Projeto Dirigido: Genius

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

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

Mestrado em Engenharia Electrotécnica e de Computadores

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

CONSTRUÍNDO OS SISTEMAS SEQÜENCIAIS PELA ASSOCIAÇÃO DOS FLIPs/FLOPs À UMA LÓGICA COMBINACIONAL.

Lab 3. Timing Timing Constraints Simulação

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

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

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

UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista

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

Disciplina: : ELETRÔNICA DIGITAL

CONTADORES DIGITAIS (Unidade 6)

Projeto de Máquinas de Estado

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

CAPÍTULO 5 CIRCUITOS SEQUENCIAIS

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

Modelagem de Circuitos Digitais

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

Circuitos Lógicos Aula 23

Análise e Projeto de Contadores Síncronos. Circuitos Lógicos Prof. Daniel D. Silveira

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

CAPÍTULO 5 CONTADORES NA FORMA DE CIRCUITO INTEGRADO

UFSM-CTISM. Circuitos Digitais Contadores Aula-11

NOME: TURMA. a) Mostre que, numa representação em complemento para dois, são necessários 8 bits para representar Tset e 7 bits para representar T.

Electrónica dos Sistemas Embebidos. Guia de Laboratório II

Capítulo 3 - Trabalhando com circuitos digitais

ROTEIRO DE LABORATÓRIO

Índice. Modelos e Procedimentos

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

Modelação de circuitos síncronos

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

Colégio Metrópole. Curso Técnico Instrumentação e Automação Industrial

DATA: HORÁRIO DE ENTRADA: HORÁRIO DE SAÍDA: BANCADA: NOMES DOS COMPONENTES DO GRUPO DE TRABALHO: PROJETO - CONTADORES ASSÍNCRONOS

Aula 5. Simplificação de funções lógicas (cont.) Sistemas de numeração

- SISTEMAS DIGITAIS II

Representação de Informação. 1. Converta cada um dos seguintes números para o seu equivalente decimal: a)

Medição de Temperatura com DS1820

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 3 Latches e Flip-Flops

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

UFJF FABRICIO CAMPOS

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA ELETRÔNICA DIGITAL - ET75C - Profª Elisabete N Moraes

Flip-Flops. Introdução Tipos Circuitos Integrados. Flip-Flops

CONTROLE DE UM SERVO MOTOR

Registradores de Deslocamentos.

Lab Verilog Chaves, LEDs e Multiplexadores

Flip-Flops, Registros e Contadores

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

Manual de Instruções para a Placa de Testes da FPGA Max3064A da Altera

Introdução aos Trabalhos de Laboratório (Hardware/Software) Grupo:

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

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

Máquinas de Estados Finitos. Aula 19 Prof. Abel Guilhermino

Exercícios de Microcontroladores -> Programas sequenciais

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

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

1 Título. 2 Objetivos. 3 - Fundamentos Teóricos. Página 1 de 5 Universidade Federal de Juiz de Fora. Prática 1 Aplicações das Funções Lógicas

ELETRÔNICA DIGITAL APLICADA Aula 8- Registradores de deslocamento como contadores

Projecto de Sistemas Digitais. Trabalho Prático 2

Circuito integrado 555 e suas aplicações

Cronômetro Digital Modelo Guia do Usuário

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

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

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Controladores Lógicos Programáveis CLP (parte-3)

Sistemas Digitais Contadores. João Paulo Carvalho

Circuitos Lógicos Registradores e Contadores

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

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

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

Práticas de laboratório de Eletrônica Digital

Exame (2ª chamada) Sistemas Digitais I LESI 2º ano ❶ Ano 2001/02 21/Jun/2002 Univ. Minho

Tecnicas com Sistemas Digitais

Eletrônica Digital I TE050. Circuitos Seqüenciais

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

Experimento 11 - Contador síncrono

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A Figura 1 mostra uma organização do NEANDER com uma UAL de 6 funções. Figura 1: Organização para o NEANDER.

Sistemas de Numeração

CIRCUITOS SEQUENCIAIS (Unidade 5)

Conceitos básicos do

Transcrição:

Projecto e Controlo em Lógica Digital 1º Laboratório Trabalho 1 Olá Mundo Objectivo: Escrever Ola Mundo em displays de 7 segmentos Lançar o Quartus II e abrir o projecto DE2_top; Alterar o programa para acer (estaticamente) os segmentos correctos dos displays de forma a indicarem Ola mundo. Sugere se a seguinte forma: OL AM UNDO Trabalho 2 (Breitling) Objectivo: Implementar um cronómetro até às milésimas de segundo. 2.1 Implementar um contador Objectivo: Implementar um contador. O contador deve ser incrementado em cada ciclo de relógio do clock de 50 MHz. A saída do contador deve ser ligada aos leds disponíveis que deverão piscar a frequências diferentes. Prete se preparar um módulo para efectuar a divisão do clock de forma a obter um clock com um período de milésimas de segundo. Lançar o Quartus II e abrir o projecto DE2_top; Identificar o sinal clk_50 bem como os sinais correspondentes aos LEDs (LEDR vermelhos; LEDG verdes); Implementar um contador em que a entrada é o clk_50 e ligar as saídas aos leds. 2.2 Descodificador de 7 segmentos Objectivo: descodificar um número em binário para que este seja mostrado no display de 7 segmentos em base decimal. O número será introduzido através dos interruptores da placa em binário devo aparecer o número em decimal no display. Prete se preparar um módulo que descodifique a contagem binária do relógio para a visualização do tempo decorrido. Lançar o Quartus II e abrir o projecto DE2_top; Identificar os sinais dos interruptores (SW) bem como os sinais correspondentes a um display de 7 segmentos; Implementar o código que permite a descodificação. As entradas serão os sinais dos interruptores e as saídas, os segmentos do display.

2.3 Cronómetro Objectivo: Implementar um cronómetro com a resolução de milésimas de segundo. O cronómetro deve ter como sinais de controlo um reset (actuado por um botão de pressão) e um sinal start/stop actuado por um interruptor. O valor deve ser apresentado no display de 7 segmentos como mm:ss:μμμ (mminutos, s segundos, μ milésimas de segundo). O relógio de 1kHz é construindo a partir do relógio de 50MHz utilizando um contador ( sounds familiar ). Os números são apresentados nos displays de 7 segmentos utilizando um descodificador ( sounds familiar ). Falta implementar um contador para o tempo já decorrido e o controlo do cronómetro. Sugere se o uso de contadores indepentes para as milésimas, segundos e minutos ou um contador por dígito. Reconfigure o cronómetro de forma a que o sinal start/stop seja dado com um input externo (GPIO). Este input externo será dado através de um gerador para permitir a verificação do funcionamento do cronómetro com a precisão requerida.

Contadores assíncronos Vamos implementar dois contadores assíncronos (o clock não está ligado a todos os estados de saída. O clock do bit seguinte é o bit anterior) de 4bits cada ligados um ao outro de forma a obter um contador de 8 bits. Cada contador terá 4 bits, logo utilizaremos 4 flip flops T. O flip flop T é uma primitiva do veriloghdl que tem a inicialização: tff nome_instancia(in,clk,clear,preset,out) O código é: reg [7:0] Cont; always@(posedge CLOCK_50) begin Cont < Cont+1; counter4ass counter40(ledr[11:8], Cont[4]); //usar modulo counterass counter4ass counter41(ledr[15:12], LEDR[11]); module counter4ass(q, clk);//modulo que implementa um contador de 4 bits assincrono output [3:0] q; input clk; //nega-se o clock porque se quer que comute nos flancos descentes, de forma a dar contagem ascente tff tff0(.t(1),.clk(!clk),.clrn(1),.prn(1),.q(q[0])); tff tff1(.t(1),.clk(!q[0]),.clrn(1),.prn(1),.q(q[1])); tff tff2(.t(1),.clk(!q[1]),.clrn(1),.prn(1),.q(q[2])); tff tff3(.t(1),.clk(!q[2]),.clrn(1),.prn(1),.q(q[3])); module Este código vai implementar um contador e mostrar a contagem nos leds. Como se pode ver cada clock do flip flop seguinte vai buscar a variação de saída do flip flop anterior. Contadores síncronos Vamos implementar dois contadores síncronos (o clock é comum a todos os flip flops do contador) de 4 bits cada ligados um ao outro de forma a obter um contador de 8 bits. Este contador terá 4 bits, logo utilizaremos 4 flip flops T. O flip flop T é uma primitiva do veriloghdl que tem a inicialização: tff nome_instancia(in,clk,clear,preset,out) Os contadores têm Enable e rco para permitir ligá los entre si O código é: reg [7:0] Cont; always@(posedge CLOCK_50) begin Cont < Cont+1;

wire rco;//rco para me permitir activar o segundo contador quando o primeiro chegar a 15 counter4sinc counter42(ledg[3:0], rco, Cont[4], 1); counter4sinc counter43(ledg[7:4],, Cont[4], rco); module counter4sinc(q, rco, clk,enb );//modulo que implementa um contador de 4 bits sincrono com enable e rco output [3:0] q, rco(q[0] && q[1] && q[2] && q[3]) ; input clk, enb; wire a[4:0]; tff tff0(.t(enb),.clk(clk),.clrn(1),.prn(1),.q(q[0])); and and0(a[0], q[0], enb); tff tff1(.t(a[0]),.clk(clk),.clrn(1),.prn(1),.q(q[1])); and and1(a[1],q[1],enb); and and2(a[2], a[1], a[0]); tff tff2(.t(a[2]),.clk(clk),.clrn(1),.prn(1),.q(q[2])); and and3(a[3],q[2],enb); and and4(a[4], a[3], a[2]); tff tff3(.t(a[1]),.clk(clk),.clrn(1),.prn(1),.q(q[3])); module Este código vai implementar um contador e mostrar a contagem nos leds. Como se pode ver cada clock do flip flop seguinte vai buscar a variação de saída do flip flop anterior. Contador em Verilog A maneira simples reg [7:0] Cont; always@(posedge CLOCK_50) begin Cont < Cont+1; LEDR[7:4] Cont[7:4];

Descodificadores usando lógica combinatória (mapas de Karnaugh) Começamos por projectar um circuito que, usando os switchs para representar um número em binário de 2 bits, apresente esse número no painel de 7 segmentos. Vamos implementar este circuito usando tabelas de Karnaugh. Depois de fazermos e simplificarmos as tabelas de Karnaugh obtemos o seguinte: A!M1. M2 B 0 C!M2. M1 D!M1. M2 E M2 F M2 + M1 G!M1 Logo o código é: //usar os sw 5 e 6 para introduzir um numero em binario e aparece no display de sete segmentos (fazer logica combinatoria) HEX0[0]!SW[6] && SW[5]; HEX0[1] HEX0[2] 1'b0;!SW[5] && SW[6]; HEX0[3]!SW[6] && SW[5]; HEX0[4] SW[5]; HEX0[5] SW[5] SW[6]; HEX0[6]!SW[6 ]; Descodificadores usando case statement Agora vamos apresentar, no ecran de sete segmentos: O código é: 1 se os switchs estiverem a 0 0 3 se os switchs estiverem a 0 1 5 se os switchs estiverem a 1 0 7 se os switchs estiverem a 1 1 reg [1:0] sel; sel[1]sw[5]; sel[0]sw[6]; case (sel) 2 b00 : begin HEX0[0] HEX0[1] 1 b0; HEX0[2] 1 b0; HEX0[3] HEX0[4] HEX0[5]

HEX0[6] 2 b01 : begin HEX0[0] 1 b0; HEX0[1] 1'b0; HEX0[2] 1 b0; HEX0[3] 1 b0; HEX0[4] HEX0[5] HEX0[6] 1 b0; 2 b10 : begin HEX0[1] HEX0[0] 1'b1; 1 b0 HEX0[2] 1 b0; HEX0[3] 1 b0; HEX0[4] HEX0[5] 1 b0; HEX0[6] 1 b0; 2 b11 : begin HEX0[1] HEX0[0] 1'b0; 1 b0 HEX0[2] 1 b0; HEX0[3] HEX0[4] HEX0[5] HEX0[6] case