Lógicos

Operadores

Lógicos

Operan de forma similar a los bitwise sólo para operandos de un solo bit, y devuelven un solo bit 1 ó 0.

Pueden trabajar con expresiones, números enteros o grupos de bits y tratan todos los valores distintos de cero como 1.

Normalmente se utilizan en sentencias condicionales (if ... else) ya que funcionan con expresiones.

! (NOT lógico)

&& (AND lógico)

|| (OR lógico)

== (igualdad lógica)

!= (desigualdad lógica)

=== (igualdad case)

!== (desigualdad case)

En === y !== se tienen en cuenta bits con valores x o z para la comparación bitwise, en cambio cuando aparecen == y != el resultado de la comparación es siempre x y estos últimos son sintetizables por contra de los primeros.

Ejemplo

wire [7:0] x,y,z;     // variables multibit
reg a;
...
if ((x==y)&&(z)) a=1; // a = 1 si x igual que y, y z no es cero
else a = !x;          // a = 0 si x es algo distinto a cero

Condicional Precedencia