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 with seed arg

Verilog Random

Shows how $random with a seed arg gives the same value everytime

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
      seed = 5;

      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.