Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos alexvbh@gmail.com



Documentos relacionados
Dispositivos Lógicos Programáveis

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

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Organização e Arquitetura de Computadores II

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

Introdução ao Desenvolvimento de Circuitos Digitais Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

FPGA Field Programmable Gate Array

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

- Arquitetura de sistemas digitais- Cap 1 - Introdução

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

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

FPGA & VHDL. Tutorial

UNIVERSIDADE PRESBITERIANA MACKENZIE Decanato Acadêmico

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

IMPLEMENTAÇÃO DE CONTROLADOR LÓGICO BASEADO EM LÓGICA PROGRAMÁVEL ESTRUTURADA ( FPGA) Resumo

Microelectrónica (ME)

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil. grace@fem.unicamp.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

4.a Aula Prática Projeto de um Somador de 16 bits com a Linguagem VHDL

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit

Arquitetura de Computadores

Linguagem de Programação

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Introdução à Computação

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

Ciclo de Seminários Técnicos

Sistemas Digitais. Sistemas Digitais III - Ementa

Você acha que não precisa de um FPGA? Pense melhor!

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Prototipação de Sistemas Digitais. Metodologia de Projetos Cristiano Araújo

Prof. Leonardo Augusto Casillo

Aula 6: Introdução ao System Generator

UNIVERSIDADE FEDERAL DE ITAJUBÁ Instituto de Engenharia Elétrica Engenharia da Computação

Projeto Moderno de Sistemas Digitais

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

ELETRÔNICA DIGITAL I

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

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

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Centro Universitário da FEI Engenharia Elétrica PROJETO DE SISTEMAS. DIGITAIS UTILIZANDO FPGAs

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

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

Apresentação Sistemas Embutidos

Automação. Industrial. Prof. Alexandre Landim

Introdução a Programação Funcional

Eletrônica Digital para Instrumentação

Dispositivos Lógicos Programáveis

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

PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Modelagem de Sistemas com VHDL

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

Arquitetura de Computadores Moderna

Paradigmas de Linguagens de Programação

Dispositivos de Lógica Programável

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

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

Disciplina: Laboratório de Circuitos Digitais

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

Introdução à Engenharia de Computação

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET - Centro de Ciências Exatas e de Tecnologia Engenharia de Computação VELOHIDRO CURITIBA

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Introdução. Prof. MSc. Hugo Souza

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:

Introdução a Organização e Arquitetura de Computadores

TE232 CAD para Eletrônica. TE232 CAD para Eletrônica

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

Computador Digital Circuitos de um computador (Hardware)

Engenharia de Software II

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Algoritmos e Linguagem de Programação I

Marcos da Arquitetura de Computadores (1)

MC-102 Aula 01. Instituto de Computação Unicamp

Gerenciamento de memória

MATA49 Programação de Software Básico

Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

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

Circuitos Seqüenciais

Linguagem de Programação Procedural (VB) Prof. MSc Eng Marcelo Bianchi AULA 01 - INTRODUÇÃO AO VB

Circuitos sequenciais elementares

N.Lau Prof. Aux. R.Escades Prof. Aux. I.Skliarova Prof. Aux. A.Borges Prof. Ass. A.Oliveira Prof. Aux. A.Ferrari Prof. Cat. V.Sklyarov Prof.

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Descrição e Projeto de Circuitos Utilizando VHDL

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos

DISCIPLINA: Sistemas Digitais

Algoritmos DCC 119. Introdução e Conceitos Básicos

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

1. Introdução - contextos de aplicações

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

Projeto com Linguagens de Descrição de Hardware

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Transcrição:

Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) 1 Alex Vidigal Bastos alexvbh@gmail.com

Objetivos da Aula Apresentar o conceito gerais de Linguagens de Descrição de Hardware (Verilog / VHDL) Apresentar o Fluxo de Projeto utilizando HDLs Mostrar alguns ambientes de desenvolvimento para Verilog e VHDL Requisitos Portas lógicas / Circuitos Digitais Lógica Programação 2

