Cable (wire)

Tipos de datos Verilog

Cable (wire)

Un wire representa un cable/hilo/nodo físico en un circuito y se utiliza para conectar (net) puertas o módulos, así como modelar nodos combinacionales en sentencias de asignación continua. No almacena su valor, pero debe ser generado por una instrucción de asignación continua o por conexión a la salida de una puerta o módulo. Dentro de una función o bloque, puede leerse su valor pero no asignarlo. El tipo por defecto es de 1 bit.

Otros tipos específicos de cables son:

  • wand (cable AND):  el valor deriva de una puerta AND y de las entradas (drivers) de la misma (modela open-collector)
  • wor (cable OR):  el valor depende de lógica OR y drivers conectadas a la misma (modela ECL)
  • tri (triestado):  todos los drivers conectados a un tri deben ser z, excepto uno (que determina el valor del tri)
  • tri0 (pull-down), tri1 (pull-up): cuando no están conectados se asocian a la correspondiente resistencia.

Sintaxis

```
wire [msb:lsb] wire_variable_list; 
wand [msb:lsb] wand_variable_list; 
wor [msb:lsb] wor_variable_list; 
tri [msb:lsb] tri_variable_list;`
```

Ejemplo

```v
wire c;  // simple wire 
wand d; 
assign d = a; // el valor de d es el AND lógico de 
assign d = b; // a y b 
wire [9:0] A; // un cable (vector) de 10 hilos (wires)
```

Tipos de datos Ejemplos