// DESCRIPTION: Verilator: Verilog Test module // // This file ONLY is placed under the Creative Commons Public Domain. // SPDX-FileCopyrightText: 2026 Nikolai Kumar // SPDX-License-Identifier: CC0-1.0 // verilog_format: off `define checkh(g,e) do if ((g) !==(e)) begin $write("%%Error: %s:%0d: got=%x exp=%x\n", `__FILE__,`__LINE__, (g),(e)); $stop; end while(0) `ifdef CMT `define FORCEABLE /*verilator forceable*/ `else `define FORCEABLE `endif // verilog_format: on module t (input wire clk, output reg [31:0] cyc); initial cyc = 0; always @(posedge clk) cyc <= cyc + 1; reg [4:3] var_arr [7:6][5:4] `FORCEABLE; //verilator lint_off ASCRANGE reg [3:4] var_arr_a [6:7][4:5] `FORCEABLE; initial begin var_arr[6][4] = 2'h1; var_arr[6][5] = 2'h2; var_arr[7][4] = 2'h3; var_arr[7][5] = 2'h2; var_arr_a[6][4] = 2'h2; var_arr_a[6][5] = 2'h1; var_arr_a[7][4] = 2'h1; var_arr_a[7][5] = 2'h3; end always @(posedge clk) case (cyc) 0: begin `checkh(var_arr[6][4], 2'h1); `checkh(var_arr[6][5], 2'h2); `checkh(var_arr[7][4], 2'h3); `checkh(var_arr[7][5], 2'h2); `checkh(var_arr_a[6][4], 2'h2); `checkh(var_arr_a[6][5], 2'h1); `checkh(var_arr_a[7][4], 2'h1); `checkh(var_arr_a[7][5], 2'h3); end 1: begin `checkh(var_arr[6][5], 2'h3); `checkh(var_arr_a[6][5], 2'h2); `checkh(var_arr[6][4], 2'h1); `checkh(var_arr[7][4], 2'h3); `checkh(var_arr_a[6][4], 2'h2); `checkh(var_arr_a[7][4], 2'h1); end 2: begin `checkh(var_arr[6][5], 2'h3); `checkh(var_arr[7][4], 2'h2); `checkh(var_arr_a[6][5], 2'h2); `checkh(var_arr_a[7][4], 2'h3); end 3: begin `checkh(var_arr[6][5], 2'h2); `checkh(var_arr[7][4], 2'h2); `checkh(var_arr_a[6][5], 2'h1); `checkh(var_arr_a[7][4], 2'h3); end 4: begin `checkh(var_arr[6][4], 2'h1); `checkh(var_arr[6][5], 2'h2); `checkh(var_arr[7][4], 2'h3); `checkh(var_arr[7][5], 2'h2); `checkh(var_arr_a[6][4], 2'h2); `checkh(var_arr_a[6][5], 2'h1); `checkh(var_arr_a[7][4], 2'h1); `checkh(var_arr_a[7][5], 2'h3); $write("*-* All Finished *-*\n"); $finish; end endcase endmodule