Mercado de Trabalho Oquepedem? Conhecimentos em HDL(geralmente VHDL ou Verilog); Experiência com FPGA(Field programmable gate array); Conhecimentos em alguma ferramenta tanto de síntese quanto de testes; Quanto pagam? OpisosalarialéemtornodeR$3.000,00 SaláriospodemiratéR$15.000,00 Quemsão eles? Ceitec(Porto Alegre); http://www.ceitec-sa.com/ Freescale (São Paulo); http://www.freescale.com/webapp/sps/site/overview.jsp?cod e=brazil 3

Ao final da aula Deve estar claro para o aluno onde deveser utilizado linguagens de descrição de hardware. Deve estar claro os conceitos básicos sobre as linguagens Verilog e VHDL e algumas de suas diferenças. Oalunodeveestaraptoparainiciaroaprendizadodelinguagensde descrição de hardware( Verilog/ VHDL). 4

Agenda Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 5

Agenda Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 6

Linguagens de Descrição de Hardware (HDLs) -Visão Geral Linguagens de Descrição de Hardware (HDLs) são usadas extensivamente na indústria para projetos de sistemas digitais variando de microprocessadores para componentes dentro de aparelhos de consumo; São utillizadas para projetar hardware. Tal como o nome implica, uma HDL também pode ser usada para descrever a funcionalidade do hardware, bem como a sua aplicação; Diferença entre uma linguagem de programação de software: paralelismo; 7

Linguagens de Descrição de Hardware (HDLs) -Exemplos VHDL(VHSIC Hardware Description Language) Verilog AHDL MyHDL Dentre outras; VHSIC(Very High Speed Integrated Circuit) 8

Linguagens de Descrição de Hardware (HDLs) -ASICs 9

Linguagens de Descrição de Hardware (HDLs) -Vantagens Menor espaço ocupado na placa; Menor consumo de energia; Maior confiabilidade; Menor complexidade de desenvolvimento; E geralmente, menor custo. 10

Sumário Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 11

Fluxo de Projetos -Introdução Com as linguagens de descrição de hardware, o processou passou a ser como desenvolver um software, tendo como etapas: A especificação do projeto em alto nível; Codificação; Verificação/ testes; Sintetização; 12

Fluxo de Projetos Nível Comportamental O nível comportamental de uma hierarquia de projeto é um refinamento lógico da especificação; Deve fornecer informações funcionais precisas sobre como o estado do sistema é afetado para cada operação específica; 13

Fluxo de Projetos Nível Estrutural O nível estrutural responde as questões de como as funções são realmente implementadas e também para definir o número de ciclos requeridos para executar cada operação; Representa o mapeamento do modelo comportamental para uma implementação mais específica; 14

Fluxo de Projetos Nível Físico O nível físico específica os detalhes a nível do chip, layout e transistores; É definido o mapeamento da descrição do nível estrutural sobre uma tecnologia específica; 15

Fluxo de Projetos Boas práticas de programação Códigos bem feitos é um papel importante em um fluxo de projeto, pois códigos ruins NÃO permitem uma otimização eficiente durante a síntese; Convenção de Nomes; Particionamento do Projeto; 16

Agenda Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 17

Verilog-Introdução Foi projetada primeiramente em 1984/1985; Permite representar a hierarquia de um projeto. As estruturas de Verilog que constrõem a hierarquia são: Módulos; Portas 18

Verilog-Hierarquia UmmodeloemVerilogécompostodemódulos. 19

Verilog-Hierarquia A maneira mais comum de representar uma relação hierárquica é: system instantiates comp1, comp2 comp_2 instantiates sub_3 20

Verilog Módulos A maneira mais comum de representar uma relação hierárquica é: top.childb.node1.leaf2 localização na hierarquia 21

Verilog Portas Portas são estruturas em Verilog onde os dados passam entre módulos pai e filho; Podemserpensadascomofiosdeligaçãodosmódulos; As conexões fornecidas pelas portas podem ser de entrada, saída ou bidirecioanais. Portas são listadas em uma lista de portas na definição do móduloesuadireçãoédeclaradaapósainstruçãodomódulo; 22

Verilog Módulos Ummóduloédefinidocomo: module <module_name_1>(<portlist>);.. <module_name_2> <instance_name>(<portlist>);.. endmodule 23

Verilog Módulos Ummóduloédefinidocomo: module top(<portlist>);.. type2 childb(<portlist>);.. endmodule 24

Verilog Portas 25

