fixed OPAE crash, added custom bram module to controll rw collision, dogfood testcase argurment, optimzed buffered fifo, quartus build optimization flags
This commit is contained in:
@@ -12,21 +12,24 @@ module VX_gpr_ram (
|
||||
);
|
||||
`ifndef ASIC
|
||||
|
||||
reg [`NUM_THREADS-1:0][3:0][7:0] ram [(`NUM_WARPS * `NUM_REGS)-1:0];
|
||||
reg [`NUM_THREADS-1:0][3:0][7:0] mem [(`NUM_WARPS * `NUM_REGS)-1:0];
|
||||
reg [`NUM_THREADS-1:0][31:0] q1, q2;
|
||||
|
||||
always @(posedge clk) begin
|
||||
for (integer i = 0; i < `NUM_THREADS; i++) begin
|
||||
if (we[i]) begin
|
||||
ram[waddr][i][0] <= wdata[i][07:00];
|
||||
ram[waddr][i][1] <= wdata[i][15:08];
|
||||
ram[waddr][i][2] <= wdata[i][23:16];
|
||||
ram[waddr][i][3] <= wdata[i][31:24];
|
||||
mem[waddr][i][0] <= wdata[i][07:00];
|
||||
mem[waddr][i][1] <= wdata[i][15:08];
|
||||
mem[waddr][i][2] <= wdata[i][23:16];
|
||||
mem[waddr][i][3] <= wdata[i][31:24];
|
||||
end
|
||||
end
|
||||
q1 <= mem[rs1];
|
||||
q2 <= mem[rs2];
|
||||
end
|
||||
|
||||
assign rs1_data = ram[rs1];
|
||||
assign rs2_data = ram[rs2];
|
||||
|
||||
assign rs1_data = q1;
|
||||
assign rs2_data = q2;
|
||||
|
||||
`else
|
||||
|
||||
@@ -134,4 +137,4 @@ module VX_gpr_ram (
|
||||
|
||||
`endif
|
||||
|
||||
endmodule
|
||||
endmodule
|
||||
Reference in New Issue
Block a user