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

$random different seeds

Verilog Random

When $random is called without a fixed seed

Open in IDE
testbench.v
module tb;
  reg [3:0]  val;
  reg [31:0] seed;  // prefer 32b value

  initial begin
    for (integer i = 0; i < 10; i += 1) begin
      val = $random(seed) % 3;
      $display ("i=%0d seed=%0d val=0x%0h val=%0d", i, seed, val, val);
    end
  end
endmodule
design.v
// Enter RTL Code
Admin mode — edit and delete controls are visible on each row. Use the IDE to add new snippets via File → Save as Snippet.