minor update

This commit is contained in:
Blaise Tine
2021-02-12 08:52:06 -08:00
parent ab63ac9e5d
commit 073964fdf7
8 changed files with 59 additions and 59 deletions

View File

@@ -313,7 +313,7 @@
// Miss Handling Register Size // Miss Handling Register Size
`ifndef DMSHR_SIZE `ifndef DMSHR_SIZE
`define DMSHR_SIZE `LSUQ_SIZE `define DMSHR_SIZE (`LSUQ_SIZE / 2)
`endif `endif
// DRAM Request Queue Size // DRAM Request Queue Size

View File

@@ -66,7 +66,8 @@ module VX_csr_arb #(
VX_stream_arbiter #( VX_stream_arbiter #(
.NUM_REQS (NUM_REQS), .NUM_REQS (NUM_REQS),
.DATAW (RSP_DATAW), .DATAW (RSP_DATAW),
.BUFFERED (BUFFERED_RSP) .BUFFERED (BUFFERED_RSP),
.TYPE ("X") // fixed arbitration
) rsp_arb ( ) rsp_arb (
.clk (clk), .clk (clk),
.reset (reset), .reset (reset),

View File

@@ -30,6 +30,16 @@ module VX_fp_div #(
wire enable = ~stall; wire enable = ~stall;
for (genvar i = 0; i < LANES; i++) begin for (genvar i = 0; i < LANES; i++) begin
wire fdiv_reset;
VX_reset_relay #(
.NUM_NODES(1)
) reset_relay (
.clk (clk),
.reset (reset),
.reset_o (fdiv_reset)
);
`ifdef VERILATOR `ifdef VERILATOR
reg [31:0] r; reg [31:0] r;
fflags_t f; fflags_t f;
@@ -45,7 +55,7 @@ module VX_fp_div #(
.RESETW (1) .RESETW (1)
) shift_req_dpi ( ) shift_req_dpi (
.clk (clk), .clk (clk),
.reset (reset), .reset (fdiv_reset),
.enable (enable), .enable (enable),
.data_in (r), .data_in (r),
.data_out (result[i]) .data_out (result[i])
@@ -53,7 +63,7 @@ module VX_fp_div #(
`else `else
acl_fdiv fdiv ( acl_fdiv fdiv (
.clk (clk), .clk (clk),
.areset (reset), .areset (fdiv_reset),
.en (enable), .en (enable),
.a (dataa[i]), .a (dataa[i]),
.b (datab[i]), .b (datab[i]),

View File

@@ -29,6 +29,16 @@ module VX_fp_sqrt #(
wire enable = ~stall; wire enable = ~stall;
for (genvar i = 0; i < LANES; i++) begin for (genvar i = 0; i < LANES; i++) begin
wire fsqrt_reset;
VX_reset_relay #(
.NUM_NODES(1)
) reset_relay (
.clk (clk),
.reset (reset),
.reset_o (fsqrt_reset)
);
`ifdef VERILATOR `ifdef VERILATOR
reg [31:0] r; reg [31:0] r;
fflags_t f; fflags_t f;
@@ -44,7 +54,7 @@ module VX_fp_sqrt #(
.RESETW (1) .RESETW (1)
) shift_req_dpi ( ) shift_req_dpi (
.clk (clk), .clk (clk),
.reset (reset), .reset (fsqrt_reset),
.enable (enable), .enable (enable),
.data_in (r), .data_in (r),
.data_out (result[i]) .data_out (result[i])
@@ -52,7 +62,7 @@ module VX_fp_sqrt #(
`else `else
acl_fsqrt fsqrt ( acl_fsqrt fsqrt (
.clk (clk), .clk (clk),
.areset (reset), .areset (fsqrt_reset),
.en (enable), .en (enable),
.a (dataa[i]), .a (dataa[i]),
.q (result[i]) .q (result[i])

View File

@@ -16,7 +16,7 @@ module VX_stream_arbiter #(
output wire valid_out, output wire valid_out,
output wire [DATAW-1:0] data_out, output wire [DATAW-1:0] data_out,
input wire ready_out input wire ready_out
); );
localparam LOG_NUM_REQS = $clog2(NUM_REQS); localparam LOG_NUM_REQS = $clog2(NUM_REQS);

View File

@@ -23,10 +23,10 @@ cd build_fpga && qsub-synth
tail -n 10 ./build_fpga_1c/build.log tail -n 10 ./build_fpga_1c/build.log
# Check if the job is submitted to the queue and running. Status should be R # Check if the job is submitted to the queue and running. Status should be R
qstat | grep tinebp qstat | grep <user>
# Constantly monitoring the job submitted to the queue. Stop this using Ctrl+C # Constantly monitoring the job submitted to the queue. Stop this using Ctrl+C
watch qstat | grep tinebp watch qstat | grep <user>
# #
## Executing on FPGA ## Executing on FPGA
@@ -90,14 +90,6 @@ tar -cvjf trace.vcd.tar.bz2 trace.vcd run.log
tar -zxvf vortex.vcd.tar.gz tar -zxvf vortex.vcd.tar.gz
tar -xvf vortex.vcd.tar.bz2 tar -xvf vortex.vcd.tar.bz2
# launch Gtkwave
gtkwave ./build_ase_1c/work/vortex.vcd &
# kill process by Users
ps -u tinebp
kill -9 <pid>
ps -u tinebp | grep "blackbox" | awk '{print $1}' | xargs kill -9
# fixing device resource busy issue when deleting /build_ase_1c/ # fixing device resource busy issue when deleting /build_ase_1c/
lsof +D build_ase_1c lsof +D build_ase_1c
@@ -114,10 +106,3 @@ make -C top2 clean && make -C top2 > top2/build.log 2>&1 &
make -C top8 clean && make -C top8 > top8/build.log 2>&1 & make -C top8 clean && make -C top8 > top8/build.log 2>&1 &
make -C top16 clean && make -C top16 > top16/build.log 2>&1 & make -C top16 clean && make -C top16 > top16/build.log 2>&1 &
make -C top32 clean && make -C top32 > top32/build.log 2>&1 & make -C top32 clean && make -C top32 > top32/build.log 2>&1 &
# How to calculate the maximum operating frequency?
200 Mhz -> period = 1/200x10^6 = 5ns
if slack = +1.664 -> minimal period = 5-1.664 = 3.336 -> fmax = 1/3.336 = 300 Mhz
# build rtlsim from driver tests
make -C ../../rtlsim clean && reset && make -C ../../rtlsim

View File

@@ -10,19 +10,16 @@ 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 TIMEQUEST_DO_REPORT_TIMING ON set_global_assignment -name TIMEQUEST_DO_REPORT_TIMING ON
#set_global_assignment -name OPTIMIZATION_TECHNIQUE BALANCED set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED
#set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE" set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE"
#set_global_assignment -name FITTER_EFFORT "STANDARD FIT" set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
#set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS" set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS"
#set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL MAXIMUM set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON
#set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL MAXIMUM
#set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON
#set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON
#set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON
#set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
#set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
#set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL ON set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100
#set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON set_global_assignment -name SEED 1
#set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
#set_global_assignment -name POWER_USE_TA_VALUE 65
#set_global_assignment -name SEED 1

View File

@@ -45,22 +45,19 @@ set_global_assignment -name ALLOW_ANY_RAM_SIZE_FOR_RECOGNITION ON
set_global_assignment -name USE_HIGH_SPEED_ADDER ON set_global_assignment -name USE_HIGH_SPEED_ADDER ON
set_global_assignment -name MUX_RESTRUCTURE ON set_global_assignment -name MUX_RESTRUCTURE ON
#set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED
#set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE" set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE"
#set_global_assignment -name FITTER_EFFORT "STANDARD FIT" set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
#set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS" set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS"
#set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL MAXIMUM set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON
#set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL MAXIMUM
#set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON
#set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON
#set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON
#set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
#set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
#set_global_assignment -name TIMEQUEST_DO_CCPP_REMOVAL ON set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100
#set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON set_global_assignment -name SEED 1
#set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON
#set_global_assignment -name POWER_USE_TA_VALUE 65
#set_global_assignment -name SEED 1
switch $opts(family) { switch $opts(family) {
"Arria 10" { "Arria 10" {