interfaces refactoring
This commit is contained in:
@@ -21,7 +21,7 @@ DBG_FLAGS += -DDBG_CORE_REQ_INFO
|
|||||||
#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2
|
#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2
|
||||||
|
|
||||||
#DEBUG=1
|
#DEBUG=1
|
||||||
AFU=1
|
#AFU=1
|
||||||
|
|
||||||
CFLAGS += -fPIC
|
CFLAGS += -fPIC
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ $(PROJECT): $(SRCS)
|
|||||||
$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@
|
$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@
|
||||||
|
|
||||||
run-fpga: $(PROJECT)
|
run-fpga: $(PROJECT)
|
||||||
LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 4096
|
LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 256
|
||||||
|
|
||||||
run-ase: $(PROJECT)
|
run-ase: $(PROJECT)
|
||||||
ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 256
|
ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 256
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ $(PROJECT): $(SRCS)
|
|||||||
$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@
|
$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -L../../stub -lvortex -o $@
|
||||||
|
|
||||||
run-fpga: $(PROJECT)
|
run-fpga: $(PROJECT)
|
||||||
LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 128
|
LD_LIBRARY_PATH=../../opae:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 16
|
||||||
|
|
||||||
run-ase: $(PROJECT)
|
run-ase: $(PROJECT)
|
||||||
ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 16
|
ASE_LOG=0 LD_LIBRARY_PATH=../../opae/ase:$(LD_LIBRARY_PATH) ./$(PROJECT) -n 16
|
||||||
|
|||||||
@@ -115,15 +115,15 @@ module VX_exec_unit (
|
|||||||
assign inst_exec_wb_if.curr_PC = in_curr_PC;
|
assign inst_exec_wb_if.curr_PC = in_curr_PC;
|
||||||
|
|
||||||
// Jal rsp
|
// Jal rsp
|
||||||
assign jal_rsp_temp_if.jal = in_jal;
|
assign jal_rsp_temp_if.valid = in_jal;
|
||||||
assign jal_rsp_temp_if.jal_dest = $signed(in_a_reg_data[jal_branch_use_index]) + $signed(in_jal_offset);
|
assign jal_rsp_temp_if.dest = $signed(in_a_reg_data[jal_branch_use_index]) + $signed(in_jal_offset);
|
||||||
assign jal_rsp_temp_if.warp_num = exec_unit_req_if.warp_num;
|
assign jal_rsp_temp_if.warp_num = exec_unit_req_if.warp_num;
|
||||||
|
|
||||||
// Branch rsp
|
// Branch rsp
|
||||||
assign branch_rsp_temp_if.valid_branch = (exec_unit_req_if.branch_type != `BR_NO) && (| exec_unit_req_if.valid);
|
assign branch_rsp_temp_if.valid = (exec_unit_req_if.branch_type != `BR_NO) && (| exec_unit_req_if.valid);
|
||||||
assign branch_rsp_temp_if.branch_dir = temp_branch_dir;
|
assign branch_rsp_temp_if.dir = temp_branch_dir;
|
||||||
assign branch_rsp_temp_if.warp_num = exec_unit_req_if.warp_num;
|
assign branch_rsp_temp_if.warp_num = exec_unit_req_if.warp_num;
|
||||||
assign branch_rsp_temp_if.branch_dest = $signed(exec_unit_req_if.curr_PC) + ($signed(exec_unit_req_if.itype_immed) << 1); // itype_immed = branch_offset
|
assign branch_rsp_temp_if.dest = $signed(exec_unit_req_if.curr_PC) + ($signed(exec_unit_req_if.itype_immed) << 1); // itype_immed = branch_offset
|
||||||
|
|
||||||
VX_generic_register #(
|
VX_generic_register #(
|
||||||
.N(33 + `NW_BITS-1 + 1)
|
.N(33 + `NW_BITS-1 + 1)
|
||||||
@@ -132,8 +132,8 @@ module VX_exec_unit (
|
|||||||
.reset (reset),
|
.reset (reset),
|
||||||
.stall (1'b0),
|
.stall (1'b0),
|
||||||
.flush (1'b0),
|
.flush (1'b0),
|
||||||
.in ({jal_rsp_temp_if.jal, jal_rsp_temp_if.jal_dest, jal_rsp_temp_if.warp_num}),
|
.in ({jal_rsp_temp_if.valid, jal_rsp_temp_if.dest, jal_rsp_temp_if.warp_num}),
|
||||||
.out ({jal_rsp_if.jal , jal_rsp_if.jal_dest , jal_rsp_if.warp_num})
|
.out ({jal_rsp_if.valid , jal_rsp_if.dest , jal_rsp_if.warp_num})
|
||||||
);
|
);
|
||||||
|
|
||||||
VX_generic_register #(
|
VX_generic_register #(
|
||||||
@@ -143,8 +143,8 @@ module VX_exec_unit (
|
|||||||
.reset (reset),
|
.reset (reset),
|
||||||
.stall (1'b0),
|
.stall (1'b0),
|
||||||
.flush (1'b0),
|
.flush (1'b0),
|
||||||
.in ({branch_rsp_temp_if.valid_branch, branch_rsp_temp_if.branch_dir, branch_rsp_temp_if.warp_num, branch_rsp_temp_if.branch_dest}),
|
.in ({branch_rsp_temp_if.valid, branch_rsp_temp_if.dir, branch_rsp_temp_if.warp_num, branch_rsp_temp_if.dest}),
|
||||||
.out ({branch_rsp_if.valid_branch , branch_rsp_if.branch_dir , branch_rsp_if.warp_num , branch_rsp_if.branch_dest })
|
.out ({branch_rsp_if.valid , branch_rsp_if.dir , branch_rsp_if.warp_num , branch_rsp_if.dest })
|
||||||
);
|
);
|
||||||
|
|
||||||
endmodule : VX_exec_unit
|
endmodule : VX_exec_unit
|
||||||
@@ -68,14 +68,14 @@ module VX_fetch (
|
|||||||
.split_warp_num (warp_ctl_if.warp_num),
|
.split_warp_num (warp_ctl_if.warp_num),
|
||||||
|
|
||||||
// JAL
|
// JAL
|
||||||
.jal (jal_rsp_if.jal),
|
.jal (jal_rsp_if.valid),
|
||||||
.jal_dest (jal_rsp_if.jal_dest),
|
.dest (jal_rsp_if.dest),
|
||||||
.jal_warp_num (jal_rsp_if.warp_num),
|
.jal_warp_num (jal_rsp_if.warp_num),
|
||||||
|
|
||||||
// Branch
|
// Branch
|
||||||
.branch_valid (branch_rsp_if.valid_branch),
|
.branch_valid (branch_rsp_if.valid),
|
||||||
.branch_dir (branch_rsp_if.branch_dir),
|
.branch_dir (branch_rsp_if.dir),
|
||||||
.branch_dest (branch_rsp_if.branch_dest),
|
.branch_dest (branch_rsp_if.dest),
|
||||||
.branch_warp_num (branch_rsp_if.warp_num),
|
.branch_warp_num (branch_rsp_if.warp_num),
|
||||||
|
|
||||||
// Outputs
|
// Outputs
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ module VX_warp (
|
|||||||
input wire[`NUM_THREADS-1:0] thread_mask,
|
input wire[`NUM_THREADS-1:0] thread_mask,
|
||||||
input wire change_mask,
|
input wire change_mask,
|
||||||
input wire jal,
|
input wire jal,
|
||||||
input wire[31:0] jal_dest,
|
input wire[31:0] dest,
|
||||||
input wire branch_dir,
|
input wire branch_dir,
|
||||||
input wire[31:0] branch_dest,
|
input wire[31:0] branch_dest,
|
||||||
input wire wspawn,
|
input wire wspawn,
|
||||||
@@ -43,7 +43,7 @@ module VX_warp (
|
|||||||
|
|
||||||
always @(*) begin
|
always @(*) begin
|
||||||
if (jal == 1'b1) begin
|
if (jal == 1'b1) begin
|
||||||
temp_PC = jal_dest;
|
temp_PC = dest;
|
||||||
end else if (branch_dir) begin
|
end else if (branch_dir) begin
|
||||||
temp_PC = branch_dest;
|
temp_PC = branch_dest;
|
||||||
end else begin
|
end else begin
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ module VX_warp_sched (
|
|||||||
|
|
||||||
// JAL
|
// JAL
|
||||||
input wire jal,
|
input wire jal,
|
||||||
input wire[31:0] jal_dest,
|
input wire[31:0] dest,
|
||||||
input wire[`NW_BITS-1:0] jal_warp_num,
|
input wire[`NW_BITS-1:0] jal_warp_num,
|
||||||
|
|
||||||
// Branch
|
// Branch
|
||||||
@@ -203,7 +203,7 @@ module VX_warp_sched (
|
|||||||
|
|
||||||
// Jal
|
// Jal
|
||||||
if (jal) begin
|
if (jal) begin
|
||||||
warp_pcs[jal_warp_num] <= jal_dest;
|
warp_pcs[jal_warp_num] <= dest;
|
||||||
warp_stalled[jal_warp_num] <= 0;
|
warp_stalled[jal_warp_num] <= 0;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
interface VX_branch_rsp_if ();
|
interface VX_branch_rsp_if ();
|
||||||
|
|
||||||
wire valid_branch;
|
wire valid;
|
||||||
wire branch_dir;
|
wire dir;
|
||||||
wire [31:0] branch_dest;
|
wire [31:0] dest;
|
||||||
wire [`NW_BITS-1:0] warp_num;
|
wire [`NW_BITS-1:0] warp_num;
|
||||||
|
|
||||||
endinterface
|
endinterface
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
interface VX_jal_rsp_if ();
|
interface VX_jal_rsp_if ();
|
||||||
|
|
||||||
wire jal;
|
wire valid;
|
||||||
wire [31:0] jal_dest;
|
wire [31:0] dest;
|
||||||
wire [`NW_BITS-1:0] warp_num;
|
wire [`NW_BITS-1:0] warp_num;
|
||||||
|
|
||||||
endinterface
|
endinterface
|
||||||
|
|||||||
Reference in New Issue
Block a user