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

Documentos relacionados
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

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

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

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

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

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

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

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

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

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

Lógica Reconfigurável

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

Exercícios de Laboratório 3

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

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

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

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 Circuitos Combinacionais

Introdução à Linguagem VHDL

2006, António Esteves, Sistemas Digitais 1, UM-DI. Módulo 6. Sistemas sequenciais

Módulo 4 Introdução ao VHDL

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

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

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

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

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

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

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

Introdução VHDL Parte 4 - Testbench

1 a Lista de Exercícios

Registradores de Deslocamentos.

CIRCUITOS SEQUENCIAIS parte 1

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)

Circuitos Sequenciais

FPGA & VHDL. Tutorial

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

Lógica Reconfigurável

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

Armazenamento e Transferência de Dados

PRÁTICAS PARA DESENVOLVIMENTO DE PROTÓTIPOS DE CIRCUITOS DIGITAIS COM O KIT EDUCACIONAL DE2

Suporte de funcionamento e interacção com o teclado

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

SIMULAÇÃO DE CIRCUITOS

Exercícios de Fixação

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

Lógica Reconfigurável

PCS3225. Sistemas Digitais II. Biestáveis em VHDL. Biestáveis em VHDL. Marcos A. Simplicio Jr.

1 Objetivos. 2 Material utilizado. 3 Normas de segurança e conduta no laboratório. 4 Contextualização. Pág 1/6

Projeto com Dispositivos Programáveis

Projeto com Linguagens de Descrição de Hardware

Disciplina de SSC Elementos de Lógica Digital II (Prática)

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

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

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

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

ELT502 Eletrônica Digital I Graduação em Engenharia Eletrônica

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

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

TIPO INTEGER. Profa. Luiza Maria Romeiro Codá 2

CONTADORES DIGITAIS (Unidade 6)

Prof. Leonardo Augusto Casillo

Circuitos Seqüenciais Sistemas Digitais

ESTUDO DO CI COMERCIAL 74LS194 4 BIT BIDIRECTIONAL UNIVERSAL SHIFT REGISTER

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

EELi02. Prof. Vinícius Valamiel

Aula Expositiva 03. DCC 001 Programação de Computadores 2 o Semestre de 2011 Prof. Osvaldo Carvalho DCC

Contadores. Contador assíncrono

ISE com VHDL estrutural

Calculadora Simples em VHDL

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE

Laboratório sobre Implementação de Sistemas Digitais com VHDL Acesso à Memória Externa na Plataforma de Prototipação XS40/XST-1

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

SISTEMAS DIGITAIS (SD)

DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE DO MINHO

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

Flip-Flops, Registros e Contadores

Aula 2 Semântica de VHDL

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

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

Introdução a Sistemas Digitais

CIRCUITOS DIGITAIS. Contadores e Registradores. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau

UFJF FABRICIO CAMPOS

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

AULA 2 Implementação de Flip-Flops dos tipos JK e RS Livro Texto pág. 113 a 117 e 124 e 146 a 148 e 150 a 152.

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

CMP238 Projeto e Teste de Sistemas VLSI

SISTEMAS DIGITAIS (SD)

Conteúdo. Estrutura do código VHDL; Objetos; Tipos; Universidade Federal do Ceará Engenharia da Computação 2

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

SSC0112 Organização de Computadores Digitais I

ELD - Eletrônica Digital Aula 6 Circuitos Sequenciais Latches e Flip-Flops. Prof. Antonio Heronaldo de Sousa

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Exemplo 1 de Projeto de Circuito Síncrono: Multiplicador Binário

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

FPGA & VHDL. Tutorial Aula 1. Computação Digital

CIRCUITOS DIGITAIS. Circuitos Sequenciais e Flip-Flops. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau

CURSO BÁSICO DE VERILOG

PDA de Sistemas Digitais em Circuitos Programáveis

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

Transcrição:

