Ready-to-run snippets

Code Examples

Ready-to-run Verilog, SystemVerilog, and UVM examples. Click any to open it live in the IDE.

← All examples

Logical Operators

Verilog Operators

Logical operators like &&, ||

Open in IDE
design.v
module des;
    reg [7:0] data1;
    reg [7:0] data2;

    initial begin
        // Logical AND (&&): returns 1 only if BOTH operands are non-zero
        data1 = 45; data2 = 9;
        $display ("Result of data1(%0d) && data2(%0d) : %0d", data1, data2, data1 && data2); // 1 (both non-zero)

        data1 = 0; data2 = 4;
        $display ("Result of data1(%0d) && data2(%0d) : %0d", data1, data2, data1 && data2); // 0 (data1 is zero)

        data1 = 'dx; data2 = 3;
        $display ("Result of data1(%0d) && data2(%0d) : %0d", data1, data2, data1 && data2); // x (data1 has X)

        data1 = 'b101z; data2 = 5;
        $display ("Result of data1(%0d) && data2(%0d) : %0d", data1, data2, data1 && data2); // 1 (Z treated as non-zero)

        // Logical OR (||): returns 1 if EITHER operand is non-zero
        data1 = 45; data2 = 9;
        $display ("Result of data1(%0d) || data2(%0d) : %0d", data1, data2, data1 || data2); // 1 (both non-zero)

        data1 = 0; data2 = 4;
        $display ("Result of data1(%0d) || data2(%0d) : %0d", data1, data2, data1 || data2); // 1 (data2 non-zero)

        data1 = 'dx; data2 = 3;
        $display ("Result of data1(%0d) || data2(%0d) : %0d", data1, data2, data1 || data2); // 1 (data2 non-zero, short-circuit)

        data1 = 'b101z; data2 = 5;
        $display ("Result of data1(%0d) || data2(%0d) : %0d", data1, data2, data1 || data2); // 1 (both non-zero)

        // Logical NOT (!): converts non-zero to 0, zero to 1
        data1 = 4;
        $display ("Result of !data1(%0d) : %0d", data1, !data1); // 0 (4 is non-zero)

        data1 = 0;
        $display ("Result of !data1(%0d) : %0d", data1, !data1); // 1 (0 becomes 1)
    end
endmodule
testbench.v
// Enter testbench code
Admin mode — edit and delete controls are visible on each row. Use the IDE to add new snippets via File → Save as Snippet.