forked from Github_Repos/cvw
Now have logging of i/d cache addresses, but the performance counter reports are x's.
This commit is contained in:
parent
108ad671cf
commit
7cc8d4f20c
@ -474,7 +474,7 @@ logic [3:0] dummy;
|
|||||||
// default start condiction is reset
|
// default start condiction is reset
|
||||||
// default end condiction is end of test (DCacheFlushDone)
|
// default end condiction is end of test (DCacheFlushDone)
|
||||||
assign StartSampleFirst = InReset;
|
assign StartSampleFirst = InReset;
|
||||||
flopr #(1) StartSampleReg(clk, reset, StartSampleFirst, StartSampleDelayed);
|
flop #(1) StartSampleReg(clk, StartSampleFirst, StartSampleDelayed);
|
||||||
assign StartSample = StartSampleFirst & ~ StartSampleDelayed;
|
assign StartSample = StartSampleFirst & ~ StartSampleDelayed;
|
||||||
|
|
||||||
assign EndSample = DCacheFlushStart & ~DCacheFlushDone;
|
assign EndSample = DCacheFlushStart & ~DCacheFlushDone;
|
||||||
@ -555,16 +555,19 @@ end
|
|||||||
int file;
|
int file;
|
||||||
string LogFile;
|
string LogFile;
|
||||||
logic resetD, resetEdge;
|
logic resetD, resetEdge;
|
||||||
|
logic Enable;
|
||||||
|
assign Enable = ~dut.core.StallD & ~dut.core.FlushD & dut.core.ifu.bus.icache.CacheRWF[1] & ~reset;
|
||||||
flop #(1) ResetDReg(clk, reset, resetD);
|
flop #(1) ResetDReg(clk, reset, resetD);
|
||||||
assign resetEdge = ~reset & resetD;
|
assign resetEdge = ~reset & resetD;
|
||||||
initial begin
|
initial begin
|
||||||
LogFile = $psprintf("ICache.log");
|
LogFile = $psprintf("ICache.log");
|
||||||
file = $fopen(LogFile, "w");
|
file = $fopen(LogFile, "w");
|
||||||
|
$fwrite(file, "BEGIN %s\n", memfilename);
|
||||||
end
|
end
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
if(resetEdge) $fwrite(file, "TRAIN\n");
|
if(resetEdge) $fwrite(file, "TRAIN\n");
|
||||||
if(StartSample) $fwrite(file, "BEGIN %s\n", memfilename);
|
if(StartSample) $fwrite(file, "BEGIN %s\n", memfilename);
|
||||||
if(~dut.core.StallD & ~dut.core.FlushD) begin
|
if(Enable) begin // only log i cache reads
|
||||||
$fwrite(file, "%h R\n", dut.core.ifu.PCPF);
|
$fwrite(file, "%h R\n", dut.core.ifu.PCPF);
|
||||||
end
|
end
|
||||||
if(EndSample) $fwrite(file, "END %s\n", memfilename);
|
if(EndSample) $fwrite(file, "END %s\n", memfilename);
|
||||||
@ -580,6 +583,7 @@ end
|
|||||||
initial begin
|
initial begin
|
||||||
LogFile = $psprintf("DCache.log");
|
LogFile = $psprintf("DCache.log");
|
||||||
file = $fopen(LogFile, "w");
|
file = $fopen(LogFile, "w");
|
||||||
|
$fwrite(file, "BEGIN %s\n", memfilename);
|
||||||
end
|
end
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
if(resetEdge) $fwrite(file, "TRAIN\n");
|
if(resetEdge) $fwrite(file, "TRAIN\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user