2012-12-18 02:26:40 +01:00
|
|
|
// DESCRIPTION: Verilator: Verilog Test module
|
|
|
|
|
//
|
2026-01-27 02:24:34 +01:00
|
|
|
// This file ONLY is placed under the Creative Commons Public Domain.
|
|
|
|
|
// SPDX-FileCopyrightText: 2012 Jeremy Bennett
|
2020-03-21 16:24:24 +01:00
|
|
|
// SPDX-License-Identifier: CC0-1.0
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2023-09-16 00:12:11 +02:00
|
|
|
// See issue #591
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2017-09-21 03:04:59 +02:00
|
|
|
package pkg1;
|
2026-03-10 02:38:29 +01:00
|
|
|
parameter PARAM2 = 16;
|
|
|
|
|
parameter PARAM3 = 16;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage : pkg1
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2017-09-21 03:04:59 +02:00
|
|
|
|
|
|
|
|
package pkg10;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg1::*;
|
|
|
|
|
import pkg1::*; // Ignore if already
|
2017-09-21 03:04:59 +02:00
|
|
|
`ifdef T_PACKAGE_EXPORT
|
2026-03-10 02:38:29 +01:00
|
|
|
export * ::*; // Not supported on all simulators
|
2017-09-21 03:04:59 +02:00
|
|
|
`endif
|
2026-03-10 02:38:29 +01:00
|
|
|
parameter PARAM1 = 8;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
|
|
|
|
package pkg11;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg10::*;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
|
|
|
|
|
|
|
|
|
package pkg20;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg1::*;
|
2017-09-21 03:04:59 +02:00
|
|
|
`ifdef T_PACKAGE_EXPORT
|
2026-03-10 02:38:29 +01:00
|
|
|
export pkg1::*;
|
2017-09-21 03:04:59 +02:00
|
|
|
`endif
|
2026-03-10 02:38:29 +01:00
|
|
|
parameter PARAM1 = 8;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
|
|
|
|
package pkg21;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg20::*;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
|
|
|
|
|
|
|
|
|
package pkg30;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg1::*;
|
2012-12-18 02:26:40 +01:00
|
|
|
`ifdef T_PACKAGE_EXPORT
|
2026-03-10 02:38:29 +01:00
|
|
|
export pkg1::PARAM2; export pkg1::PARAM3;
|
2020-05-17 17:06:14 +02:00
|
|
|
`endif
|
|
|
|
|
`ifdef T_PACKAGE_EXPORT_BAD
|
2026-03-10 02:38:29 +01:00
|
|
|
export pkg1::BAD_DOES_NOT_EXIST;
|
2012-12-18 02:26:40 +01:00
|
|
|
`endif
|
2026-03-10 02:38:29 +01:00
|
|
|
parameter PARAM1 = 8;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
|
|
|
|
package pkg31;
|
2026-03-10 02:38:29 +01:00
|
|
|
import pkg30::*;
|
2017-09-21 03:04:59 +02:00
|
|
|
endpackage
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2025-09-13 15:28:43 +02:00
|
|
|
module t;
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
reg [pkg11::PARAM1 : 0] bus11;
|
|
|
|
|
reg [pkg11::PARAM2 : 0] bus12;
|
|
|
|
|
reg [pkg11::PARAM3 : 0] bus13;
|
2017-09-21 03:04:59 +02:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
reg [pkg21::PARAM1 : 0] bus21;
|
|
|
|
|
reg [pkg21::PARAM2 : 0] bus22;
|
|
|
|
|
reg [pkg21::PARAM3 : 0] bus23;
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
reg [pkg31::PARAM1 : 0] bus31;
|
|
|
|
|
reg [pkg31::PARAM2 : 0] bus32;
|
|
|
|
|
reg [pkg31::PARAM3 : 0] bus33;
|
2012-12-18 02:26:40 +01:00
|
|
|
|
2026-03-10 02:38:29 +01:00
|
|
|
initial begin
|
|
|
|
|
$write("*-* All Finished *-*\n");
|
|
|
|
|
$finish;
|
|
|
|
|
end
|
2012-12-18 02:26:40 +01:00
|
|
|
endmodule
|