Universidade Federal de Santa atarina entro Tecnológico epartamento de Informática e Estatística urso de Graduação em iências da omputação Aula 7-P escrição em VHL, síntese e simulação de registradores de deslocamento e contadores. Experimento com a placa E2 da Altera. guntzel@inf.ufsc.br Est. Vinícius Livramento vini@inf.ufsc.br www.inf.ufsc.br/~guntzel/ine546/ine546.html

Registradores de eslocamento e ontadores Registrador-eslocador Suponha que se deseje descrever em VHL um registrador capaz de realizar as operações de carga paralela e deslocamento (de bit) para a direita, conforme descrito na tabela de operações abaixo. R sel Operação omentário >> desl. p/ direita R arrega R sel ck shiftreg Observação: a cada borda de relógio ativa, este registrador realiza uma das duas operações descritas (carga de um valor novo a partir da entrada R ou deslocamento de bit para a direita de seu conteúdo). Portanto, não está prevista a operação mantém conteúdo. Slide 7P.2

Registradores de eslocamento e ontadores Registrador-eslocador O registrador-deslocamento tem a seguinte estrutura. R3 R2 R R serial 3 2 sel K 3 Uma alternativa para se descrever o registrador-deslocador especificado na transparência anterior é utilizar hierarquia. Neste caso, o elemento básico desta estrutura pode ser o seguinte 2 circuito. hamemo-lo de muxffd. sel clk Slide 7P.3

Registradores de eslocamento e ontadores Registrador-eslocador Este circuito, por sua vez, poderia ser descrito de modo hierárquico ( mux 2: + flip-flop ) ou como um único arquivo VHL (descrição sel comportamental). clk A segunda descrição é preferível, por ser mais fácil de compreender, ser derivável da descrição convencional de flip-flops e de envolver menos código. Hierarquia de arquivos VHL: Projeto shiftreg shiftreg muxffd Slide 7P.4

Registradores de eslocamento e ontadores Registrador-eslocador (componente básico) LIBRARY ieee; USE ieee.std_logic_64.all; muxffd ENTITY muxffd IS PORT (,, sel, clk: IN ST_LOGI; : OUT ST_LOGI ); EN muxffd; ARHITETURE comportamento OF muxffd IS PROESS (clk) sel clk IF clk EVENT AN clk = THEN IF sel = THEN <= ; ELSE <= ; EN IF; EN PROESS; EN comportamento; Slide 7P.5

Registradores de eslocamento e ontadores Registrador-eslocador (de 4 bits, hierárquico) R3 R2 R R LIBRARY ieee; USE ieee.std_logic_64.all; serial 3 2 sel K ENTITY shiftreg IS 3 2 PORT ( R : IN ST_LOGI_VETOR(3 OWNTO ); carga, serial, clk : IN ST_LOGI; : BUFFER ST_LOGI_VETOR(3 OWNTO ) ); EN shiftreg ; Por que BUFFER? ARHITETURE estrutura OF shiftreg IS OMPONENT muxffd PORT (,, sel, clk : IN ST_LOGI; : OUT ST_LOGI ); EN OMPONENT; estagio3: muxffd PORT MAP ( serial, R(3), carga, clk, (3) ); estagio2: muxffd PORT MAP ( (3), R(2), carga, clk, (2) ); estagio: muxffd PORT MAP ( (2), R(), carga, clk, () ); estagio: muxffd PORT MAP ( (), R(), carga, clk, () ); EN estrutura; Slide 7P.6

Registradores de eslocamento e ontadores Modos Possíveis para os Sinais que são Portas de Entidade IN Modo OUT INOUT Uso Para sinal que é entrada de entidade Para sinal que é saída de entidade. O valor do sinal não pode ser usado dentro da entidade (i.e., o sinal só pode aparecer à esquerda de uma atribuição) Para sinal que é tanto entrada quanto saída de entidade BUFFER Para sinal que é saída de entidade. O valor do sinal pode ser usado dentro da entidade (i.e., o sinal pode aparecer tanto à esquerda quanto à direita de uma atribuição) Slide 7P.7

