Vous êtes sur la page 1sur 25

ELETRNICA DIGITAL

Universidade Federal de Itajub

Verilog HDL Descrio estrutural

Prof. Fadul Ferrari Rodor


Verilog | Caractersticas

Verilog

Comportamental
O que faz O que contm
Estrutural

Sintaxe de C
aBCd ABCD
Case Sensitivety

EELI14- Eletrnica Digital


Verilog | Elementos

Elementos de descrio

Circuito integrado

Quais so as interfaces do CI(entradas e


sadas)? Verilog
O que faz o circuito?
Mdulos

EELI14- Eletrnica Digital


Verilog | Elementos
Mdulo Definio geral

module nome_do_modulo (lista_de_sinais_I/O );


declarao das interfaces; //especificao dos
pinos de entrada e sada

declarao de variveis; //declarao de
registros e fios

descrio do comportamento; //o que faz o
circuito e/qual sua estrutura interna
endmodule

EELI14- Eletrnica Digital


Verilog | Elementos

Comentrios

Smbolo Funo Exemplo

// Comentrio em linha //Linha com comentrio

/*
/* */ Comentrio em bloco bloco de comentrios
*/

EELI14- Eletrnica Digital


Verilog | Elementos
Mdulo

/*
Modulo PX
*/
module PX (A,B,C);
input A,B; //entradas
A
PX C output C; //sadas
B
//operaes
...
endmodule

EELI14- Eletrnica Digital


Verilog | Descrio estrutural

Circuito

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Estruturas bsicas em Verilog
(primitivas)

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Estruturas bsicas em Verilog
(primitivas)

EELI14- Eletrnica Digital


Verilog | Descrio estrutural

Instanciamento de componentes

Classe da Lista de sinais de


instncia Entrada e sada

portaX nome( );

Nome nico
da instncia

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Instanciamento de componentes

...
input E1,E2,E3;
output S1, S2, S3, S4...;
...
and a1(S1, E1, E2);
xor x1(S2, E1, E2);
and a2(S3, E1, E2, E3);
not n1(S4, E1);

...

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Exemplo 1

module exemplo (A,B,C);


input A,B; //entradas
output C; //sadas

and a1(C, A, B);

endmodule

EELI14- Eletrnica Digital


Verilog | Elementos
Exemplo 2

module exemplo2 (A,B,C,D);


input A,B,C; //entradas
output D; //sadas
wire s;

and a1(s, A, B);


and a2(D, C, s);

endmodule

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Exemplo MUX 2x1

module mux2x1 (A,B,S,Z);


input A,B,S; //entradas
output Z; //sadas
wire as, bs, ns;

and a1(bs, B, S);


and a2(as, A, ns);
or o1(Z, as, bs);
not n1(ns, S);

endmodule

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Exerccio

Implementar um MUX 4x1 de forma estrutural

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Mux 4x1

EELI14- Eletrnica Digital


Verilog | Elementos
Vetores

Limites

wire/input/output [ ]nome;

wire [2:1]v; // v[2], V[1]


input [31:0]add; // a[31], a[30], ... ,a[0]
output [1:-2]b; // b[1], b[0], b[-1], b[-2]

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Exemplo MUX 2x1

module mux2x1 (E,S,Z);


input [1:0]E; //entradas
input s; //entrada de seleo
output Z; //sadas
wire as, bs, ns;

and a1(bs, E[0], S);


and a2(as, E[1], ns);
or o1(Z, as, bs);
not n1(ns, S);

endmodule

EELI14- Eletrnica Digital


Verilog | Descrio estrutural
Exerccio

Implementar um MUX 4x1 utilizando vetores

EELI14- Eletrnica Digital


Verilog | Descrio Hierrquica
Hierarquia

Circuito Digital

Subcircuito 1 Subcircuito 2 Subcircuito 3

Subcircuito 4 ... Subcircuito n

EELI14- Eletrnica Digital


Verilog | Descrio Hierrquica
Instanciamento de mdulos

classe da lista de sinais de


instncia entrada e sada

nome_modulo nome( );

nome nico Sadas e entradas na ordem


da instncia exata do mdulo

ou

EELI14- Eletrnica Digital em ordem abitrria


Verilog | Descrio Hierrquica
Instanciamento de mdulos

...
input E1,E2,E3,E4,E5,S1,S2,S3;
output Z1,Z2,Z3;
...
mux2x1 m1(E1, E2, S1, Z1); // ordem original
mux2x1 m2(.Z(Z2), .A(E3), .B(E1), .S(S2))); // ordem aleatria
mux2x1 m3(.A(E4), .Z(Z3), .S(S3), .B(E5))); // ordem aleatria

...

module mux2x1 (A,B,S,Z);


input A,B,S; //entradas
output Z;
...

EELI14- Eletrnica Digital


Verilog | Descrio Hierrquica
Exemplo Mux 4x1

module mux4x1 (I,S,Z);


input [3:0]I;
input [1:0]S;
output Z;
wire a,b;
module mux2x1 (A,B,S,Z);
input A,B,S; //entradas
output Z; //sadas mux2x1 m1(I[0],I[1],S[0], a);
wire as, bs, ns;
mux2x1 m2(I[2],I[3],S[0], b);
and a1(bs, B, S); mux2x1 m3(a,b,S[1], Z);
and a2(as, A, ns);
or o1(Z, as, bs);
not n1(ns, S); endmodule

endmodule

EELI14- Eletrnica Digital


Verilog | Bibliografia

TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L.


Sistemas Digitais: princpios e aplicaes. Pearson
Prentice Hall, 10 ou 11 Edio, 2011, ISBN:
9788576059226.

WAKERLY, J. F.; Digital Design, Editora Pearson, 4


Edio, 2006, ISBN: 9780131733497.

EELI14- Eletrnica Digital


Verilog | Fim

Obrigado

EELI14- Eletrnica Digital

Vous aimerez peut-être aussi