mirror of
https://github.com/verilator/verilator.git
synced 2025-01-09 16:17:36 +00:00
34 lines
720 B
Coq
34 lines
720 B
Coq
|
// $Id$
|
||
|
// DESCRIPTION: Verilator: Verilog Test module
|
||
|
//
|
||
|
// This file ONLY is placed into the Public Domain, for any use,
|
||
|
// without warranty, 2006 by Wilson Snyder.
|
||
|
|
||
|
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
|
||
|
QxRand32 = $c ("QxRandTbl(",tbl,",",idx,")");
|
||
|
`else
|
||
|
QxRand32 = 32'hfeed0fad;
|
||
|
`endif
|
||
|
end
|
||
|
endfunction
|
||
|
|
||
|
always @(posedge clk) begin
|
||
|
Rand <= #1 QxRand32 (8'h0, 8'h7);
|
||
|
end
|
||
|
endmodule
|