Registradores de eslocamento e ontadores Registrador-eslocador (descr. comportamental) LIBRARY ieee; USE ieee.std_logic_64.all; ENTITY shiftreg2 IS PORT ( R : IN ST_LOGI_VETOR(3 OWNTO ); carga, serial, clk : IN ST_LOGI; : BUFFER ST_LOGI_VETOR(3 OWNTO ) ); EN shiftreg2; ARHITETURE comportamento OF shiftreg2 IS PROESS (clk) IF clk EVENT AN clk = THEN IF sel = THEN <= R; ELSE () <= (); () <= (2); (2) <= (3); (3) <= serial; EN IF; EN PROESS; Slide 7P.8 Sistemas EN comportamento; igitais - semestre 2/ sel Operação omentário >> desl. p/ direita R arrega R

Registradores de eslocamento e ontadores Registrador-eslocador (n bits, descr. comportamental) ENTITY shiftreg3 IS GENERI ( N : INTEGER := 8 ); PORT ( R : IN ST_LOGI_VETOR(N- OWNTO ); sel, serial, clk : IN ST_LOGI; : BUFFER ST_LOGI_VETOR(N- OWNTO ) ); EN shiftreg3; ARHITETURE comportamento OF shiftreg3 IS PROESS (clk) IF clk EVENT AN clk = THEN IF sel = THEN <= R; ELSE Genbits: FOR i IN TO N-2 LOOP (i) <= (i+); EN LOOP; (N-) <= serial; EN IF; EN IF; EN PROESS; EN comportamento; Slide 7P.9 sel Operação omentário >> desl. p/ direita R arrega R

Registradores de eslocamento e ontadores FOR LOOP x FOR GENERATE FOR LOOP: usado para gerar um conjunto de atribuições seqüenciais (logo, usado dentro de processos) FOR GENERATE: usado para gerar um conjunto de atribuições concorrentes (logo, usado dentro de bloco, mas fora de processos) Ambos declaram variáveis locais que servem apenas para auxiliar (e as vezes, tornar mais genérica) uma descrição VHL. Tratam-se de diretivas que o compilador VHL compreende e substitui por comportamento/estrutura equivalente em tempo de compilação. Slide 7P.

Registradores de eslocamento e ontadores ontador de 3 bits (ripple) Usando flip-flops 2 K clear clear clear limpa 2 Para descrever este tipo de contador em VHL usando hierarquia, iremos instanciar o flip-flop Porém, a descrição do flip-flop em VHL deve conter ambas saídas, e N ( not ) Slide 7P.

Registradores de eslocamento e ontadores Flip-flop (com saídas e N) LIBRARY ieee; USE ieee.std_logic_64.all; ENTITY ffv2 IS PORT (, clk, limpa : IN ST_LOGI;, N : OUT ST_LOGI); EN ffv2; ARHITETURE comportamento OF ffv2 IS PROESS (clk, limpa) IF limpa= THEN <= ; N <= ; ELSIF clk EVENT AN clk = THEN <= ; N <= not ; EN IF; EN PROESS; EN comportamento; clear Slide 7P.2

Registradores de eslocamento e ontadores ontador de 3 bits (ripple) LIBRARY ieee; USE ieee.std_logic_64.all; ENTITY cont3b IS PORT ( clk, limpa : IN ST_LOGI; Aout : OUT ST_LOGI_VETOR (2 OWNTO )); EN cont3b; ARHITETURE estrutura OF cont3b IS SIGNAL N, N, N2 : ST_LOGI; (Usando flip-flops com saídas e N) K limpa clear clear 2 clear OMPONENT ffv2 PORT (, clk, limpa: IN ST_LOGI;, N : OUT ST_LOGI); EN OMPONENT; 2 ff: ffv2 PORT MAP (N, clk, limpa, Aout(), N); ff: ffv2 PORT MAP (N, N, limpa, Aout(), N); ff2: ffv2 PORT MAP (N2, N, limpa, Aout(2), N2); EN estrutura; Slide 7P.3