Verilog Instanciação Instanciação do módulo também contém a lista de portas. Este é o meio de ligação de sinais entre o módulo pai e o módulo filho; 26

Verilog Instanciação Na instanciação de um módulo, a lista de portas pode ser baseada no nome da porta ou de acordo com a posição da porta na definição do módulo; Posição- foof1(source1,,sink1,,bus); Nome - foo f1 (.in1(source1),.in2(source2),.out1(sink1),.out2(sink2),.bidi(bus)); 27

Verilog Tipos de Componentes Modelos em Verilog são compostos por módulos. Módulos por sua vez, são de diferentes tipos de componentes, estes incluem: Parâmetros; Fios; Registradores; Primitivas e Instâncias; Atribuições; Blocos Procedurais; Tarefas, Definições Funções 28

Verilog Exemplo moduleand2(a,b,y); input a,b; output y; assigny=a&b; endmodule 29

Verilog Exemplo 30

Verilog Exemplo 31

Verilog Exemplo 32

Agenda Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 33

VHDL -Introdução Surgiuem1987comopadrãoIEEE1076-1987; Suportar projetos com múltiplos níveis de hierarquia, podendo a descrição consistir na interligação de outras descrições menores; Com exceção de regiões específicas do código, todos os comandos são executados concorrentemente; VHDL não foi originalmente concebida para síntese de circuitos, assim, nem todas as construções são suportadas pelas ferramentas de síntese; 34

VHDL Entidade de um projeto Pode representar desde uma simples porta lógica a um sistema complexo, sendo composta de: - Declaração da entidade e arquitetura; 35

VHDL Declaração da entidade de um projeto ENTITY <name_entity> IS --definição de constantes --definição das portas END <name_entity> ; 36

VHDL Declaração da entidade de um projeto ENTITY entidade_abc IS GENERIC(n : INTEGER :=5); PORT(x0,x1 :IN tipo_a; --entradas y0,y1 :OUT tipo_b; --saídas y2 : BUFFER tipo_c; --saída z0, z1 : INOUT tipo_d; --entrada/saída END entidade_abc; 37

VHDL Declaração do corpo de um projeto ARCHITECTURE nome_identificador OF entidade_abc IS BEGIN END; -- região de declarações; -- declaração de sinais e constantes; -- declaração de componentes referenciados; -- declaração e corpo sub_programas; -- definição de novos tipos de dados locais; -- comandos concorrentes; 38

VHDL Exemplo ENTITY comb IS PORT(e0,e1: IN Bit; s0 : OUT Bit); End comb; ARCHITECTURE prt_e OF comb IS BEGIN s0 <= e1nande2; END prt_e; ARCHITECTURE prt_ou OF comb IS BEGIN s0 <= Note1ouNote2; END prt_ou; 39

VHDL Exemplo 40

VHDL Exemplo ENTITY portas IS PORT(a,b,c : IN Bit; x,y : OUT Bit); End portas; ARCHITECTURE teste OF portas IS BEGIN x<=aandb; y<=corb; END 41

Agenda Linguagens de Descrição de Hardware(HDLs) Fluxo de Projetos Verilog VHDL Ambientes de Desenvolvimento 42

Ambientes de Desenvolvimento AlteraQuartusII Windows/Linux 43

Ambientes de Desenvolvimento ISE Design Suite/ Project Navigator 44

Ambientes de Desenvolvimento Linux IDE Eclipse; GTKWave; Compilador Verilog; Windows IDE Eclipse; GTKWave; Compilador iverilog; MinGW; 45

Bibliografia www.verilog.com, acessado em 10/12/2012. K. COFFMAN; Real World FPGA Design with Verilog. Prentice Hall; 2000 Smith, Douglas, J. HDL chip design: a practicalguidefor designing, synthesizing and simulating ASICs and FPGAs using VHDL orverilog. Madison : Doone, c1996. 448p. (621.38173 S645h) LEE, WengFook. VerilogCodingfor LogicSynthesis. Wiley. 2003 46

Próxima Aula Revisão Conceitos Verilog(referente a aula anterior); Sintaxe, Convenções Léxicas, Tipos de Dados e Memória em Verilog; Spartan 3 Decoder Tutorial Verilog www.decom.ufop.br/alex/tutorial_decoder.pdf 47

Perguntas 48