Você está na página 1de 48

Conceitos de Linguagens de

Descrio de Hardware
(Verilog, VHDL)

1
Alex Vidigal Bastos
alexvbh@gmail.com

Objetivos da Aula
Apresentar o conceito gerais de Linguagens de Descrio de
Hardware (Verilog / VHDL)
Apresentar o Fluxo de Projeto utilizando HDLs
Mostrar alguns ambientes de desenvolvimento para Verilog e
VHDL
Requisitos
Portas lgicas / Circuitos Digitais
Lgica Programao

Mercado de Trabalho
O que pedem?
Conhecimentos em HDL (geralmente VHDL ou Verilog);
Experincia com FPGA (Field programmable gate array);
Conhecimentos em alguma ferramenta tanto de sntese quanto
de testes;

Quanto pagam?
O piso salarial em torno de R$ 3.000,00
Salrios podem ir at R$ 15.000,00

Quem so eles?
Ceitec (Porto Alegre); http://www.ceitec-sa.com/
Freescale (So Paulo);
http://www.freescale.com/webapp/sps/site/overview.jsp?cod
e=BRAZIL

Ao final da aula
Deve estar claro para o aluno onde deve ser utilizado linguagens de
descrio de hardware.
Deve estar claro os conceitos bsicos sobre as linguagens Verilog e
VHDL e algumas de suas diferenas.
O aluno deve estar apto para iniciar o aprendizado de linguagens de
descrio de hardware ( Verilog / VHDL).

Agenda

Linguagens de Descrio de Hardware (HDLs)


Fluxo de Projetos
Verilog
VHDL
Ambientes de Desenvolvimento

Agenda
Linguagens de Descrio de Hardware (HDLs)

Fluxo de Projetos
Verilog
VHDL
Ambientes de Desenvolvimento

Linguagens de Descrio de
Hardware (HDLs) - Viso Geral
Linguagens de Descrio de Hardware (HDLs) so usadas
extensivamente na indstria para projetos de sistemas digitais
variando de microprocessadores para componentes dentro
de aparelhos de consumo;
So utillizadas para projetar hardware. Tal como o nome
implica, uma HDL tambm pode ser usada para descrever a
funcionalidade do hardware, bem como a sua aplicao;
Diferena entre uma linguagem de programao de software:
paralelismo;

Linguagens de Descrio de
Hardware (HDLs) - Exemplos

VHDL (VHSIC Hardware Description Language)


Verilog
AHDL
MyHDL
Dentre outras;

VHSIC (Very High Speed Integrated Circuit)

Linguagens de Descrio de
Hardware (HDLs) - ASICs

Linguagens de Descrio de
Hardware (HDLs) - Vantagens

Menor espao ocupado na placa;


Menor consumo de energia;
Maior confiabilidade;
Menor complexidade de desenvolvimento;
E geralmente, menor custo.

10

Sumrio
Linguagens de Descrio de Hardware (HDLs)

Fluxo de Projetos
Verilog
VHDL
Ambientes de Desenvolvimento

11

Fluxo de Projetos - Introduo


Com as linguagens de descrio de hardware, o processou
passou a ser como desenvolver um software, tendo como
etapas:

A especificao do projeto em alto nvel;


Codificao;
Verificao / testes;
Sintetizao;

12

Fluxo de Projetos Nvel


Comportamental
O nvel comportamental de uma hierarquia de projeto um
refinamento lgico da especificao;
Deve fornecer informaes funcionais precisas sobre como o
estado do sistema afetado para cada operao especfica;

13

Fluxo de Projetos Nvel


Estrutural
O nvel estrutural responde as questes de como as funes
so realmente implementadas e tambm para definir o
nmero de ciclos requeridos para executar cada operao;
Representa o mapeamento do modelo comportamental para
uma implementao mais especfica;

14

Fluxo de Projetos Nvel Fsico


O nvel fsico especfica os detalhes a nvel do chip, layout e
transistores;
definido o mapeamento da descrio do nvel estrutural
sobre uma tecnologia especfica;

15

Fluxo de Projetos Boas prticas


de programao
Cdigos bem feitos um papel importante em um fluxo de
projeto , pois cdigos ruins NO permitem uma otimizao
eficiente durante a sntese;
Conveno de Nomes;
Particionamento do Projeto;

16

Agenda
Linguagens de Descrio de Hardware (HDLs)
Fluxo de Projetos

Verilog
VHDL
Ambientes de Desenvolvimento

17

Verilog - Introduo
Foi projetada primeiramente em 1984/1985;
Permite representar a hierarquia de um projeto. As estruturas
de Verilog que constrem a hierarquia so:
Mdulos;
Portas