Registradores de eslocamento e ontadores ontador de 4 bits LIBRARY ieee; USE ieee.std_logic_64.all; Não é necessário (apenas por clareza ) Slide 7P.4 (Versão comportamental ) ENTITY contador IS PORT ( clk, limpa, carga : IN ST_LOGI; : OUT ST_LOGI_VETOR( 3 OWNTO ) ); EN contador ; ARHITETURE comportamento OF contador IS SIGNAL conta : ST_LOGI_VETOR (3 OWNTO ) ; PROESS (clk, limpa) IF limpa = THEN conta <= ; ELSIF ( clk EVENT AN clk = ) THEN IF carga = THEN conta <= conta + ; ELSE conta <= conta; EN IF; EN IF; EN PROESS; <= conta; EN Sistemas comportamento; igitais - semestre 2/

Registradores de eslocamento e ontadores ontador Assíncrono (ripple) de n bits LIBRARY ieee; USE ieee.std_logic_64.all; ARHITETURE comportamento OF contnb IS PROESS (clk, limpa) IF limpa = THEN <= ; ELSIF ( clk EVENT AN clk = ) THEN IF carga = THEN <= R; ELSE <= + ; EN IF; EN IF; EN PROESS; EN comportamento; Slide 7P.5 (om carga paralela e usando sinais do tipo integer ) ENTITY contnb IS PORT ( R : IN INTEGER RANGE TO 5; clk, limpa, carga : IN ST_LOGI; : BUFFER INTEGER RANGE TO 5 ); EN contnb ; limpa carga Operação omentário + onta (incr.conteúdo) R arrega R X Reseta conteúdo assincronamente

Projeto de Sistemas igitais com Ferramentas EA Registradores de eslocamento e ontadores Passos do projeto contador. Na pasta Meus_documentos, criar uma pasta com o seu nome (p. ex., Paulo ). Na pasta Paulo, criar uma pasta com nome de contador. 2. Acessar o sítio www.inf.ufsc.br/~guntzel/ine546/aula7p e baixar para a pasta contador os seguintes arquivos: -> contador.vhd -> reg4bitscont.vhd -> binary2dec.vhd -> binary2hex.vhd -> Setup_yclone_235_E2.tcl 3. Abrir o uartus II e criar um projeto na pasta contador, usando contador.vhd como toplevel. Escolher o dispositivo FPGA EP235F6726 e selecionar o ModelSim-Altera como EA Simulation Tool. 4. ompilar o projeto criado. Slide 7P.6

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Verificar o mapeamento dos pinos do FPGA Slide 7P.7

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Verificar o mapeamento dos pinos do FPGA Mapeamentos do switches Abrir o E2 UserManual.pdf Mapeamentos dos displays de 7 segmentos Posição e index de cada segmento do display de 7 segmentos Slide 7P.8

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores O script Setup_yclone_235_E2.tcl Setup_yclone_235_E2.tcl Slide 7P.9

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Executar script de mapeamento dos pinos Setup_yclone_235_E2.tcl Slide 7P.2

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Verificar o mapeamento dos pinos do FPGA Slide 7P.2

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Passos do projeto contador ompilar. Processing -> Start ompilation 2. Aguardar mensagem uartus II Full ompilation Succesfull (ou mensagem de erro) Slide 7P.22

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores onectar a placa no P e ligá-la Porta USB-BLASTER Alimentação da placa E2 Slide 7P.23

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Baixar o projeto para a placa Slide 7P.24

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Baixar o projeto para a placa USB-BLASTER [USB-] Slide 7P.25

Prototipação com a Placa E2 da Altera Registradores de eslocamento e ontadores Baixar o projeto para a placa contador.sof Slide 7P.26