minor update
This commit is contained in:
@@ -62,7 +62,7 @@ make ase
|
|||||||
# tests
|
# tests
|
||||||
./run_ase.sh build_ase_1c ../../driver/tests/basic/basic -n 256
|
./run_ase.sh build_ase_1c ../../driver/tests/basic/basic -n 256
|
||||||
./run_ase.sh build_ase_1c ../../driver/tests/demo/demo -n 16
|
./run_ase.sh build_ase_1c ../../driver/tests/demo/demo -n 16
|
||||||
./run_ase.sh build_ase_1c ../../driver/tests/dogfood/dogfood -n 16
|
./run_ase.sh build_ase_1c ../../driver/tests/dogfood/dogfood -n 1 -s4 -e4
|
||||||
./run_ase.sh build_ase_1c ../../benchmarks/opencl/vecadd/vecadd
|
./run_ase.sh build_ase_1c ../../benchmarks/opencl/vecadd/vecadd
|
||||||
|
|
||||||
# modify "vsim_run.tcl" to dump VCD trace
|
# modify "vsim_run.tcl" to dump VCD trace
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#+define+SCOPE
|
#+define+SCOPE
|
||||||
+define+SYNTHESIS
|
+define+SYNTHESIS
|
||||||
|
+define+QUARTUS
|
||||||
|
+define+FPU_FAST
|
||||||
|
|
||||||
#+define+DBG_PRINT_CORE_ICACHE
|
#+define+DBG_PRINT_CORE_ICACHE
|
||||||
#+define+DBG_PRINT_CORE_DCACHE
|
#+define+DBG_PRINT_CORE_DCACHE
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
+define+NUM_CORES=2
|
+define+NUM_CORES=2
|
||||||
+define+L2_ENABLE=0
|
+define+L2_ENABLE=0
|
||||||
|
+define+SYNTHESIS
|
||||||
|
+define+QUARTUS
|
||||||
|
+define+FPU_FAST
|
||||||
|
|
||||||
vortex_afu.json
|
vortex_afu.json
|
||||||
QI:vortex_afu.qsf
|
QI:vortex_afu.qsf
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
+define+NUM_CORES=4
|
+define+NUM_CORES=4
|
||||||
+define+L2_ENABLE=0
|
+define+L2_ENABLE=0
|
||||||
|
+define+SYNTHESIS
|
||||||
|
+define+QUARTUS
|
||||||
|
+define+FPU_FAST
|
||||||
|
|
||||||
vortex_afu.json
|
vortex_afu.json
|
||||||
QI:vortex_afu.qsf
|
QI:vortex_afu.qsf
|
||||||
|
|||||||
@@ -6,3 +6,4 @@ set_global_assignment -name VERILOG_MACRO QUARTUS
|
|||||||
set_global_assignment -name VERILOG_MACRO SYNTHESIS
|
set_global_assignment -name VERILOG_MACRO SYNTHESIS
|
||||||
set_global_assignment -name VERILOG_MACRO NDEBUG
|
set_global_assignment -name VERILOG_MACRO NDEBUG
|
||||||
set_global_assignment -name MESSAGE_DISABLE 16818
|
set_global_assignment -name MESSAGE_DISABLE 16818
|
||||||
|
set_global_assignment -name VERILOG_MACRO FPU_FAST
|
||||||
@@ -59,10 +59,6 @@
|
|||||||
`define EXT_F_ENABLE
|
`define EXT_F_ENABLE
|
||||||
`endif
|
`endif
|
||||||
|
|
||||||
`ifndef FPNEW_DISABLE
|
|
||||||
`define FPNEW_ENABLE
|
|
||||||
`endif
|
|
||||||
|
|
||||||
// Device identification
|
// Device identification
|
||||||
`define VENDOR_ID 0
|
`define VENDOR_ID 0
|
||||||
`define ARCHITECTURE_ID 0
|
`define ARCHITECTURE_ID 0
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ module VX_fpu_unit #(
|
|||||||
// can accept new request?
|
// can accept new request?
|
||||||
assign fpu_req_if.ready = ready_in && ~fpuq_full;
|
assign fpu_req_if.ready = ready_in && ~fpuq_full;
|
||||||
|
|
||||||
`ifndef FPNEW_ENABLE
|
`ifdef FPU_FAST
|
||||||
|
|
||||||
VX_fp_fpga #(
|
VX_fp_fpga #(
|
||||||
.TAGW (FPUQ_BITS)
|
.TAGW (FPUQ_BITS)
|
||||||
|
|||||||
@@ -23,7 +23,11 @@ module VX_gpr_fp_ctrl (
|
|||||||
|
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
if (reset) begin
|
if (reset) begin
|
||||||
read_rs1 <= 1;
|
rs1_tmp_data <= 0;
|
||||||
|
rs2_tmp_data <= 0;
|
||||||
|
rs3_tmp_data <= 0;
|
||||||
|
read_rs1 <= 1;
|
||||||
|
rs3_wid <= 0;
|
||||||
end else begin
|
end else begin
|
||||||
if (rs3_delay) begin
|
if (rs3_delay) begin
|
||||||
read_rs1 <= 0;
|
read_rs1 <= 0;
|
||||||
@@ -32,16 +36,18 @@ module VX_gpr_fp_ctrl (
|
|||||||
read_rs1 <= 1;
|
read_rs1 <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if (read_rs1) begin
|
||||||
|
rs1_tmp_data <= rs1_data;
|
||||||
|
end
|
||||||
|
rs2_tmp_data <= rs2_data;
|
||||||
|
rs3_tmp_data <= rs1_data;
|
||||||
|
|
||||||
assert(read_rs1 || rs3_wid == gpr_read_if.wid);
|
assert(read_rs1 || rs3_wid == gpr_read_if.wid);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
always @(posedge clk) begin
|
always @(posedge clk) begin
|
||||||
if (read_rs1) begin
|
|
||||||
rs1_tmp_data <= rs1_data;
|
|
||||||
end
|
|
||||||
rs2_tmp_data <= rs2_data;
|
|
||||||
rs3_tmp_data <= rs1_data;
|
|
||||||
end
|
end
|
||||||
|
|
||||||
// outputs
|
// outputs
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ module VX_fp_madd #(
|
|||||||
.chainin_invalid(),
|
.chainin_invalid(),
|
||||||
.chainin_underflow(),
|
.chainin_underflow(),
|
||||||
.chainin_inexact(),
|
.chainin_inexact(),
|
||||||
.ax(),
|
.ax(dataa[i]),
|
||||||
.ay(datab[i]),
|
.ay(datab[i]),
|
||||||
.az(dataa[i]),
|
.az(),
|
||||||
.clk({2'b00,clk}),
|
.clk({2'b00,clk}),
|
||||||
.ena({2'b11,~stall}),
|
.ena({2'b11,~stall}),
|
||||||
.aclr(2'b00),
|
.aclr(2'b00),
|
||||||
@@ -75,12 +75,12 @@ module VX_fp_madd #(
|
|||||||
defparam mac_fp_add.adder_subtract = "false";
|
defparam mac_fp_add.adder_subtract = "false";
|
||||||
defparam mac_fp_add.ax_clock = "0";
|
defparam mac_fp_add.ax_clock = "0";
|
||||||
defparam mac_fp_add.ay_clock = "0";
|
defparam mac_fp_add.ay_clock = "0";
|
||||||
defparam mac_fp_add.az_clock = "0";
|
defparam mac_fp_add.az_clock = "none";
|
||||||
defparam mac_fp_add.output_clock = "0";
|
defparam mac_fp_add.output_clock = "0";
|
||||||
defparam mac_fp_add.accumulate_clock = "none";
|
defparam mac_fp_add.accumulate_clock = "none";
|
||||||
defparam mac_fp_add.ax_chainin_pl_clock = "0";
|
defparam mac_fp_add.ax_chainin_pl_clock = "none";
|
||||||
defparam mac_fp_add.accum_pipeline_clock = "none";
|
defparam mac_fp_add.accum_pipeline_clock = "none";
|
||||||
defparam mac_fp_add.mult_pipeline_clock = "0";
|
defparam mac_fp_add.mult_pipeline_clock = "none";
|
||||||
defparam mac_fp_add.adder_input_clock = "0";
|
defparam mac_fp_add.adder_input_clock = "0";
|
||||||
defparam mac_fp_add.accum_adder_clock = "none";
|
defparam mac_fp_add.accum_adder_clock = "none";
|
||||||
|
|
||||||
@@ -91,9 +91,9 @@ module VX_fp_madd #(
|
|||||||
.chainin_invalid(),
|
.chainin_invalid(),
|
||||||
.chainin_underflow(),
|
.chainin_underflow(),
|
||||||
.chainin_inexact(),
|
.chainin_inexact(),
|
||||||
.ax(),
|
.ax(dataa[i]),
|
||||||
.ay(datab[i]),
|
.ay(datab[i]),
|
||||||
.az(dataa[i]),
|
.az(),
|
||||||
.clk({2'b00,clk}),
|
.clk({2'b00,clk}),
|
||||||
.ena({2'b11,~stall}),
|
.ena({2'b11,~stall}),
|
||||||
.aclr(2'b00),
|
.aclr(2'b00),
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ module VX_fp_nmadd #(
|
|||||||
.ay(datab[i]),
|
.ay(datab[i]),
|
||||||
.az(dataa[i]),
|
.az(dataa[i]),
|
||||||
.clk({2'b00,clk}),
|
.clk({2'b00,clk}),
|
||||||
.ena({2'b11,~stall),
|
.ena({2'b11,~stall}),
|
||||||
.aclr(2'b00),
|
.aclr(2'b00),
|
||||||
.chainin(),
|
.chainin(),
|
||||||
// outputs
|
// outputs
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ set_global_assignment -name VERILOG_MACRO QUARTUS
|
|||||||
set_global_assignment -name VERILOG_MACRO SYNTHESIS
|
set_global_assignment -name VERILOG_MACRO SYNTHESIS
|
||||||
set_global_assignment -name VERILOG_MACRO NDEBUG
|
set_global_assignment -name VERILOG_MACRO NDEBUG
|
||||||
set_global_assignment -name MESSAGE_DISABLE 16818
|
set_global_assignment -name MESSAGE_DISABLE 16818
|
||||||
|
set_global_assignment -name VERILOG_MACRO FPU_FAST
|
||||||
|
|
||||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100
|
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100
|
||||||
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
|
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
|
||||||
|
|||||||
Reference in New Issue
Block a user