Registro (reg)

Tipos de datos Verilog

Registro (reg)

Este tipo de datos sirven para modelar tanto nodos lógicos combinacionales como secuenciales, aunque normalmente se asocia con aquellos que mantienen su valor hasta la siguiente asignación y aparecen en el lado izquierdo de las expresiones en procedimientos initial y always, o function.

Un reg* es el tipo de datos que debe utilizarse para latches, flip-flops y memorias, sin embargo a menudo se sintetiza también como conductor ("combinacional") en lugar de almacenamiento.

En los registros de varios bits (vectores), los datos se almacenan por defecto como números sin signo y no se realiza ninguna extensión de signo, por lo que deberá tener en cuenta si se necesita operar en complemento a 2.

Sintaxis

reg [msb:lsb] reg_variable_list;

Ejemplo

  reg a;            // variable registro de 1-bit
  reg [7:0] tom;    // un vector de 8-bit; un banco de 8 registros de 1-bit 
  reg [5:0] b, c;   // dos variables de 6-bit

Puerto (input, output, inout) Tiempo (time)