fixed snoop forwarding hang
This commit is contained in:
@@ -20,8 +20,8 @@ DBG_FLAGS += $(DBG_PRINT_FLAGS)
|
||||
DBG_FLAGS += -DDBG_CORE_REQ_INFO
|
||||
|
||||
#CONFIGS += -DNUM_CLUSTERS=2 -DNUM_CORES=4 -DL2_ENABLE=1 -DL3_ENABLE=1
|
||||
CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=1
|
||||
#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0
|
||||
#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=1
|
||||
CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=2 -DL2_ENABLE=0
|
||||
#CONFIGS += -DNUM_CLUSTERS=1 -DNUM_CORES=1
|
||||
|
||||
#DEBUG=1
|
||||
|
||||
@@ -112,10 +112,4 @@ make -C top clean && make -C top > top/build.log 2>&1 &
|
||||
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
|
||||
|
||||
# split tar into multiple parts
|
||||
split -b 50M home.tar.bz2 "home.tar.bz2.part"
|
||||
|
||||
|
||||
cat run.log | grep -c "cache[0-9]*:[0-9]* dram_req"
|
||||
make -C ../../rtlsim clean && reset && make -C ../../rtlsim
|
||||
@@ -953,7 +953,7 @@ always @(posedge clk) begin
|
||||
end
|
||||
end
|
||||
|
||||
// CSRs///////////////////////////////////////////////////////////////////////
|
||||
// CSRs ///////////////////////////////////////////////////////////////////////
|
||||
|
||||
reg csr_io_req_sent;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ module VX_csr_io_arb #(
|
||||
wire [REQS_BITS-1:0] rsp_idx;
|
||||
wire [NUM_REQUESTS-1:0] rsp_1hot;
|
||||
|
||||
VX_fixed_arbiter #(
|
||||
VX_rr_arbiter #(
|
||||
.N(NUM_REQUESTS)
|
||||
) rsp_arb (
|
||||
.clk (clk),
|
||||
|
||||
2
hw/rtl/cache/VX_bank.v
vendored
2
hw/rtl/cache/VX_bank.v
vendored
@@ -788,7 +788,7 @@ module VX_bank #(
|
||||
VX_generic_queue #(
|
||||
.DATAW(SNP_REQ_TAG_WIDTH),
|
||||
.SIZE(SNPQ_SIZE)
|
||||
) snp_queue (
|
||||
) snp_rsp_queue (
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.push (snpq_push),
|
||||
|
||||
4
hw/rtl/cache/VX_snp_forwarder.v
vendored
4
hw/rtl/cache/VX_snp_forwarder.v
vendored
@@ -57,7 +57,7 @@ module VX_snp_forwarder #(
|
||||
assign sfq_read_addr = fwdin_tag;
|
||||
|
||||
assign sfq_acquire = snp_req_valid && !sfq_full && fwdout_ready;
|
||||
assign sfq_release = snp_rsp_valid;
|
||||
assign sfq_release = snp_rsp_valid && snp_rsp_ready;
|
||||
|
||||
VX_cam_buffer #(
|
||||
.DATAW (`DRAM_ADDR_WIDTH + 1 + SNP_REQ_TAG_WIDTH),
|
||||
@@ -98,7 +98,7 @@ module VX_snp_forwarder #(
|
||||
wire [`REQS_BITS-1:0] sel_idx;
|
||||
wire [NUM_REQUESTS-1:0] sel_1hot;
|
||||
|
||||
VX_fixed_arbiter #(
|
||||
VX_rr_arbiter #(
|
||||
.N(NUM_REQUESTS)
|
||||
) sel_arb (
|
||||
.clk (clk),
|
||||
|
||||
2
hw/rtl/cache/VX_snp_rsp_arb.v
vendored
2
hw/rtl/cache/VX_snp_rsp_arb.v
vendored
@@ -21,7 +21,7 @@ module VX_snp_rsp_arb #(
|
||||
wire [`BANK_BITS-1:0] sel_idx;
|
||||
wire [NUM_BANKS-1:0] sel_1hot;
|
||||
|
||||
VX_fixed_arbiter #(
|
||||
VX_rr_arbiter #(
|
||||
.N(NUM_BANKS)
|
||||
) sel_arb (
|
||||
.clk (clk),
|
||||
|
||||
Reference in New Issue
Block a user