forked from OSchip/UnityChipVerification
add RAS Stack and fix export LANG bug
This commit is contained in:
parent
a6b31e5c98
commit
bd82ca7566
12
Makefile
12
Makefile
|
|
@ -1,4 +1,4 @@
|
|||
export LANG ?= python
|
||||
export TL ?= python
|
||||
export WAVE ?= true
|
||||
export VERBOSE ?= false
|
||||
export EXAMPLE ?= false
|
||||
|
|
@ -9,17 +9,19 @@ export TARGET
|
|||
default:
|
||||
echo "TODO"
|
||||
|
||||
uftb:
|
||||
make -f ./mk/uFTB.mk uftb
|
||||
|
||||
tage_sc:
|
||||
make -f ./mk/Tage.mk tage_sc
|
||||
|
||||
uftb:
|
||||
make -f ./mk/uFTB.mk uftb
|
||||
|
||||
ftb:
|
||||
make -f ./mk/FTB.mk ftb
|
||||
|
||||
ras:
|
||||
make -f ./mk/RAS.mk ras
|
||||
|
||||
filter:
|
||||
cat log|grep Cannot |awk '{print $8}'| sort| uniq|tr -d "'"
|
||||
|
||||
all: tage_sc uftb ftb
|
||||
all: uftb tage_sc ftb ras
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Install the following tools before running the testcases.
|
|||
### uFTB
|
||||
|
||||
```bash
|
||||
make uftb LANG=python
|
||||
make uftb TL=python
|
||||
```
|
||||
|
||||
Then you will see the following files in the `out` directory. The whole directory is the python module of uFTB of XiangShan.
|
||||
|
|
@ -61,11 +61,11 @@ The other modules such as Tage_SC are similar to uFTB. You can import them in th
|
|||
### Tage SC
|
||||
|
||||
```bash
|
||||
make tage_sc LANG=python
|
||||
make tage_sc TL=python
|
||||
```
|
||||
|
||||
### FTB
|
||||
|
||||
```bash
|
||||
make ftb LANG=python
|
||||
make ftb TL=python
|
||||
```
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
TOP_ENTRY := ./src/FTB/FTB.sv
|
||||
TOP_FILES := ./src/FTB.txt
|
||||
LANG ?= cpp
|
||||
TL ?= cpp
|
||||
|
||||
ifneq ($(TARGET),)
|
||||
TARGET := $(TARGET)
|
||||
|
|
@ -30,7 +30,7 @@ _WAVEFORM ?=
|
|||
|
||||
ftb:
|
||||
@echo "Building tage module with parameters: "
|
||||
@echo "LANG=${LANG}"
|
||||
@echo "TL=${TL}"
|
||||
@echo "TOP_ENTRY=${TOP_ENTRY}"
|
||||
@echo "TOP_FILES=${TOP_FILES}"
|
||||
@echo "TARGET=${TARGET}"
|
||||
|
|
@ -40,7 +40,7 @@ ftb:
|
|||
|
||||
@mkdir -p out
|
||||
rm -rf ${TARGET}
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${LANG} \
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${TL} \
|
||||
-t ${TARGET} ${_WAVEFORM}${_EXAMPLE} ${_VERBOSE}
|
||||
|
||||
cd ${TARGET} && make
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
TOP_ENTRY := ./src/RAS/RAS.sv
|
||||
TOP_FILES := ./src/RAS.txt
|
||||
TL ?= cpp
|
||||
|
||||
ifneq ($(TARGET),)
|
||||
TARGET := $(TARGET)
|
||||
else
|
||||
TARGET := out/picker_out_RAS
|
||||
endif
|
||||
|
||||
# if EXAMPLE is set, then _EXAMPLE is set to -e
|
||||
ifneq ($(EXAMPLE), false)
|
||||
_EXAMPLE := -e
|
||||
endif
|
||||
_EXAMPLE ?=
|
||||
# if VERBOSE is set, then _VERBOSE is set to -v
|
||||
ifneq ($(VERBOSE), false)
|
||||
_VERBOSE := -v
|
||||
endif
|
||||
_VERBOSE ?=
|
||||
# if WAVE is set, then _WAVEFORM is set to -w
|
||||
ifneq ($(WAVE), false)
|
||||
ifneq ($(WAVE), true)
|
||||
_WAVEFORM := -w $(WAVE)
|
||||
else
|
||||
_WAVEFORM := -w RAS.fst
|
||||
endif
|
||||
endif
|
||||
_WAVEFORM ?=
|
||||
|
||||
ras:
|
||||
@echo "Building tage module with parameters: "
|
||||
@echo "TL=${TL}"
|
||||
@echo "TOP_ENTRY=${TOP_ENTRY}"
|
||||
@echo "TOP_FILES=${TOP_FILES}"
|
||||
@echo "TARGET=${TARGET}"
|
||||
@echo "WAVEFORM=${_WAVEFORM}"
|
||||
@echo "VERBOSE=${_VERBOSE}"
|
||||
@echo "EXAMPLE=${_EXAMPLE}"
|
||||
|
||||
@mkdir -p out
|
||||
rm -rf ${TARGET}
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${TL} \
|
||||
-t ${TARGET} ${_WAVEFORM}${_EXAMPLE} ${_VERBOSE}
|
||||
|
||||
cd ${TARGET} && make
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
TOP_ENTRY := ./src/TageSC/Tage_SC.sv
|
||||
TOP_FILES := ./src/Tage_SC.txt
|
||||
LANG ?= cpp
|
||||
TL ?= cpp
|
||||
|
||||
ifneq ($(TARGET),)
|
||||
TARGET := $(TARGET)
|
||||
|
|
@ -30,7 +30,7 @@ _WAVEFORM ?=
|
|||
|
||||
tage_sc:
|
||||
@echo "Building tage module with parameters: "
|
||||
@echo "LANG=${LANG}"
|
||||
@echo "TL=${TL}"
|
||||
@echo "TOP_ENTRY=${TOP_ENTRY}"
|
||||
@echo "TOP_FILES=${TOP_FILES}"
|
||||
@echo "TARGET=${TARGET}"
|
||||
|
|
@ -40,7 +40,7 @@ tage_sc:
|
|||
|
||||
@mkdir -p out
|
||||
rm -rf ${TARGET}
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${LANG} \
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${TL} \
|
||||
-t ${TARGET} ${_WAVEFORM}${_EXAMPLE} ${_VERBOSE}
|
||||
|
||||
cd ${TARGET} && make
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
TOP_ENTRY := ./src/uFTB/FauFTB.sv
|
||||
TOP_FILES := ./src/uFTB.txt
|
||||
LANG ?= cpp
|
||||
TL ?= cpp
|
||||
|
||||
ifneq ($(TARGET),)
|
||||
TARGET := $(TARGET)
|
||||
|
|
@ -30,7 +30,7 @@ _WAVEFORM ?=
|
|||
|
||||
uftb:
|
||||
@echo "Building tage module with parameters: "
|
||||
@echo "LANG=${LANG}"
|
||||
@echo "TL=${TL}"
|
||||
@echo "TOP_ENTRY=${TOP_ENTRY}"
|
||||
@echo "TOP_FILES=${TOP_FILES}"
|
||||
@echo "TARGET=${TARGET}"
|
||||
|
|
@ -40,7 +40,7 @@ uftb:
|
|||
|
||||
@mkdir -p out
|
||||
rm -rf ${TARGET}
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${LANG} \
|
||||
picker ${TOP_ENTRY} -f ${TOP_FILES} -l ${TL} \
|
||||
-t ${TARGET} ${_WAVEFORM}${_EXAMPLE} ${_VERBOSE}
|
||||
|
||||
cd ${TARGET} && make
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
./src/RAS/RASStack.sv
|
||||
./src/common/ext_sram.v
|
||||
./src/common/DelayN_2.sv
|
||||
|
|
@ -0,0 +1,872 @@
|
|||
// Generated by CIRCT firtool-1.61.0
|
||||
// Standard header to adapt well known macros for register randomization.
|
||||
`ifndef RANDOMIZE
|
||||
`ifdef RANDOMIZE_MEM_INIT
|
||||
`define RANDOMIZE
|
||||
`endif // RANDOMIZE_MEM_INIT
|
||||
`endif // not def RANDOMIZE
|
||||
`ifndef RANDOMIZE
|
||||
`ifdef RANDOMIZE_REG_INIT
|
||||
`define RANDOMIZE
|
||||
`endif // RANDOMIZE_REG_INIT
|
||||
`endif // not def RANDOMIZE
|
||||
|
||||
// RANDOM may be set to an expression that produces a 32-bit random unsigned value.
|
||||
`ifndef RANDOM
|
||||
`define RANDOM $random
|
||||
`endif // not def RANDOM
|
||||
|
||||
// Users can define INIT_RANDOM as general code that gets injected into the
|
||||
// initializer block for modules with registers.
|
||||
`ifndef INIT_RANDOM
|
||||
`define INIT_RANDOM
|
||||
`endif // not def INIT_RANDOM
|
||||
|
||||
// If using random initialization, you can also define RANDOMIZE_DELAY to
|
||||
// customize the delay used, otherwise 0.002 is used.
|
||||
`ifndef RANDOMIZE_DELAY
|
||||
`define RANDOMIZE_DELAY 0.002
|
||||
`endif // not def RANDOMIZE_DELAY
|
||||
|
||||
// Define INIT_RANDOM_PROLOG_ for use in our modules below.
|
||||
`ifndef INIT_RANDOM_PROLOG_
|
||||
`ifdef RANDOMIZE
|
||||
`ifdef VERILATOR
|
||||
`define INIT_RANDOM_PROLOG_ `INIT_RANDOM
|
||||
`else // VERILATOR
|
||||
`define INIT_RANDOM_PROLOG_ `INIT_RANDOM #`RANDOMIZE_DELAY begin end
|
||||
`endif // VERILATOR
|
||||
`else // RANDOMIZE
|
||||
`define INIT_RANDOM_PROLOG_
|
||||
`endif // RANDOMIZE
|
||||
`endif // not def INIT_RANDOM_PROLOG_
|
||||
|
||||
// Include register initializers in init blocks unless synthesis is set
|
||||
`ifndef SYNTHESIS
|
||||
`ifndef ENABLE_INITIAL_REG_
|
||||
`define ENABLE_INITIAL_REG_
|
||||
`endif // not def ENABLE_INITIAL_REG_
|
||||
`endif // not def SYNTHESIS
|
||||
|
||||
// Include rmemory initializers in init blocks unless synthesis is set
|
||||
`ifndef SYNTHESIS
|
||||
`ifndef ENABLE_INITIAL_MEM_
|
||||
`define ENABLE_INITIAL_MEM_
|
||||
`endif // not def ENABLE_INITIAL_MEM_
|
||||
`endif // not def SYNTHESIS
|
||||
|
||||
module RAS( // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
input clock,
|
||||
input reset,
|
||||
input [35:0] io_reset_vector, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_s0_pc_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_s0_pc_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_s0_pc_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_s0_pc_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_0_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_0_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_0_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_0_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_0_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_0_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_0_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_1_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_1_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_1_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_1_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_1_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_1_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_1_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_2_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_2_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_2_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_2_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_2_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_2_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_is_jalr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_is_call, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_is_ret, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_last_may_be_rvi_call, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_2_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_3_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_3_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_3_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_3_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s2_full_pred_3_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s2_full_pred_3_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s2_full_pred_3_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_0_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_0_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_0_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_0_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_0_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_1_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_1_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_1_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_1_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_1_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_2_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_2_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_2_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_2_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_is_jalr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_is_call, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_is_ret, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_2_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_3_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_3_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_3_jalr_target, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s3_full_pred_3_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_s3_full_pred_3_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_in_bits_resp_in_0_s3_full_pred_3_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_s3_full_pred_3_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_offset, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [11:0] io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_lower, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [1:0] io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_tarStat, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_offset, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [19:0] io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_lower, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [1:0] io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_tarStat, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_in_bits_resp_in_0_last_stage_ftb_entry_pftAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_carry, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_isCall, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_isRet, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_isJalr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_last_may_be_rvi_call, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_always_taken_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_in_bits_resp_in_0_last_stage_ftb_entry_always_taken_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_pc_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_pc_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_pc_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_pc_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_0_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_0_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_0_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_0_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_0_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_0_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_1_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_1_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_1_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_1_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_1_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_1_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_2_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_2_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_2_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_2_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_2_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_2_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_3_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_3_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_3_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s2_full_pred_3_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s2_full_pred_3_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s2_full_pred_3_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_pc_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_pc_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_pc_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_pc_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_0_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_0_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_0_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_0_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_1_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_1_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_1_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_1_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_2_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_2_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_2_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_2_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_br_taken_mask_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_br_taken_mask_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_slot_valids_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_slot_valids_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_3_targets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_3_targets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s3_full_pred_3_offsets_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_s3_full_pred_3_offsets_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_s3_full_pred_3_fallThroughAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_fallThroughErr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_is_br_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_s3_full_pred_3_hit, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [218:0] io_out_last_stage_meta, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_last_stage_spec_info_ssp, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [1:0] io_out_last_stage_spec_info_sctr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_spec_info_TOSW_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [4:0] io_out_last_stage_spec_info_TOSW_value, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_spec_info_TOSR_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [4:0] io_out_last_stage_spec_info_TOSR_value, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_spec_info_NOS_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [4:0] io_out_last_stage_spec_info_NOS_value, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [38:0] io_out_last_stage_spec_info_topAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_last_stage_ftb_entry_brSlots_0_offset, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [11:0] io_out_last_stage_ftb_entry_brSlots_0_lower, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [1:0] io_out_last_stage_ftb_entry_brSlots_0_tarStat, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_brSlots_0_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_brSlots_0_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_last_stage_ftb_entry_tailSlot_offset, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [19:0] io_out_last_stage_ftb_entry_tailSlot_lower, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [1:0] io_out_last_stage_ftb_entry_tailSlot_tarStat, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_tailSlot_sharing, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_tailSlot_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output [3:0] io_out_last_stage_ftb_entry_pftAddr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_carry, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_isCall, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_isRet, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_isJalr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_last_may_be_rvi_call, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_always_taken_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
output io_out_last_stage_ftb_entry_always_taken_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_ctrl_ras_enable, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s0_fire_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s0_fire_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s0_fire_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s0_fire_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s1_fire_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s1_fire_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s1_fire_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s1_fire_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s2_fire_0, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s2_fire_1, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s2_fire_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s2_fire_3, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s3_fire_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_s3_redirect_2, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_update_bits_ftb_entry_tailSlot_offset, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_bits_ftb_entry_tailSlot_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_bits_ftb_entry_isCall, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_bits_ftb_entry_isRet, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_bits_cfi_idx_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_update_bits_cfi_idx_bits, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_update_bits_jmp_taken, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [218:0] io_update_bits_meta, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_valid, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_level, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [38:0] io_redirect_bits_cfiUpdate_pc, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_pd_isRVC, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_pd_isCall, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_pd_isRet, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [3:0] io_redirect_bits_cfiUpdate_ssp, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [1:0] io_redirect_bits_cfiUpdate_sctr, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_TOSW_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [4:0] io_redirect_bits_cfiUpdate_TOSW_value, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_TOSR_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [4:0] io_redirect_bits_cfiUpdate_TOSR_value, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input io_redirect_bits_cfiUpdate_NOS_flag, // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
input [4:0] io_redirect_bits_cfiUpdate_NOS_value // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
);
|
||||
|
||||
wire [38:0] _RASStack_io_spec_pop_addr; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [3:0] _RASStack_io_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [2:0] _RASStack_io_sctr; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire _RASStack_io_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [4:0] _RASStack_io_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire _RASStack_io_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [4:0] _RASStack_io_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire _RASStack_io_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [4:0] _RASStack_io_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
wire [35:0] _reset_vector_delay_io_out; // utility/src/main/scala/utility/Hold.scala:97:23
|
||||
reg [38:0] s1_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
reg [38:0] s1_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
reg [38:0] s1_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
reg [38:0] s1_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
reg [38:0] s2_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:187:86
|
||||
reg [38:0] s2_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:187:86
|
||||
reg [38:0] s2_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:187:86
|
||||
reg [38:0] s2_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:187:86
|
||||
reg [38:0] s3_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:188:86
|
||||
reg [38:0] s3_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:188:86
|
||||
reg [38:0] s3_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:188:86
|
||||
reg [38:0] s3_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:188:86
|
||||
reg REG; // src/main/scala/xiangshan/frontend/BPU.scala:190:24
|
||||
reg REG_1; // src/main/scala/xiangshan/frontend/BPU.scala:190:16
|
||||
wire [38:0] _s2_spec_new_addr_T_1 =
|
||||
39'(io_in_bits_resp_in_0_s2_full_pred_2_fallThroughAddr
|
||||
+ {37'h0, io_in_bits_resp_in_0_s2_full_pred_2_last_may_be_rvi_call, 1'h0}); // src/main/scala/xiangshan/frontend/newRAS.scala:542:55, :637:45
|
||||
wire _s2_spec_pop_WIRE_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_0
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_0; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69
|
||||
wire _s2_spec_pop_T_9 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_1; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:460:25
|
||||
wire s2_spec_push =
|
||||
io_s2_fire_2 & ~(_s2_spec_pop_WIRE_0 & io_in_bits_resp_in_0_s2_full_pred_2_hit)
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_1
|
||||
& (_s2_spec_pop_T_9 | ~io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing)
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_hit
|
||||
& ~io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_is_call & ~io_s3_redirect_2; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69, :460:{25,47,50}, :467:38, :511:5, src/main/scala/xiangshan/frontend/newRAS.scala:548:{67,70}
|
||||
wire s2_spec_pop =
|
||||
io_s2_fire_2 & ~(_s2_spec_pop_WIRE_0 & io_in_bits_resp_in_0_s2_full_pred_2_hit)
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_1
|
||||
& (_s2_spec_pop_T_9 | ~io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing)
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_hit
|
||||
& ~io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s2_full_pred_2_is_ret & ~io_s3_redirect_2; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69, :460:{25,47,50}, :467:38, :511:5, src/main/scala/xiangshan/frontend/newRAS.scala:548:70, :549:67
|
||||
wire _GEN = io_in_bits_resp_in_0_s2_full_pred_2_is_ret & io_ctrl_ras_enable; // src/main/scala/xiangshan/frontend/newRAS.scala:558:18
|
||||
reg [38:0] s3_top; // src/main/scala/xiangshan/frontend/newRAS.scala:574:25
|
||||
reg [38:0] s3_spec_new_addr; // src/main/scala/xiangshan/frontend/newRAS.scala:575:35
|
||||
wire _GEN_0 = io_in_bits_resp_in_0_s3_full_pred_2_is_ret & io_ctrl_ras_enable; // src/main/scala/xiangshan/frontend/newRAS.scala:583:18
|
||||
reg s3_pushed_in_s2; // src/main/scala/xiangshan/frontend/newRAS.scala:592:34
|
||||
reg s3_popped_in_s2; // src/main/scala/xiangshan/frontend/newRAS.scala:593:34
|
||||
wire _s3_pop_WIRE_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_0
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_0; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69
|
||||
wire _s3_pop_T_9 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_1; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:460:25
|
||||
wire s3_push =
|
||||
~(_s3_pop_WIRE_0 & io_in_bits_resp_in_0_s3_full_pred_2_hit)
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_1
|
||||
& (_s3_pop_T_9 | ~io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing)
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_hit
|
||||
& ~io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_is_call; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69, :460:{25,47,50}, :467:38, :511:5, :513:44
|
||||
wire s3_pop =
|
||||
~(_s3_pop_WIRE_0 & io_in_bits_resp_in_0_s3_full_pred_2_hit)
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_1
|
||||
& (_s3_pop_T_9 | ~io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing)
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_hit
|
||||
& ~io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing
|
||||
& io_in_bits_resp_in_0_s3_full_pred_2_is_ret; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:458:69, :460:{25,47,50}, :467:38, :511:5, :514:44
|
||||
reg [3:0] s3_meta_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg [2:0] s3_meta_sctr; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg s3_meta_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg [4:0] s3_meta_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg s3_meta_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg [4:0] s3_meta_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg s3_meta_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg [4:0] s3_meta_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
reg redirect_valid; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_level; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [38:0] redirect_bits_cfiUpdate_pc; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_pd_isRVC; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_pd_isCall; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_pd_isRet; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [3:0] redirect_bits_cfiUpdate_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [1:0] redirect_bits_cfiUpdate_sctr; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [4:0] redirect_bits_cfiUpdate_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [4:0] redirect_bits_cfiUpdate_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg redirect_bits_cfiUpdate_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
reg [4:0] redirect_bits_cfiUpdate_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
wire _GEN_1 =
|
||||
io_update_bits_cfi_idx_bits == io_update_bits_ftb_entry_tailSlot_offset; // src/main/scala/xiangshan/frontend/FrontendBundle.scala:657:77
|
||||
wire [38:0] _GEN_2 = {3'h0, _reset_vector_delay_io_out}; // src/main/scala/xiangshan/frontend/BPU.scala:191:39, utility/src/main/scala/utility/Hold.scala:97:23
|
||||
always @(posedge clock) begin
|
||||
if (REG_1) begin // src/main/scala/xiangshan/frontend/BPU.scala:190:16
|
||||
s1_pc_dup_0 <= _GEN_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :191:39
|
||||
s1_pc_dup_1 <= _GEN_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :191:39
|
||||
s1_pc_dup_2 <= _GEN_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :191:39
|
||||
s1_pc_dup_3 <= _GEN_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :191:39
|
||||
end
|
||||
else begin // src/main/scala/xiangshan/frontend/BPU.scala:190:16
|
||||
if (io_s0_fire_0) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s1_pc_dup_0 <= io_in_bits_s0_pc_0; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
if (io_s0_fire_1) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s1_pc_dup_1 <= io_in_bits_s0_pc_1; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
if (io_s0_fire_2) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s1_pc_dup_2 <= io_in_bits_s0_pc_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
if (io_s0_fire_3) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s1_pc_dup_3 <= io_in_bits_s0_pc_3; // src/main/scala/xiangshan/frontend/BPU.scala:186:86
|
||||
end
|
||||
if (io_s1_fire_0) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s2_pc_dup_0 <= s1_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :187:86
|
||||
if (io_s1_fire_1) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s2_pc_dup_1 <= s1_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :187:86
|
||||
if (io_s1_fire_2) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s2_pc_dup_2 <= s1_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :187:86
|
||||
if (io_s1_fire_3) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s2_pc_dup_3 <= s1_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :187:86
|
||||
if (io_s2_fire_0) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s3_pc_dup_0 <= s2_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, :188:86
|
||||
if (io_s2_fire_1) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s3_pc_dup_1 <= s2_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, :188:86
|
||||
if (io_s2_fire_2) begin // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s3_pc_dup_2 <= s2_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, :188:86
|
||||
s3_top <= _RASStack_io_spec_pop_addr; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :574:25
|
||||
s3_spec_new_addr <= _s2_spec_new_addr_T_1; // src/main/scala/xiangshan/frontend/newRAS.scala:542:55, :575:35
|
||||
s3_pushed_in_s2 <= s2_spec_push; // src/main/scala/xiangshan/frontend/newRAS.scala:548:67, :592:34
|
||||
s3_popped_in_s2 <= s2_spec_pop; // src/main/scala/xiangshan/frontend/newRAS.scala:549:67, :593:34
|
||||
s3_meta_ssp <= _RASStack_io_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_sctr <= _RASStack_io_sctr; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_TOSW_flag <= _RASStack_io_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_TOSW_value <= _RASStack_io_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_TOSR_flag <= _RASStack_io_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_TOSR_value <= _RASStack_io_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_NOS_flag <= _RASStack_io_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
s3_meta_NOS_value <= _RASStack_io_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:536:21, :603:26
|
||||
end
|
||||
if (io_s2_fire_3) // src/main/scala/xiangshan/frontend/BPU.scala:171:14
|
||||
s3_pc_dup_3 <= s2_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, :188:86
|
||||
REG <= reset; // src/main/scala/xiangshan/frontend/BPU.scala:190:24
|
||||
REG_1 <= REG & ~reset; // src/main/scala/xiangshan/frontend/BPU.scala:190:{16,24,39,42}
|
||||
redirect_valid <= io_redirect_valid; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_level <= io_redirect_bits_level; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_pc <= io_redirect_bits_cfiUpdate_pc; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_pd_isRVC <= io_redirect_bits_cfiUpdate_pd_isRVC; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_pd_isCall <= io_redirect_bits_cfiUpdate_pd_isCall; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_pd_isRet <= io_redirect_bits_cfiUpdate_pd_isRet; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_ssp <= io_redirect_bits_cfiUpdate_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_sctr <= io_redirect_bits_cfiUpdate_sctr; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_TOSW_flag <= io_redirect_bits_cfiUpdate_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_TOSW_value <= io_redirect_bits_cfiUpdate_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_TOSR_flag <= io_redirect_bits_cfiUpdate_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_TOSR_value <= io_redirect_bits_cfiUpdate_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_NOS_flag <= io_redirect_bits_cfiUpdate_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
redirect_bits_cfiUpdate_NOS_value <= io_redirect_bits_cfiUpdate_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
end // always @(posedge)
|
||||
`ifdef ENABLE_INITIAL_REG_ // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`ifdef FIRRTL_BEFORE_INITIAL // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`FIRRTL_BEFORE_INITIAL // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`endif // FIRRTL_BEFORE_INITIAL
|
||||
logic [31:0] _RANDOM[0:20]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
initial begin // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`ifdef INIT_RANDOM_PROLOG_ // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`INIT_RANDOM_PROLOG_ // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`endif // INIT_RANDOM_PROLOG_
|
||||
`ifdef RANDOMIZE_REG_INIT // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
for (logic [4:0] i = 5'h0; i < 5'h15; i += 5'h1) begin
|
||||
_RANDOM[i] = `RANDOM; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
end // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s1_pc_dup_0 = {_RANDOM[5'h0], _RANDOM[5'h1][6:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s1_pc_dup_1 = {_RANDOM[5'h1][31:7], _RANDOM[5'h2][13:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s1_pc_dup_2 = {_RANDOM[5'h2][31:14], _RANDOM[5'h3][20:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s1_pc_dup_3 = {_RANDOM[5'h3][31:21], _RANDOM[5'h4][27:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s2_pc_dup_0 = {_RANDOM[5'h4][31:28], _RANDOM[5'h5], _RANDOM[5'h6][2:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:186:86, :187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s2_pc_dup_1 = {_RANDOM[5'h6][31:3], _RANDOM[5'h7][9:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s2_pc_dup_2 = {_RANDOM[5'h7][31:10], _RANDOM[5'h8][16:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s2_pc_dup_3 = {_RANDOM[5'h8][31:17], _RANDOM[5'h9][23:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s3_pc_dup_0 = {_RANDOM[5'h9][31:24], _RANDOM[5'hA][30:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, :188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s3_pc_dup_1 = {_RANDOM[5'hA][31], _RANDOM[5'hB], _RANDOM[5'hC][5:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s3_pc_dup_2 = {_RANDOM[5'hC][31:6], _RANDOM[5'hD][12:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s3_pc_dup_3 = {_RANDOM[5'hD][31:13], _RANDOM[5'hE][19:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
REG = _RANDOM[5'hE][20]; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, :190:24, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
REG_1 = _RANDOM[5'hE][21]; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, :190:16, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
s3_top = {_RANDOM[5'hE][31:22], _RANDOM[5'hF][28:0]}; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25
|
||||
s3_spec_new_addr = {_RANDOM[5'hF][31:29], _RANDOM[5'h10], _RANDOM[5'h11][3:0]}; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25, :575:35
|
||||
s3_pushed_in_s2 = _RANDOM[5'h11][4]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :592:34
|
||||
s3_popped_in_s2 = _RANDOM[5'h11][5]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :593:34
|
||||
s3_meta_ssp = _RANDOM[5'h11][9:6]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_sctr = _RANDOM[5'h11][12:10]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_TOSW_flag = _RANDOM[5'h11][13]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_TOSW_value = _RANDOM[5'h11][18:14]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_TOSR_flag = _RANDOM[5'h11][19]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_TOSR_value = _RANDOM[5'h11][24:20]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_NOS_flag = _RANDOM[5'h11][25]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
s3_meta_NOS_value = _RANDOM[5'h11][30:26]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :603:26
|
||||
redirect_valid = _RANDOM[5'h11][31]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :575:35, :621:25
|
||||
redirect_bits_level = _RANDOM[5'h12][21]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_pc = {_RANDOM[5'h12][31:23], _RANDOM[5'h13][29:0]}; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_pd_isRVC = _RANDOM[5'h13][31]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_pd_isCall = _RANDOM[5'h14][2]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_pd_isRet = _RANDOM[5'h14][3]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_ssp = _RANDOM[5'h14][7:4]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_sctr = _RANDOM[5'h14][9:8]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_TOSW_flag = _RANDOM[5'h14][10]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_TOSW_value = _RANDOM[5'h14][15:11]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_TOSR_flag = _RANDOM[5'h14][16]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_TOSR_value = _RANDOM[5'h14][21:17]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_NOS_flag = _RANDOM[5'h14][22]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
redirect_bits_cfiUpdate_NOS_value = _RANDOM[5'h14][27:23]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :621:25
|
||||
`endif // RANDOMIZE_REG_INIT
|
||||
end // initial
|
||||
`ifdef FIRRTL_AFTER_INITIAL // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`FIRRTL_AFTER_INITIAL // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
`endif // FIRRTL_AFTER_INITIAL
|
||||
`endif // ENABLE_INITIAL_REG_
|
||||
DelayN_2 reset_vector_delay ( // utility/src/main/scala/utility/Hold.scala:97:23
|
||||
.clock (clock),
|
||||
.io_in (io_reset_vector),
|
||||
.io_out (_reset_vector_delay_io_out)
|
||||
);
|
||||
RASStack RASStack ( // src/main/scala/xiangshan/frontend/newRAS.scala:536:21
|
||||
.clock (clock),
|
||||
.reset (reset),
|
||||
.io_spec_push_valid (s2_spec_push), // src/main/scala/xiangshan/frontend/newRAS.scala:548:67
|
||||
.io_spec_pop_valid (s2_spec_pop), // src/main/scala/xiangshan/frontend/newRAS.scala:549:67
|
||||
.io_spec_push_addr (_s2_spec_new_addr_T_1), // src/main/scala/xiangshan/frontend/newRAS.scala:542:55
|
||||
.io_s2_fire (io_s2_fire_2),
|
||||
.io_s3_fire (io_s3_fire_2),
|
||||
.io_s3_cancel
|
||||
(io_s3_fire_2 & (s3_pushed_in_s2 != s3_push | s3_popped_in_s2 != s3_pop)), // src/main/scala/xiangshan/frontend/FrontendBundle.scala:513:44, :514:44, src/main/scala/xiangshan/frontend/newRAS.scala:592:34, :593:34, :597:{33,53,65,84}
|
||||
.io_s3_meta_ssp (s3_meta_ssp), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_sctr (s3_meta_sctr), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_TOSW_flag (s3_meta_TOSW_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_TOSW_value (s3_meta_TOSW_value), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_TOSR_flag (s3_meta_TOSR_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_TOSR_value (s3_meta_TOSR_value), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_NOS_flag (s3_meta_NOS_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_meta_NOS_value (s3_meta_NOS_value), // src/main/scala/xiangshan/frontend/newRAS.scala:603:26
|
||||
.io_s3_missed_pop (s3_pop & ~s3_popped_in_s2), // src/main/scala/xiangshan/frontend/FrontendBundle.scala:514:44, src/main/scala/xiangshan/frontend/newRAS.scala:593:34, :606:{33,36}
|
||||
.io_s3_missed_push (s3_push & ~s3_pushed_in_s2), // src/main/scala/xiangshan/frontend/FrontendBundle.scala:513:44, src/main/scala/xiangshan/frontend/newRAS.scala:592:34, :607:{35,38}
|
||||
.io_s3_pushAddr (s3_spec_new_addr), // src/main/scala/xiangshan/frontend/newRAS.scala:575:35
|
||||
.io_spec_pop_addr (_RASStack_io_spec_pop_addr),
|
||||
.io_commit_push_valid
|
||||
(io_update_valid & io_update_bits_ftb_entry_tailSlot_valid
|
||||
& io_update_bits_ftb_entry_isCall & io_update_bits_jmp_taken
|
||||
& io_update_bits_cfi_idx_valid & _GEN_1), // src/main/scala/xiangshan/frontend/FrontendBundle.scala:657:77, src/main/scala/xiangshan/frontend/newRAS.scala:643:42
|
||||
.io_commit_pop_valid
|
||||
(io_update_valid & io_update_bits_ftb_entry_tailSlot_valid
|
||||
& io_update_bits_ftb_entry_isRet & io_update_bits_jmp_taken
|
||||
& io_update_bits_cfi_idx_valid & _GEN_1), // src/main/scala/xiangshan/frontend/FrontendBundle.scala:657:77, src/main/scala/xiangshan/frontend/newRAS.scala:644:41
|
||||
.io_commit_meta_TOSW_flag (io_update_bits_meta[17]), // src/main/scala/xiangshan/frontend/newRAS.scala:640:48
|
||||
.io_commit_meta_TOSW_value (io_update_bits_meta[16:12]), // src/main/scala/xiangshan/frontend/newRAS.scala:640:48
|
||||
.io_commit_meta_ssp (io_update_bits_meta[24:21]), // src/main/scala/xiangshan/frontend/newRAS.scala:640:48
|
||||
.io_redirect_valid (redirect_valid), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_isCall
|
||||
(redirect_valid & ~redirect_bits_level & redirect_bits_cfiUpdate_pd_isCall), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25, :625:56, :626:64
|
||||
.io_redirect_isRet
|
||||
(redirect_valid & ~redirect_bits_level & redirect_bits_cfiUpdate_pd_isRet), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25, :625:{56,64}
|
||||
.io_redirect_meta_ssp (redirect_bits_cfiUpdate_ssp), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_sctr ({1'h0, redirect_bits_cfiUpdate_sctr}), // src/main/scala/xiangshan/frontend/newRAS.scala:542:55, :621:25, :633:28
|
||||
.io_redirect_meta_TOSW_flag (redirect_bits_cfiUpdate_TOSW_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_TOSW_value (redirect_bits_cfiUpdate_TOSW_value), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_TOSR_flag (redirect_bits_cfiUpdate_TOSR_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_TOSR_value (redirect_bits_cfiUpdate_TOSR_value), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_NOS_flag (redirect_bits_cfiUpdate_NOS_flag), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_meta_NOS_value (redirect_bits_cfiUpdate_NOS_value), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25
|
||||
.io_redirect_callAddr
|
||||
(39'(redirect_bits_cfiUpdate_pc
|
||||
+ {36'h0, redirect_bits_cfiUpdate_pd_isRVC ? 3'h2 : 3'h4})), // src/main/scala/xiangshan/frontend/newRAS.scala:621:25, :637:{45,50}
|
||||
.io_ssp (_RASStack_io_ssp),
|
||||
.io_sctr (_RASStack_io_sctr),
|
||||
.io_TOSR_flag (_RASStack_io_TOSR_flag),
|
||||
.io_TOSR_value (_RASStack_io_TOSR_value),
|
||||
.io_TOSW_flag (_RASStack_io_TOSW_flag),
|
||||
.io_TOSW_value (_RASStack_io_TOSW_value),
|
||||
.io_NOS_flag (_RASStack_io_NOS_flag),
|
||||
.io_NOS_value (_RASStack_io_NOS_value)
|
||||
);
|
||||
assign io_out_s2_pc_0 = s2_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_pc_1 = s2_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_pc_2 = s2_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_pc_3 = s2_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:187:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_targets_0 = io_in_bits_resp_in_0_s2_full_pred_0_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_targets_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_jalr
|
||||
? (_GEN
|
||||
? _RASStack_io_spec_pop_addr
|
||||
: io_in_bits_resp_in_0_s2_full_pred_0_jalr_target)
|
||||
: io_in_bits_resp_in_0_s2_full_pred_0_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :536:21, :558:{18,41}, :559:54, :564:26
|
||||
assign io_out_s2_full_pred_0_offsets_0 = io_in_bits_resp_in_0_s2_full_pred_0_offsets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_offsets_1 = io_in_bits_resp_in_0_s2_full_pred_0_offsets_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s2_full_pred_0_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_0_hit = io_in_bits_resp_in_0_s2_full_pred_0_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_targets_0 = io_in_bits_resp_in_0_s2_full_pred_1_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_targets_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_jalr
|
||||
? (_GEN
|
||||
? _RASStack_io_spec_pop_addr
|
||||
: io_in_bits_resp_in_0_s2_full_pred_1_jalr_target)
|
||||
: io_in_bits_resp_in_0_s2_full_pred_1_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :536:21, :558:{18,41}, :559:54, :564:26
|
||||
assign io_out_s2_full_pred_1_offsets_0 = io_in_bits_resp_in_0_s2_full_pred_1_offsets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_offsets_1 = io_in_bits_resp_in_0_s2_full_pred_1_offsets_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s2_full_pred_1_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_1_hit = io_in_bits_resp_in_0_s2_full_pred_1_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_targets_0 = io_in_bits_resp_in_0_s2_full_pred_2_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_targets_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_jalr
|
||||
? (_GEN
|
||||
? _RASStack_io_spec_pop_addr
|
||||
: io_in_bits_resp_in_0_s2_full_pred_2_jalr_target)
|
||||
: io_in_bits_resp_in_0_s2_full_pred_2_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :536:21, :558:{18,41}, :559:54, :564:26
|
||||
assign io_out_s2_full_pred_2_offsets_0 = io_in_bits_resp_in_0_s2_full_pred_2_offsets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_offsets_1 = io_in_bits_resp_in_0_s2_full_pred_2_offsets_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_2_hit = io_in_bits_resp_in_0_s2_full_pred_2_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_targets_0 = io_in_bits_resp_in_0_s2_full_pred_3_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_targets_1 =
|
||||
io_in_bits_resp_in_0_s2_full_pred_2_is_jalr
|
||||
? (_GEN
|
||||
? _RASStack_io_spec_pop_addr
|
||||
: io_in_bits_resp_in_0_s2_full_pred_3_jalr_target)
|
||||
: io_in_bits_resp_in_0_s2_full_pred_3_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :536:21, :558:{18,41}, :559:54, :564:26
|
||||
assign io_out_s2_full_pred_3_offsets_0 = io_in_bits_resp_in_0_s2_full_pred_3_offsets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_offsets_1 = io_in_bits_resp_in_0_s2_full_pred_3_offsets_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_fallThroughErr =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_fallThroughErr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s2_full_pred_3_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s2_full_pred_3_hit = io_in_bits_resp_in_0_s2_full_pred_3_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_pc_0 = s3_pc_dup_0; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_pc_1 = s3_pc_dup_1; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_pc_2 = s3_pc_dup_2; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_pc_3 = s3_pc_dup_3; // src/main/scala/xiangshan/frontend/BPU.scala:188:86, src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_targets_0 = io_in_bits_resp_in_0_s3_full_pred_0_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_targets_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_jalr
|
||||
? (_GEN_0 ? s3_top : io_in_bits_resp_in_0_s3_full_pred_0_jalr_target)
|
||||
: io_in_bits_resp_in_0_s3_full_pred_0_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25, :583:{18,41}, :584:54, :589:26
|
||||
assign io_out_s3_full_pred_0_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_fallThroughErr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_fallThroughErr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s3_full_pred_0_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_0_hit = io_in_bits_resp_in_0_s3_full_pred_0_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_targets_0 = io_in_bits_resp_in_0_s3_full_pred_1_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_targets_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_jalr
|
||||
? (_GEN_0 ? s3_top : io_in_bits_resp_in_0_s3_full_pred_1_jalr_target)
|
||||
: io_in_bits_resp_in_0_s3_full_pred_1_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25, :583:{18,41}, :584:54, :589:26
|
||||
assign io_out_s3_full_pred_1_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_fallThroughErr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_fallThroughErr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s3_full_pred_1_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_1_hit = io_in_bits_resp_in_0_s3_full_pred_1_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_targets_0 = io_in_bits_resp_in_0_s3_full_pred_2_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_targets_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_jalr
|
||||
? (_GEN_0 ? s3_top : io_in_bits_resp_in_0_s3_full_pred_2_jalr_target)
|
||||
: io_in_bits_resp_in_0_s3_full_pred_2_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25, :583:{18,41}, :584:54, :589:26
|
||||
assign io_out_s3_full_pred_2_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_fallThroughErr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_fallThroughErr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_2_hit = io_in_bits_resp_in_0_s3_full_pred_2_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_br_taken_mask_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_br_taken_mask_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_br_taken_mask_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_br_taken_mask_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_slot_valids_0 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_slot_valids_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_slot_valids_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_slot_valids_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_targets_0 = io_in_bits_resp_in_0_s3_full_pred_3_targets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_targets_1 =
|
||||
io_in_bits_resp_in_0_s3_full_pred_2_is_jalr
|
||||
? (_GEN_0 ? s3_top : io_in_bits_resp_in_0_s3_full_pred_3_jalr_target)
|
||||
: io_in_bits_resp_in_0_s3_full_pred_3_targets_1; // src/main/scala/xiangshan/frontend/BPU.scala:173:10, src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25, :583:{18,41}, :584:54, :589:26
|
||||
assign io_out_s3_full_pred_3_offsets_0 = io_in_bits_resp_in_0_s3_full_pred_3_offsets_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_offsets_1 = io_in_bits_resp_in_0_s3_full_pred_3_offsets_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_fallThroughAddr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_fallThroughAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_fallThroughErr =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_fallThroughErr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_is_br_sharing =
|
||||
io_in_bits_resp_in_0_s3_full_pred_3_is_br_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_s3_full_pred_3_hit = io_in_bits_resp_in_0_s3_full_pred_3_hit; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_meta =
|
||||
{194'h0,
|
||||
s3_meta_ssp,
|
||||
s3_meta_sctr,
|
||||
s3_meta_TOSW_flag,
|
||||
s3_meta_TOSW_value,
|
||||
s3_meta_TOSR_flag,
|
||||
s3_meta_TOSR_value,
|
||||
s3_meta_NOS_flag,
|
||||
s3_meta_NOS_value}; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26, :618:26
|
||||
assign io_out_last_stage_spec_info_ssp = s3_meta_ssp; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_sctr = s3_meta_sctr[1:0]; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26, :612:37
|
||||
assign io_out_last_stage_spec_info_TOSW_flag = s3_meta_TOSW_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_TOSW_value = s3_meta_TOSW_value; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_TOSR_flag = s3_meta_TOSR_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_TOSR_value = s3_meta_TOSR_value; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_NOS_flag = s3_meta_NOS_flag; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_NOS_value = s3_meta_NOS_value; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :603:26
|
||||
assign io_out_last_stage_spec_info_topAddr = s3_top; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7, :574:25
|
||||
assign io_out_last_stage_ftb_entry_valid =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_valid; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_brSlots_0_offset =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_offset; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_brSlots_0_lower =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_lower; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_brSlots_0_tarStat =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_tarStat; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_brSlots_0_sharing =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_brSlots_0_valid =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_brSlots_0_valid; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_tailSlot_offset =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_offset; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_tailSlot_lower =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_lower; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_tailSlot_tarStat =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_tarStat; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_tailSlot_sharing =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_sharing; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_tailSlot_valid =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_tailSlot_valid; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_pftAddr =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_pftAddr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_carry =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_carry; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_isCall =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_isCall; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_isRet =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_isRet; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_isJalr =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_isJalr; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_last_may_be_rvi_call =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_last_may_be_rvi_call; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_always_taken_0 =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_always_taken_0; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
assign io_out_last_stage_ftb_entry_always_taken_1 =
|
||||
io_in_bits_resp_in_0_last_stage_ftb_entry_always_taken_1; // src/main/scala/xiangshan/frontend/newRAS.scala:75:7
|
||||
endmodule
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue