2006-08-26 11:35:28 +00:00
|
|
|
// DESCRIPTION: Verilator: Verilog Test module
|
|
|
|
//
|
2020-03-21 15:24:24 +00:00
|
|
|
// This file ONLY is placed under the Creative Commons Public Domain, for
|
|
|
|
// any use, without warranty, 2006 by Wilson Snyder.
|
|
|
|
// SPDX-License-Identifier: CC0-1.0
|
2006-08-26 11:35:28 +00:00
|
|
|
|
|
|
|
module t (clk, Rand);
|
|
|
|
input clk;
|
|
|
|
output reg [31:0] Rand;
|
|
|
|
|
|
|
|
`ifdef verilator
|
|
|
|
`systemc_interface
|
|
|
|
unsigned int QxRandTbl (unsigned int tbl, unsigned int idx) { return 0xfeed0fad; }
|
|
|
|
`verilog
|
|
|
|
`endif
|
|
|
|
|
|
|
|
function [31:0] QxRand32;
|
|
|
|
/* verilator public */
|
|
|
|
input [7:0] tbl;
|
|
|
|
input [7:0] idx;
|
|
|
|
begin
|
|
|
|
`ifdef verilator
|
2022-05-01 14:10:00 +00:00
|
|
|
QxRand32 = $c("this->QxRandTbl(", tbl, ",", idx, ")");
|
2006-08-26 11:35:28 +00:00
|
|
|
`else
|
2022-05-01 14:10:00 +00:00
|
|
|
QxRand32 = 32'hfeed0fad;
|
2006-08-26 11:35:28 +00:00
|
|
|
`endif
|
|
|
|
end
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
always @(posedge clk) begin
|
|
|
|
Rand <= #1 QxRand32 (8'h0, 8'h7);
|
|
|
|
end
|
|
|
|
endmodule
|