Introdução à Linguagem VHDL

Documentos relacionados
Introdução à Linguagem VHDL

Funções de Lógica Combinacional

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

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

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

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

Módulo 4 Introdução ao VHDL

Revisão: Projeto de Processadores em VHDL

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

Exercícios Referentes à Prova P1

Circuitos combinatórios. (Revisão)

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

CIRCUITOS SEQUENCIAIS parte 1

Projetos de Circuitos Digitais em VHDL e FPGA

VHDL Circuitos Combinacionais

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

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

Exercícios Referentes à Prova P1

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

Projeto de Somador com e sem Sinal. Qualificadores

VIVADO TUTORIAL 101: CADEADO DIGITAL

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

Aula 2 Semântica de VHDL

Projeto com Linguagens de Descrição de Hardware

Arquitetura de Computadores Aula 9 Portas Lógicas

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

Introdução à Linguagem VHDL

DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE

Projetos de Circuitos Digitais em VHDL e FPGA

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

Projeto Moderno de Sistemas Digitais

ELETRÔNICA DIGITAL. Parte 4 Funções Lógicas - Circuitos Integrados. Professor Dr. Michael Klug. 1 Prof. Michael

Treinamento em Projeto de Sistemas Digitais

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

FPGA & VHDL. Tutorial

Aula 8 - Unidade lógica aritmética e Multiplicadores

Introdução VHDL Parte 4 - Testbench

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4

LABORG. VHDL Máquina de estados finitos

Projetos de Circuitos Digitais em VHDL e FPGA

Calculadora Simples em VHDL

Infra-Estrutura de Hardware

Profa. Luiza Maria Romeiro Codá 2

UFMT. Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO

364 SISTEMAS DIGITAIS

VHDL é uma linguagem bastante complexa!

Tópicos Especiais 2 Capítulo 3 Introdução ao VHDL, sintaxe básica, tipo de dados e atribuições

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

Projetos de Circuitos Digitais em VHDL e FPGA

Arquitetura de Computadores. Tiago Alves de Oliveira

Projetos de Sistemas Digitais com VHDL - Parte I

Roteiro do Projeto de Teoria: Cálculo do Delta Introdução

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

Introdução a Sistemas Digitais

TUTORIAL PARA SIMULAÇÃO

ÁLGEBRA BOOLEANA E LÓGICA DIGITAL AULA 04 Arquitetura de Computadores Gil Eduardo de Andrade

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

Sistemas Digitais Unidade Lógica e Aritmética - ULA

UFPR Bacharelado em Ciência da Computação CI210 Projetos Digitais e Microprocessadores Laboratório: Somadores 30 de agosto de 2017

Modelagem de Sistemas com VHDL

3 De acordo com a literatura, qual a faixa de tensão válida para a entrada de uma porta Inversora da família TTL?

Descrição e Projeto de Circuitos Utilizando VHDL

DSP Builder - Altera. MO801 - Tópicos em Arquitetura e Hardware. Michele Tamberlini 05/2006

CIRCUITOS COMBINACIONAIS

UNIVERSIDADE CATÓLICA DE PELOTAS MESTRADO EM ENGENHARIA ELETRÔNICA E COMPUTAÇÃO

1. Sistemas de numeração e códigos 23

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Relatório de Prática no LABORATORIO

Eletrônica Digital Lista de Exercícios

7 Operadores e Expressões

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

Relatório de Prática no LABORATORIO

CIRCUITOS DIGITAIS COMBINACIONAIS (Unidade 3)

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

Exercícios de Fixação

Circuitos Lógicos Combinacionais Aula Prática

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

Transcrição:

Fundamentos de Sistemas Digitais 23/abril/2019 Introdução à Linguagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1

Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um pouco incompleto! Free Range VHDL Até sec 4.3, mais completo D'AMORE, Roberto. VHDL: Descrição e Síntese de Circuitos Digitais. Rio de Janeiro: LTC, 2005. 259 p. PEDRONI, Volnei A. Eletrônica Digital Moderna e VHDL. Elsevier Ltda. Editora, Rio de Janeiro, RJ: 2010. 619 p. Cap 19 Floyd. A Parte de VHDL está espalhada no livro, o que pode ser um pouco confuso. 2

ATENÇÃO Não se aprende alguma linguagem : Escutando alguém explicar Somente lendo livros Aprende praticando Exercício EXTRA-CLASSE é FUNDAMENTAL! Façam exercícios sugeridos e procurem outros nos livros indicados 3

Qual é o problema do esquemático?!?!? 4

