La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguaje de Descripción de Hardware.

Presentaciones similares


Presentación del tema: "Lenguaje de Descripción de Hardware."— Transcripción de la presentación:

1 Lenguaje de Descripción de Hardware.
Verilog Lenguaje de Descripción de Hardware. Gonzalo Saavedra Serra Cesar Muñoz Parraguez

2 Descripción por Módulos
Los módulos se pueden ver como cajas negras. Módulo Módulo1 Módulo 4 Módulo 2 E1 S E2 E1 S1 E2 S2 E3 S3 E4 Módulo 3 E3 E4

3 Describir un Módulo E1 E2 S E3 E4 module Uno (E1, E2, E3, E4, S)
input E1; input E2; input E3; input E4; output S; . . endmodule module Dos (E, S) input [O:3] E; output S; . . endmodule E1 E2 S E3 E4

4 Funcionalidad del Módulo
La funcionalidad de cada módulo se puede describir de dos forma: BLOQUEANTE y NO BLOQUEANTE Bloqueante: orientado a eventos (p.e. sincronizado con el reloj). No Bloqueante: ejecución continua (circuito combinacional).

5 Módulo Bloqueante … @* Sensible al cambio de todas las variables
or y or …) begin end @* Sensible al cambio de todas las variables @(a or b or c …) Sensible al cambio de “a” o “b” o “c” o … @(negedge clock) Sensible solo al canto de bajada de clock @(posedge clock) Sensible solo al canto de subida de clock

6 Módulo no Bloqueante Para la asignación de circuitos combinacionales.
assign f = a && b; assign f = c; assign f[3] = ~a[0] & b[1]; Para la asignación de circuitos combinacionales. Es conveniente usar este método de asignación cuando se requiere implementar circuitos combinacionales que no requieren sincronizar con el reloj.

7 Tipos de entradas y salidas
input : Entradas del módulo output : Salidas del módulo inout : Pueden cumplir la función de entrada y salida en un módulo Módulo input output inout

8 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 conexión de circuitos (un cable). Otras variables de interés son integer, float y arreglos y memorias.

9 Loops y Condiciones (I)
Verilog C if (…) else if (…) else (…) case (a) 0: 1: default: endcase switch(a) { case 0: case 1: } for (i=0; i<N; i=i+1) begin end {

10 Loops y Condiciones (II)
Verilog C while (condición) begin end { } repeat (número de veces) No existe wait (condición) Mientras que la condición sea falsa (0), se ejecuta el comando. Se emplea para detener la ejecución secuencial del proceso hasta que se verifique una condición.

11 Ejemplo ALU en Verilog module alu(A, B, C, Ctl, result);
input [0:1] A, B, C, Ctl; output reg [0:3] result; 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

12 Bibliografía Manual de Verilog por Jorge Chávez.
Software Evita Verilog. OVI Verilog HDL LRM. (Open Verilog International) Página Web Sistemas Digitales. (


Descargar ppt "Lenguaje de Descripción de Hardware."

Presentaciones similares


Anuncios Google