hdls [modo de compatibilidade] - decom- · pdf filevhdl -introdução ... •...

48
Conceitos de Linguagens de Descrição de Hardware (Verilog, VHDL) Alex Vidigal Bastos [email protected] 1

Upload: vuonganh

Post on 15-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Conceitos de Linguagens de

Descrição de Hardware

(Verilog, VHDL)

Alex Vidigal [email protected]

1

Page 2: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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

Page 3: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Mercado de Trabalho• O que pedem?

• Conhecimentos em HDL (geralmente VHDL ou Verilog);

• Experiência com FPGA (Field programmable gate array);

• Conhecimentos em alguma ferramenta tanto de síntese quantode testes;

• Quanto pagam?

• O piso salarial é em torno de R$ 3.000,00

• Salários podem ir até R$ 15.000,00

• Quem sã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

Page 4: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Ao final da aula

• Deve estar claro para o aluno onde deve ser utilizado linguagens dedescrição de hardware.

• Deve estar claro os conceitos básicos sobre as linguagens Verilog eVHDL e algumas de suas diferenças.

• O aluno deve estar apto para iniciar o aprendizado de linguagens dedescrição de hardware ( Verilog / VHDL).

4

Page 5: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Agenda

• Linguagens de Descrição de Hardware (HDLs)

• Fluxo de Projetos

• Verilog

• VHDL

• Ambientes de Desenvolvimento

5

Page 6: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Agenda

• Linguagens de Descrição de Hardware (HDLs)• Fluxo de Projetos

• Verilog

• VHDL

• Ambientes de Desenvolvimento

6

Page 7: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Linguagens de Descrição de

Hardware (HDLs) - Visão Geral

• Linguagens de Descrição de Hardware (HDLs) são usadasextensivamente na indústria para projetos de sistemas digitaisvariando de microprocessadores para componentes dentrode aparelhos de consumo;

• São utillizadas para projetar hardware. Tal como o nomeimplica, uma HDL também pode ser usada para descrever afuncionalidade do hardware, bem como a sua aplicação;

• Diferença entre uma linguagem de programação de software:paralelismo; 7

Page 8: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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

Page 9: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Linguagens de Descrição de

Hardware (HDLs) - ASICs

9

Page 10: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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

Page 11: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Sumário

• Linguagens de Descrição de Hardware (HDLs)

• Fluxo de Projetos• Verilog

• VHDL

• Ambientes de Desenvolvimento

11

Page 12: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Fluxo de Projetos - Introdução

• Com as linguagens de descrição de hardware, o processoupassou a ser como desenvolver um software, tendo comoetapas:

• A especificação do projeto em alto nível;

• Codificação;

• Verificação / testes;

• Sintetização;

12

Page 13: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Fluxo de Projetos – Nível

Comportamental

• O nível comportamental de uma hierarquia de projeto é umrefinamento lógico da especificação;

• Deve fornecer informações funcionais precisas sobre como oestado do sistema é afetado para cada operação específica;

13

Page 14: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Fluxo de Projetos – Nível

Estrutural

• O nível estrutural responde as questões de como as funçõessão realmente implementadas e também para definir onúmero de ciclos requeridos para executar cada operação;

• Representa o mapeamento do modelo comportamental parauma implementação mais específica;

14

Page 15: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Fluxo de Projetos – Nível Físico

• O nível físico específica os detalhes a nível do chip, layout etransistores;

• É definido o mapeamento da descrição do nível estruturalsobre uma tecnologia específica;

15

Page 16: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Fluxo de Projetos – Boas práticas

de programação

• Códigos bem feitos é um papel importante em um fluxo deprojeto , pois códigos ruins NÃO permitem uma otimizaçãoeficiente durante a síntese;

• Convenção de Nomes;

• Particionamento do Projeto;

16

Page 17: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Agenda

• Linguagens de Descrição de Hardware (HDLs)

• Fluxo de Projetos

• Verilog• VHDL

• Ambientes de Desenvolvimento

17

Page 18: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog - Introdução

• Foi projetada primeiramente em 1984/1985;

• Permite representar a hierarquia de um projeto. As estruturasde Verilog que constrõem a hierarquia são:

• Módulos;

• Portas

18

Page 19: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog - Hierarquia

• Um modelo em Verilog é composto de módulos.

19

Page 20: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog - Hierarquia

• A maneira mais comum de representar uma relaçãohierárquica é:

• system instantiates comp1, comp2

• comp_2 instantiates sub_320

Page 21: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Módulos

• A maneira mais comum de representar uma relaçãohierárquica é:

• top.childB.node1.leaf2 – localização na hierarquia

21

Page 22: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Portas

• Portas são estruturas em Verilog onde os dados passam entremódulos pai e filho;