INTERFACE EXTERNA: entity Entidade Especifica somente a interface entre o hardware e o ambiente Não contém definição do comportamento ou da estrutura internos A B Sum Carry Código VHDL da entidade: 5

Arquitetura COMPORTAMENTO : architecture Especifica o comportamento e/ou a estrutura internos da entity Deve ser associada a uma entity específica Uma entity pode ter associada a si várias architecture (representando diferentes formas de implementar um mesmo módulo) Código VHDL da arquitetura: Tabela Verdade A B Sum Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 6

Biblioteca 7

Exemplo de Descrição VHDL Na prática não precisa de um par entidadearquitetura para uma and and é comando primitivo 8

Expressões Lógicas Operadores nativos de VHDL: Operações lógicas: and, or, nand, nor, xor, not Operações relacionais: =, /=, <, <=, >, >= Operações aritméticas: - (unária), abs Operações aritméticas: +, - Operações aritméticas: *, / Operações aritméticas: mod, rem, ** Concatenação: & Menor PRIORIDADE Maior Questão: o que a seguinte linha de VHDL realiza? X <= A <= B 9

Uso de hierarquia: instanciação (1/3) A B F Y A X T G U S1 M N I Y F Y B X T H U S2 Módulos compostos por sub-módulos (instâncias) conectados por sinais Na Figura acima, tem-se o módulo F (entity desenhada à esquerda), com entradas A e B e saída Y. A architecture de F desenhada como sendo composta pelos módulos G,H,I e pelos sinais internos s1 e s2. Note-se que G e H possuem a mesma entity (entradas X, T, e saída U), representando (G e H) duas instâncias distintas de um mesmo módulo de hardware. Em VHDL: Instâncias são denominadas component (componentes, com declaração opcional) Fios de interconexão: signal (sinais de um determinado tipo, tal como bit, integer, etc.) Para criar relação entre sinais e conectores das instâncias: comando port map 10

Descrevendo circuitos lógicos com hierarquia (2/3) Declaração da Interface Externa clock bit_0 Tflip_flop CK Q contador ff0 q0 inv inversor A Y inv_ff0 bit_1 Tflip_flop CK Q ff1 q1 Instanciações de módulos (lê-se pino em sinal ) ATENÇÃO AOS SINAIS INTERNOS! 11

Ambiente de Verificação Testbench Geração de estímulos e Captura de saídas Circuito (RTL) Resultados Comparação Resultados esperados 12

Uma forma simples de testar o projeto: testbenches Na sua forma mais simples, um testbench consiste em um ou mais processos geradores de estímulos e uma instância do projeto que se quer testar O testbench é construído como um módulo VHDL que não contém portas de entrada/saída. Ou seja, trata-se de um sistema fechado, ou autônomo Simulação TESTBENCH GERADOR DE ESTÍMULOS A D A Y B PROJETO Z Z T 13

Exemplo de Testbench para o Somador 14

Exemplo de Simulação da Descrição 0 0 0 0 1 0 1 0 0 1 1 0 aa <= '0', '1' after 10 ns, '0' after 20 ns, '1' after 30 ns; bb <= '0', '1' after 20 ns; aa fio ligado no pino A bb fio ligado no pino B soma - fio ligado no pino Sum vaium fio ligado no pino Carry 15

TestBench para a porta E 16

Exercício: VHDL à Porta Lógica 17

Solução: VHDL à Porta Lógica * Free range VHDL, pg 31 18

Ordem das atribuições (<=) é relevante? VHDL é uma linguagem paralela, a ordem das atribuições (processos, blocos) não é relevante. O erro mais comum cometido por alguém é tentar programar em VHDL como se fosse programar uma linguagem de alto nível (HAVA, C). Linguagens de alto nível são sequenciais por natureza; VHDL não é * Free range VHDL, pg 5 19

Expressão Booleana à VHDL * Free range VHDL, pg 36 20

Expressão Booleana à VHDL * Free range VHDL, pg 36 21

Expressão Booleana à VHDL * Free range VHDL, pg 37 22

Exercícios Dados os esquemáticos abaixo, escreva o VHDL correspondente. 23

Faça um Testbench para este Módulo * Free range VHDL, pg 36 24

Testbench com geração exaustiva de estímulos 0 1 2 3 4 5 6 7 25

Está correta a simulação? 0 1 2 3 4 5 6 7 F = L. M. N + L.M = (001, 110, 111) = (1, 6, 7) Ou seja, a implementação está correta pois F3 está em 1 apenas nas condições especificadas pela função. 26