URL
https://opencores.org/ocsvn/theia_gpu/theia_gpu/trunk
Subversion Repositories theia_gpu
Compare Revisions
- This comparison shows the changes necessary to convert path
/theia_gpu/branches/beta_2.0/rtl
- from Rev 213 to Rev 229
- ↔ Reverse comparison
Rev 213 → Rev 229
/Module_MemoryController.v
36,8 → 36,8
|
output wire oMEM_ReadRequest, |
output wire [`WB_WIDTH-1:0] oMEM_ReadAddress, |
input wire [`WB_WIDTH-1:0] iMEM_ReadData, |
output wire oPendingRequests, //Connected to FIFO |
input wire [`WB_WIDTH-1:0] iMEM_ReadData, //Data read from Main memory |
output wire oPendingRequests, //Connected to FIFO |
output wire oFifoFull, |
output wire oFifoEmpty, |
input wire iMEM_DataAvailable, |
/FlowDumper.v
22,6 → 22,14
//`define VP2_TOP( core ) `THEIA_TOP.\VPX[ core ].VP |
`define MAX_OMEM_DUMP_SIZE 32 |
`define MAX_RF_MEM_DUMP_SIZE 128 |
|
//`define DEBUG_TO_STDOUT 1 |
|
`ifdef DEBUG_TO_STDOUT |
`define DWRITE $write( |
`else |
`define DWRITE $fwrite(VP_LOG, |
`endif |
module VectorProcessor_Dumper # (parameter CVPID = 2); |
|
|
85,125 → 93,125
|
|
//Issue state dump |
$fwrite(VP_LOG,"\n%dns VP[%d] IP %d ISSUE ",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.II0.oIP0-1); |
`DWRITE"\n%dns VP[%d] IP %d ISSUE ",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.II0.oIP0-1); |
|
//Issue instruction undecoded |
$fwrite(VP_LOG," (%h) \t",`VP_TOP.EXE.II0.iInstruction0); |
`DWRITE" (%h) \t",`VP_TOP.EXE.II0.iInstruction0); |
|
if (`VP_TOP.EXE.II0.iInstruction0[`INST_BRANCH_BIT]) |
$fwrite(VP_LOG," BRANCH "); |
`DWRITE" BRANCH "); |
|
case ( `VP_TOP.EXE.II0.oIssueBcast[`ISSUE_RSID_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
`RS_LOGIC: |
begin |
$fwrite(VP_LOG," LOGIC( "); |
`DWRITE" LOGIC( "); |
case (`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SCALE_RNG]) |
0: $fwrite(VP_LOG,"AND"); |
1: $fwrite(VP_LOG,"OR"); |
2: $fwrite(VP_LOG,"NOT"); |
3: $fwrite(VP_LOG,"SHL"); |
4: $fwrite(VP_LOG,"SHR"); |
0: `DWRITE"AND"); |
1: `DWRITE"OR"); |
2: `DWRITE"NOT"); |
3: `DWRITE"SHL"); |
4: `DWRITE"SHR"); |
default: |
$fwrite(VP_LOG,"UNKNOWN"); |
`DWRITE"UNKNOWN"); |
endcase |
$fwrite(VP_LOG,") "); |
`DWRITE") "); |
end |
`RS_IO:$fwrite(VP_LOG," IO "); |
`RS_IO:`DWRITE" IO "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_RSID_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_RSID_RNG]); |
endcase |
|
if ( `VP_TOP.EXE.II0.iInstruction0[`INST_IMM] == 0) |
begin |
if (`VP_TOP.EXE.II0.iInstruction0[`INST_DEST_ZERO]) |
$fwrite(VP_LOG, "R[%d + %d]", `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
`DWRITE "R[%d + %d]", `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
else |
$fwrite(VP_LOG, "R[%d]", `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
`DWRITE "R[%d]", `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
end |
else |
begin |
|
case (`VP_TOP.EXE.II0.iInstruction0[`INST_ADDRMODE_RNG]) |
3'b000: $fwrite(VP_LOG,"R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b001: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b010: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b011: $fwrite(VP_LOG,"R[%d + %d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.wSource1_Temp[`X_RNG]); |
3'b100: $fwrite(VP_LOG,"R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b101: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b110: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b111: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b000: `DWRITE"R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b001: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b010: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b011: `DWRITE"R[%d + %d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.wSource1_Temp[`X_RNG]); |
3'b100: `DWRITE"R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b101: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b110: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b111: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
endcase |
end |
|
case ( `VP_TOP.EXE.II0.oIssueBcast[`ISSUE_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_WE_RNG]); |
endcase |
|
if (`VP_TOP.EXE.II0.iInstruction0[`INST_IMM]) |
/*if (`VP_TOP.EXE.II0.iInstruction0[`INST_SRC0_DISPLACED] && `VP_TOP.EXE.II0.iInstruction0[`INST_SRC1_DISPLACED]) |
$fwrite(VP_LOG, "R[%d] 0 ",`VP_TOP.EXE.II0.oSourceAddress0); |
`DWRITE "R[%d] 0 ",`VP_TOP.EXE.II0.oSourceAddress0); |
else |
$fwrite(VP_LOG, "I(%h)",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]);*/ |
`DWRITE "I(%h)",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]);*/ |
case (`VP_TOP.EXE.II0.iInstruction0[`INST_ADDRMODE_RNG]) |
3'b000: $fwrite(VP_LOG,"I(%h) R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG], `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b001: $fwrite(VP_LOG,"**!!I(%h) R[%d + %d] ",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG],`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b010: $fwrite(VP_LOG,"R[%d+%d] R[%d+%d+%d]",`VP_TOP.EXE.II0.oSourceAddress1,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister); |
3'b011: $fwrite(VP_LOG,"0 R[%d + %d]",`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset); |
3'b100: $fwrite(VP_LOG,"I(%h) 0",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]); |
3'b101: $fwrite(VP_LOG,"I(%h) 0",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]); |
3'b110: $fwrite(VP_LOG,"R[%d + %d + %d] 0", `VP_TOP.EXE.II0.oSourceAddress1,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister); |
3'b111: $fwrite(VP_LOG,"R[%d + %d + %d] R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister,`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset); |
3'b000: `DWRITE"I(%h) R[%d]",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG], `VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG]); |
3'b001: `DWRITE"**!!I(%h) R[%d + %d] ",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG],`VP_TOP.EXE.II0.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
3'b010: `DWRITE"R[%d+%d] R[%d+%d+%d]",`VP_TOP.EXE.II0.oSourceAddress1,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister); |
3'b011: `DWRITE"0 R[%d + %d]",`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset); |
3'b100: `DWRITE"I(%h) 0",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]); |
3'b101: `DWRITE"I(%h) 0",`VP_TOP.EXE.II0.iInstruction0[`INST_IMM_RNG]); |
3'b110: `DWRITE"R[%d + %d + %d] 0", `VP_TOP.EXE.II0.oSourceAddress1,`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister); |
3'b111: `DWRITE"R[%d + %d + %d] R[%d + %d]",`VP_TOP.EXE.II0.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset,`VP_TOP.EXE.II0.iIndexRegister,`VP_TOP.EXE.II0.oSourceAddress0,`VP_TOP.EXE.II0.iFrameOffset); |
endcase |
else |
begin |
if (`VP_TOP.EXE.II0.iInstruction0[`INST_SRC1_DISPLACED] == 0) |
$fwrite(VP_LOG, "R[%d] ",`VP_TOP.EXE.II0.oSourceAddress1); |
`DWRITE "R[%d] ",`VP_TOP.EXE.II0.oSourceAddress1); |
else |
$fwrite(VP_LOG, "R[%d + %d] ", `VP_TOP.EXE.II0.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
`DWRITE "R[%d + %d] ", `VP_TOP.EXE.II0.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
|
if (`VP_TOP.EXE.II0.iInstruction0[`INST_SRC0_DISPLACED] == 0) |
$fwrite(VP_LOG, "R[%d] ",`VP_TOP.EXE.II0.oSourceAddress0); |
`DWRITE "R[%d] ",`VP_TOP.EXE.II0.oSourceAddress0); |
else |
$fwrite(VP_LOG, "R[%d + %d] ", `VP_TOP.EXE.II0.iInstruction0[`INST_SRC0_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
`DWRITE "R[%d + %d] ", `VP_TOP.EXE.II0.iInstruction0[`INST_SRC0_ADDR_RNG],`VP_TOP.EXE.II0.iFrameOffset); |
end |
|
$fwrite(VP_LOG,"\t\t\t\t"); |
`DWRITE"\t\t\t\t"); |
case ( `VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC1RS_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_IO: $fwrite(VP_LOG," IO "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
`RS_IO: `DWRITE" IO "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC1RS_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC1RS_RNG]); |
endcase |
$fwrite(VP_LOG," | "); |
`DWRITE" | "); |
|
case ( `VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC0RS_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_IO: $fwrite(VP_LOG," IO "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
`RS_IO: `DWRITE" IO "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC0RS_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC0RS_RNG]); |
endcase |
$fwrite(VP_LOG," | "); |
`DWRITE" | "); |
|
$fwrite(VP_LOG," %h.%b | %h.%b s(%b)| -> ", |
`DWRITE" %h.%b | %h.%b s(%b)| -> ", |
`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC1_DATA_RNG], |
`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SWZZ1_RNG], |
`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SRC0_DATA_RNG], |
210,7 → 218,7
`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SWZZ0_RNG], |
`VP_TOP.EXE.II0.oIssueBcast[`ISSUE_SCALE_RNG]); |
|
$fwrite(VP_LOG," %h | %h", |
`DWRITE" %h | %h", |
`VP_TOP.EXE.wModIssue[`MOD_ISSUE_SRC1_DATA_RNG], |
`VP_TOP.EXE.wModIssue[`MOD_ISSUE_SRC0_DATA_RNG] |
); |
234,110 → 242,110
|
|
//Issue state dump |
$fwrite(VP_LOG,"\n THREAD 1 %dns IP %d ISSUE ",$time,`VP_TOP.EXE.II1.oIP0-1); |
`DWRITE"\n THREAD 1 %dns IP %d ISSUE ",$time,`VP_TOP.EXE.II1.oIP0-1); |
|
//Issue instruction undecoded |
$fwrite(VP_LOG," (%h) \t",`VP_TOP.EXE.II1.iInstruction0); |
`DWRITE" (%h) \t",`VP_TOP.EXE.II1.iInstruction0); |
|
if (`VP_TOP.EXE.II1.iInstruction0[`INST_BRANCH_BIT]) |
$fwrite(VP_LOG," BRANCH "); |
`DWRITE" BRANCH "); |
|
case ( `VP_TOP.EXE.II1.oIssueBcast[`ISSUE_RSID_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_RSID_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_RSID_RNG]); |
endcase |
|
if ( `VP_TOP.EXE.II1.iInstruction0[`INST_IMM] == 0) |
begin |
if (`VP_TOP.EXE.II1.iInstruction0[`INST_DEST_ZERO]) |
$fwrite(VP_LOG, "R[%d + %d]", `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
`DWRITE "R[%d + %d]", `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
else |
$fwrite(VP_LOG, "R[%d]", `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
`DWRITE "R[%d]", `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
end |
else |
begin |
|
case (`VP_TOP.EXE.II1.iInstruction0[`INST_ADDRMODE_RNG]) |
3'b000: $fwrite(VP_LOG,"R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b001: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b010: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b011: $fwrite(VP_LOG,"R[%d + %d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.wSource1_Temp[`X_RNG]); |
3'b100: $fwrite(VP_LOG,"R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b101: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b110: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b111: $fwrite(VP_LOG,"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b000: `DWRITE"R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b001: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b010: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b011: `DWRITE"R[%d + %d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.wSource1_Temp[`X_RNG]); |
3'b100: `DWRITE"R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b101: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b110: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
3'b111: `DWRITE"R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
endcase |
end |
|
case ( `VP_TOP.EXE.II1.oIssueBcast[`ISSUE_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_WE_RNG]); |
endcase |
|
if (`VP_TOP.EXE.II1.iInstruction0[`INST_IMM]) |
/*if (`VP_TOP.EXE.II1.iInstruction0[`INST_SRC0_DISPLACED] && `VP_TOP.EXE.II1.iInstruction0[`INST_SRC1_DISPLACED]) |
$fwrite(VP_LOG, "R[%d] 0 ",`VP_TOP.EXE.II1.oSourceAddress0); |
`DWRITE "R[%d] 0 ",`VP_TOP.EXE.II1.oSourceAddress0); |
else |
$fwrite(VP_LOG, "I(%h)",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]);*/ |
`DWRITE "I(%h)",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]);*/ |
case (`VP_TOP.EXE.II1.iInstruction0[`INST_ADDRMODE_RNG]) |
3'b000: $fwrite(VP_LOG,"I(%h) R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG], `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b001: $fwrite(VP_LOG,"I(%h) R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
3'b010: $fwrite(VP_LOG,"R[%d+%d] R[%d+%d+%d]",`VP_TOP.EXE.II1.oSourceAddress1,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister); |
3'b011: $fwrite(VP_LOG,"0 R[%d + %d]",`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
3'b100: $fwrite(VP_LOG,"I(%h) 0",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]); |
3'b101: $fwrite(VP_LOG,"I(%h) 0",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]); |
3'b110: $fwrite(VP_LOG,"R[%d + %d + %d] 0", `VP_TOP.EXE.II1.oSourceAddress1,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister); |
3'b111: $fwrite(VP_LOG,"R[%d + %d + %d] R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister,`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
3'b000: `DWRITE"I(%h) R[%d]",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG], `VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG]); |
3'b001: `DWRITE"I(%h) R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_DST_RNG],`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
3'b010: `DWRITE"R[%d+%d] R[%d+%d+%d]",`VP_TOP.EXE.II1.oSourceAddress1,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister); |
3'b011: `DWRITE"0 R[%d + %d]",`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
3'b100: `DWRITE"I(%h) 0",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]); |
3'b101: `DWRITE"I(%h) 0",`VP_TOP.EXE.II1.iInstruction0[`INST_IMM_RNG]); |
3'b110: `DWRITE"R[%d + %d + %d] 0", `VP_TOP.EXE.II1.oSourceAddress1,`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister); |
3'b111: `DWRITE"R[%d + %d + %d] R[%d + %d]",`VP_TOP.EXE.II1.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset,`VP_TOP.EXE.II1.iIndexRegister,`VP_TOP.EXE.II1.oSourceAddress0,`VP_TOP.EXE.II1.iFrameOffset); |
endcase |
else |
begin |
if (`VP_TOP.EXE.II1.iInstruction0[`INST_SRC1_DISPLACED] == 0) |
$fwrite(VP_LOG, "R[%d] ",`VP_TOP.EXE.II1.oSourceAddress1); |
`DWRITE "R[%d] ",`VP_TOP.EXE.II1.oSourceAddress1); |
else |
$fwrite(VP_LOG, "R[%d + %d] ", `VP_TOP.EXE.II1.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
`DWRITE "R[%d + %d] ", `VP_TOP.EXE.II1.iInstruction0[`INST_SCR1_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
|
if (`VP_TOP.EXE.II1.iInstruction0[`INST_SRC0_DISPLACED] == 0) |
$fwrite(VP_LOG, "R[%d] ",`VP_TOP.EXE.II1.oSourceAddress0); |
`DWRITE "R[%d] ",`VP_TOP.EXE.II1.oSourceAddress0); |
else |
$fwrite(VP_LOG, "R[%d + %d] ", `VP_TOP.EXE.II1.iInstruction0[`INST_SRC0_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
`DWRITE "R[%d + %d] ", `VP_TOP.EXE.II1.iInstruction0[`INST_SRC0_ADDR_RNG],`VP_TOP.EXE.II1.iFrameOffset); |
end |
|
$fwrite(VP_LOG,"\t\t\t\t"); |
`DWRITE"\t\t\t\t"); |
case ( `VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC1RS_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_IO: $fwrite(VP_LOG," IO "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
`RS_IO: `DWRITE" IO "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC1RS_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC1RS_RNG]); |
endcase |
$fwrite(VP_LOG," | "); |
`DWRITE" | "); |
|
case ( `VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC0RS_RNG] ) |
`RS_ADD0: $fwrite(VP_LOG," ADD_0 "); |
`RS_ADD1: $fwrite(VP_LOG," ADD_1 "); |
`RS_DIV: $fwrite(VP_LOG," DIV "); |
`RS_MUL: $fwrite(VP_LOG," MUL "); |
`RS_SQRT: $fwrite(VP_LOG," SQRT "); |
`RS_IO: $fwrite(VP_LOG," IO "); |
`RS_ADD0: `DWRITE" ADD_0 "); |
`RS_ADD1: `DWRITE" ADD_1 "); |
`RS_DIV: `DWRITE" DIV "); |
`RS_MUL: `DWRITE" MUL "); |
`RS_SQRT: `DWRITE" SQRT "); |
`RS_IO: `DWRITE" IO "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC0RS_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.II1.oIssueBcast[`ISSUE_SRC0RS_RNG]); |
endcase |
$fwrite(VP_LOG," | "); |
`DWRITE" | "); |
|
$fwrite(VP_LOG," %h | %h", |
`DWRITE" %h | %h", |
`VP_TOP.EXE.wModIssue[`MOD_ISSUE_SRC1_DATA_RNG], |
`VP_TOP.EXE.wModIssue[`MOD_ISSUE_SRC0_DATA_RNG] |
); |
353,7 → 361,7
if (`VP_TOP.EXE.II0.wCommitFromPendingStation) |
begin |
if ( `VP_TOP.EXE.II0.wBranchTaken) |
$fwrite(VP_LOG,"\nTHREAD 0: BRANCH TAKEN "); |
`DWRITE"\nTHREAD 0: BRANCH TAKEN "); |
|
end |
|
361,116 → 369,116
begin |
if ( `VP_TOP.EXE.II1.wBranchTaken) |
|
$fwrite(VP_LOG,"\nTHREAD 1: BRANCH TAKEN "); |
`DWRITE"\nTHREAD 1: BRANCH TAKEN "); |
|
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.LOGIC_STA.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns VP[%d]\t COMMIT LOGIC( ",$time,`VP_TOP.iVPID-1); |
`DWRITE"\n%dns VP[%d]\t COMMIT LOGIC( ",$time,`VP_TOP.iVPID-1); |
|
case (`VP_TOP.EXE.LOGIC_STA.wResultSelector) |
0: $fwrite(VP_LOG,"AND"); |
1: $fwrite(VP_LOG,"OR"); |
2: $fwrite(VP_LOG,"NOT"); |
3: $fwrite(VP_LOG,"SHL"); |
4: $fwrite(VP_LOG,"SHR"); |
0: `DWRITE"AND"); |
1: `DWRITE"OR"); |
2: `DWRITE"NOT"); |
3: `DWRITE"SHL"); |
4: `DWRITE"SHR"); |
default: |
$fwrite(VP_LOG,"UNKNOWN"); |
`DWRITE"UNKNOWN"); |
endcase |
$fwrite(VP_LOG,") "); |
$fwrite(VP_LOG," R[%d]",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE") "); |
`DWRITE" R[%d]",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h\n",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h\n",`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.LOGIC_STA.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.ADD_STA0.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns\t VP[%d] COMMIT ADD_0 R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE"\n%dns\t VP[%d] COMMIT ADD_0 R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h\n",`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h\n",`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.ADD_STA0.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.ADD_STA1.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns\t VP[%d] COMMIT ADD_1 R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE"\n%dns\t VP[%d] COMMIT ADD_1 R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h\n",`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h\n",`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.ADD_STA1.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.DIV_STA.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns\t VP[%d] COMMIT DIV R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE"\n%dns\t VP[%d] COMMIT DIV R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h\n",`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h\n",`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.DIV_STA.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.MUL_STA.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns\t VP[%d] COMMIT MUL R[%d]",$time,`VP_TOP.iVPID-1, `VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE"\n%dns\t VP[%d] COMMIT MUL R[%d]",$time,`VP_TOP.iVPID-1, `VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h\n",`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h\n",`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_Y_RNG],`VP_TOP.EXE.MUL_STA.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
if (`VP_TOP.EXE.SQRT_STA.RS.iCommitGranted) |
begin |
$fwrite(VP_LOG,"\n%dns\t VP[%d] COMMIT SQRT R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_DST_RNG]); |
`DWRITE"\n%dns\t VP[%d] COMMIT SQRT R[%d]",$time,`VP_TOP.iVPID-1,`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_DST_RNG]); |
|
case ( `VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_WE_RNG] ) |
3'b000: $fwrite(VP_LOG,".nowrite "); |
3'b001: $fwrite(VP_LOG,".z "); |
3'b010: $fwrite(VP_LOG,".y "); |
3'b100: $fwrite(VP_LOG,".x "); |
3'b111: $fwrite(VP_LOG,".xyz "); |
3'b000: `DWRITE".nowrite "); |
3'b001: `DWRITE".z "); |
3'b010: `DWRITE".y "); |
3'b100: `DWRITE".x "); |
3'b111: `DWRITE".xyz "); |
default: |
$fwrite(VP_LOG," %b ",`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_WE_RNG]); |
`DWRITE" %b ",`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_WE_RNG]); |
endcase |
$fwrite(VP_LOG," %h %h %h \n",`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_Y_RNG], `VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_Z_RNG]); |
`DWRITE" %h %h %h \n",`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_X_RNG],`VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_Y_RNG], `VP_TOP.EXE.SQRT_STA.oCommitData[`COMMIT_Z_RNG]); |
end |
//----------------------------------------------------------------- |
|
/Theia.v
26,7 → 26,7
input wire Clock, |
input wire Reset, |
input wire iEnable, |
input wire [31:0] iMemReadData, |
input wire [31:0] iMemReadData, //Data read from Main memory |
input wire iMemDataAvailable, |
output wire [31:0] oMemReadAddress, |
output wire oMEM_ReadRequest |