dump.v
1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// dump.v v1 Frank Berndt
// dump control module;
// :set tabstop=4
module dump;
// turn on dumping globally or on a per-module basis;
// set the dump flag instead of $dumpon or $dumpoff;
reg dump;
initial
begin
dump = 0;
$dumpoff;
if($test$plusargs("dump_all")) $dumpvars;
if($test$plusargs("dump_bb")) $dumpvars(0, vsim.bb);
if($test$plusargs("dump_cpu")) $dumpvars(0, vsim.bb.cpu);
if($test$plusargs("dump_bcp")) $dumpvars(0, vsim.bb.bcp);
if($test$plusargs("dump_arb")) $dumpvars(0, vsim.bb.bcp.arb);
if($test$plusargs("dump_mi")) $dumpvars(0, vsim.bb.bcp.mi);
if($test$plusargs("dump_ri")) $dumpvars(0, vsim.bb.bcp.ri);
if($test$plusargs("dump_pi")) $dumpvars(0, vsim.bb.bcp.pi);
if($test$plusargs("dump_si")) $dumpvars(0, vsim.bb.bcp.si);
if($test$plusargs("dump_rsp")) $dumpvars(0, vsim.bb.bcp.rsp);
if($test$plusargs("dump_rdp")) $dumpvars(0, vsim.bb.bcp.rdp);
if($test$plusargs("dump_vi")) $dumpvars(0, vsim.bb.bcp.vi);
if($test$plusargs("dump_ai")) $dumpvars(0, vsim.bb.bcp.ai);
if($test$plusargs("dump_ui")) begin
$dumpvars(0, vsim.bb.bcp.ui);
$dumpvars(0, vsim.usb_tests);
end
if($test$plusargs("dump_vsim")) $dumpvars(1, vsim);
if($test$plusargs("dump")) begin
dump = 1;
$dumpvars(1, vsim.bb.bcp.sysclk);
$dumpvars(1, vsim.bb.bcp.reset_l);
$dumpvars(1, vsim.bb.bcp.vclock);
$dumpvars(1, vsim.bb.bcp.memclk);
end
end
// simulator dumping flag;
always @(dump)
begin
if(dump)
$dumpon;
else
$dumpoff;
$display("%t: %M: dumping %0s", $time, dump? "on" : "off");
end
endmodule