• Podem ser pensadas como fios de ligação dos mó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 domódulo e sua direção é declarada após a instrução do módulo;

22

Page 23: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Módulos

• Um módulo é definido como:

module <module_name_1> (<portlist>);

. .

<module_name_2> <instance_name> (<portlist>);

. .

endmodule

23

Page 24: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Módulos

• Um módulo é definido como:

module top(<portlist>);

. .

type2 childB(<portlist>);

. .

endmodule

24

Page 25: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Portas

25

Page 26: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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 omódulo filho;

26

Page 27: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Instanciação

Na instanciação de um módulo, a lista de portas pode serbaseada no nome da porta ou de acordo com a posição daporta na definição do módulo;

• Posição - foo f1 (source1, , sink1, , bus);

• Nome - foo f1 (.in1(source1), .in2(source2), .out1(sink1),.out2(sink2), .bidi(bus));

27

Page 28: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Tipos de Componentes

Modelos em Verilog são compostos por módulos. Módulos porsua vez, são de diferentes tipos de componentes, estesincluem:

• Parâmetros;

• Fios;

• Registradores;

• Primitivas e Instâncias;

• Atribuições;

• Blocos Procedurais;

• Tarefas, Definições Funções28

Page 29: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Exemplo

module and2 (a, b, y);

input a,b;

output y;

assign y = a & b;

endmodule

29

Page 30: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Exemplo

30

Page 31: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Exemplo

31

Page 32: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Verilog – Exemplo

32

Page 33: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Agenda

• Linguagens de Descrição de Hardware (HDLs)

• Fluxo de Projetos

• Verilog

• VHDL• Ambientes de Desenvolvimento

33

Page 34: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL - Introdução

• Surgiu em 1987 com o padrão IEEE 1076-1987;

• Suportar projetos com múltiplos níveis de hierarquia, podendoa descrição consistir na interligação de outras descriçõesmenores;

• Com exceção de regiões específicas do código, todos oscomandos são executados concorrentemente;

• VHDL não foi originalmente concebida para síntese decircuitos, assim, nem todas as construções são suportadaspelas ferramentas de síntese;

34

Page 35: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Entidade de um projeto

• Pode representar desde uma simples porta lógica a umsistema complexo, sendo composta de:

- Declaração da entidade e arquitetura;

35

Page 36: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Declaração da entidade de

um projeto

ENTITY <name_entity> IS

- -definição de constantes

- -definição das portas

END <name_entity> ;

36

Page 37: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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

Page 38: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Declaração do corpo de um

projeto

ARCHITECTURE nome_identificador OF entidade_abc IS

-- 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;

BEGIN

-- comandos concorrentes;

END;38

Page 39: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Exemplo

ENTITY comb IS

PORT ( e0, e1 : IN Bit;

s0 : OUT Bit);

End comb;

ARCHITECTURE prt_E OF comb IS

BEGIN

s0 <= e1 Nand e2;

END prt_E;

ARCHITECTURE prt_OU OF comb IS

BEGIN

s0 <= Not e1 ou Not e2;

END prt_OU;

39

Page 40: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Exemplo

40

Page 41: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

VHDL – Exemplo

41

ENTITY portas IS

PORT ( a, b, c : IN Bit;

x, y : OUT Bit);

End portas;

ARCHITECTURE teste OF portas IS

BEGIN

x <= a AND b;

y <= c OR b;

END

Page 42: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Agenda

• Linguagens de Descrição de Hardware (HDLs)

• Fluxo de Projetos

• Verilog

• VHDL

• Ambientes de Desenvolvimento

42

Page 43: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Ambientes de

Desenvolvimento• Altera Quartus II – Windows / Linux

43

Page 44: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Ambientes de

Desenvolvimento• ISE Design Suite / Project Navigator

44

Page 45: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Ambientes de

Desenvolvimento

• Linux

• IDE Eclipse;

• GTKWave;

• Compilador Verilog;

• Windows

• IDE Eclipse;

• GTKWave;

• Compilador iVerilog;

• MinGW;45

Page 46: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Bibliografia

• www.verilog.com, acessado em 10/12/2012.

• K. COFFMAN; Real World FPGA Design with Verilog. PrenticeHall; 2000

• Smith, Douglas, J. “HDL chip design: a practical guide for designing, synthesizing and simulating ASICs and FPGAs usingVHDL or Verilog”. Madison : Doone, c1996. 448p. (621.38173 S645h)

• LEE, Weng Fook. Verilog Coding for Logic Synthesis. Wiley. 2003 46

Page 47: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

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

Page 48: HDLS [Modo de Compatibilidade] - DECOM- · PDF fileVHDL -Introdução ... • VHDL não foi originalmente concebida para síntese de circuitos,assim,nemtodasasconstruções sãosuportadas

Perguntas

48