18

Verilog - Hierarquia
Um modelo em Verilog composto de mdulos.

19

Verilog - Hierarquia
A maneira mais comum de representar uma relao
hierrquica :

system instantiates comp1, comp2


comp_2 instantiates sub_3

20

Verilog Mdulos
A maneira mais comum de representar uma relao
hierrquica :

21

top.childB.node1.leaf2 localizao na hierarquia

Verilog Portas
Portas so estruturas em Verilog onde os dados passam entre
mdulos pai e filho;
Podem ser pensadas como fios de ligao dos mdulos;
As conexes fornecidas pelas portas podem ser de entrada,
sada ou bidirecioanais.
Portas so listadas em uma lista de portas na definio do
mdulo e sua direo declarada aps a instruo do mdulo;

22

Verilog Mdulos
Um mdulo definido como:
module <module_name_1> (<portlist>);
..
<module_name_2> <instance_name> (<portlist>);
..
endmodule
23

Verilog Mdulos
Um mdulo definido como:
module top(<portlist>);
..
type2 childB(<portlist>);
..
endmodule
24

Verilog Portas

25

Verilog Instanciao
Instanciao do mdulo tambm contm a lista de portas.
Este o meio de ligao de sinais entre o mdulo pai e o
mdulo filho;

26

Verilog Instanciao
Na instanciao de um mdulo, a lista de portas pode ser
baseada no nome da porta ou de acordo com a posio da
porta na definio do mdulo;
Posio - foo f1 (source1, , sink1, , bus);

Nome - foo f1 (.in1(source1), .in2(source2), .out1(sink1),


.out2(sink2), .bidi(bus));

27

Verilog Tipos de Componentes


Modelos em Verilog so compostos por mdulos. Mdulos por
sua vez, so de diferentes tipos de componentes, estes
incluem:
Parmetros;
Fios;
Registradores;
Primitivas e Instncias;
Atribuies;
Blocos Procedurais;
Tarefas, Definies Funes

28

Verilog Exemplo
module and2 (a, b, y);
input a,b;
output y;
assign y = a & b;
endmodule

29

Verilog Exemplo

30

Verilog Exemplo

31

Verilog Exemplo

32

Agenda
Linguagens de Descrio de Hardware (HDLs)
Fluxo de Projetos
Verilog

VHDL
Ambientes de Desenvolvimento

33

VHDL - Introduo
Surgiu em 1987 com o padro IEEE 1076-1987;
Suportar projetos com mltiplos nveis de hierarquia, podendo
a descrio consistir na interligao de outras descries
menores;
Com exceo de regies especficas do cdigo, todos os
comandos so executados concorrentemente;
VHDL no foi originalmente concebida para sntese de
circuitos, assim, nem todas as construes so suportadas
pelas ferramentas de sntese;

34

VHDL Entidade de um projeto


Pode representar desde uma simples porta lgica a um
sistema complexo, sendo composta de:
- Declarao da entidade e arquitetura;

35

VHDL Declarao da entidade de


um projeto
ENTITY <name_entity> IS
- -definio de constantes
- -definio das portas
END <name_entity> ;

36

VHDL Declarao 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; --sadas
y2
: BUFFER tipo_c; --sada
z0, z1 : INOUT tipo_d; --entrada/sada
END entidade_abc;

37

VHDL Declarao do corpo de um


projeto
ARCHITECTURE nome_identificador OF entidade_abc IS
-- regio de declaraes;
-- declarao de sinais e constantes;
-- declarao de componentes referenciados;
-- declarao e corpo sub_programas;
-- definio de novos tipos de dados locais;
BEGIN
-- comandos concorrentes;
END;

38

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

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 <= a AND b;
y <= c OR b;
END
41

Agenda

Linguagens de Descrio de Hardware (HDLs)


Fluxo de Projetos
Verilog
VHDL

Ambientes de Desenvolvimento

42

Ambientes de
Desenvolvimento
Altera Quartus II 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 practical guide for
designing, synthesizing and simulating ASICs and FPGAs using
VHDL or Verilog. Madison : Doone, c1996. 448p. (621.38173
S645h)
LEE, Weng Fook. Verilog Coding for Logic Synthesis. Wiley.
2003

46

Prxima Aula
Reviso Conceitos Verilog (referente a aula anterior);
Sintaxe, Convenes Lxicas, Tipos de Dados e Memria em
Verilog;
Spartan 3 Decoder Tutorial Verilog
www.decom.ufop.br/alex/tutorial_decoder.pdf

47

Perguntas

48

Você também pode gostar