100% encontró este documento útil (1 voto)
116 vistas12 páginas

Descripción de Módulos en Verilog

Verilog es un lenguaje de descripción de hardware que permite describir circuitos digitales mediante módulos. Los módulos se pueden definir como cajas negras con entradas y salidas y su funcionalidad puede ser bloqueante o no bloqueante. El lenguaje soporta tipos de datos como reg, wire, enteros y arreglos, así como estructuras de control como if/else, case, bucles for y while.

Cargado por

Freddy Jiron
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
116 vistas12 páginas

Descripción de Módulos en Verilog

Verilog es un lenguaje de descripción de hardware que permite describir circuitos digitales mediante módulos. Los módulos se pueden definir como cajas negras con entradas y salidas y su funcionalidad puede ser bloqueante o no bloqueante. El lenguaje soporta tipos de datos como reg, wire, enteros y arreglos, así como estructuras de control como if/else, case, bucles for y while.

Cargado por

Freddy Jiron
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Verilog

Lenguaje de Descripcin de Hardware.

Descripcin por Mdulos


Los mdulos se pueden ver como cajas negras.
E1 E2 Mdulo 2

E1 E2 E3 E4

Mdulo 4

Mdulo

S1 S2 S3

Mdulo1 E3 E4 Mdulo 3

Describir un Mdulo
module Uno (E1, E2, E3, E4, S) input E1; input E2; input E3; input E4; output S; . . endmodule

E1 E2 E3 E4

module Dos (E, S) input [O:3] E; output S; . . endmodule

Funcionalidad del Mdulo


La funcionalidad de cada mdulo se puede describir de dos forma: BLOQUEANTE y NO BLOQUEANTE
Bloqueante: orientado a eventos (p.e. sincronizado con el reloj). No Bloqueante: ejecucin continua (circuito combinacional).

Mdulo Bloqueante
always @(x or y or ) begin

end

@* Sensible al cambio de todas las variables @(negedge clock) Sensible solo al canto de bajada de clock

@(a or b or c ) Sensible al cambio de a o b o c o @(posedge clock) Sensible solo al canto de subida de clock

Mdulo no Bloqueante
assign f = a && b;
assign f = c; assign f[3] = ~a[0] & b[1];

Para la asignacin de circuitos combinacionales.


Es conveniente usar este mtodo de asignacin cuando se requiere implementar circuitos combinacionales que no requieren sincronizar con el reloj.

Tipos de entradas y salidas


input inout : Entradas del mdulo : Pueden cumplir la funcin de entrada y salida en un mdulo input inout Mdulo output

output : Salidas del mdulo

Tipos de Variables
Son dos los principales tipos de variables: reg : Son de tipo registro y permiten almacenar un valor. wire : Es una red que permite la conexin de circuitos (un cable).

Otras variables de inters son integer, float y arreglos y memorias.

Loops y Condiciones (I)


Verilog
if () else if () else ()

C
if () else if () else ()

case (a) 0: 1: default: endcase


for (i=0; i<N; i=i+1) begin end

switch(a) { case 0: case 1: default: }


for (i=0; i<N; i=i+1) { }

Loops y Condiciones (II)


Verilog
while (condicin) begin end repeat (nmero de veces) begin end wait (condicin) begin end
Mientras que la condicin sea falsa (0), se ejecuta el comando. Se emplea para detener la ejecucin secuencial del proceso hasta que se verifique una condicin.

C
while (condicin) { }

No existe

No existe

Ejemplo
ALU en Verilog
module alu(A, B, C, Ctl, result); input [0:1] A, B, C, Ctl; output reg [0:3] result; always @(A or B or C or Ctl) Begin if (Ctl == 2'b00) result = A & B & C; else if (Ctl == 2'b01) result = A | B | C; else if (Ctl == 2'b10) result = A ^ B ^ C; else result = A + B + C; end endmodule

Bibliografa
Manual de Verilog por Jorge Chvez. Software Evita Verilog. OVI Verilog HDL LRM. (Open Verilog International) Pgina Web Sistemas Digitales.

(http://www.elo.utfsm.cl/~lsb/elo211/elo211.html)

También podría gustarte