49 lines
781 B
Systemverilog
49 lines
781 B
Systemverilog
// DESCRIPTION: Verilator: Verilog Test module
|
|
//
|
|
// This file ONLY is placed under the Creative Commons Public Domain.
|
|
// SPDX-FileCopyrightText: 2022 Wilson Snyder
|
|
// SPDX-License-Identifier: CC0-1.0
|
|
|
|
module t (
|
|
input clk
|
|
);
|
|
|
|
int cyc;
|
|
|
|
sub1 #(10) sub1a (.*);
|
|
sub1 #(20) sub1b (.*);
|
|
|
|
always @(posedge clk) begin
|
|
cyc <= cyc + 1;
|
|
if (cyc == 10) begin
|
|
$write("*-* All Finished *-*\n");
|
|
$finish;
|
|
end
|
|
end
|
|
|
|
endmodule
|
|
|
|
module sub1 #(
|
|
parameter int ADD
|
|
) (
|
|
input int cyc
|
|
);
|
|
|
|
int value;
|
|
always_comb value = cyc + ADD;
|
|
|
|
sub2 #(ADD + 1) sub2a (.*);
|
|
sub2 #(ADD + 2) sub2b (.*);
|
|
sub2 #(ADD + 3) sub2c (.*);
|
|
endmodule
|
|
|
|
module sub2 #(
|
|
parameter int ADD
|
|
) (
|
|
input int cyc
|
|
);
|
|
|
|
int value;
|
|
always_comb value = cyc + ADD;
|
|
endmodule
|