NewFtq.scala (2448f13750170e02ef82f9187de335a073fca0ae) NewFtq.scala (51981c77c37dd3d7ecd4849a0cfb6b431a922958)
1/***************************************************************************************
2* Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3* Copyright (c) 2020-2021 Peng Cheng Laboratory
4*
5* XiangShan is licensed under Mulan PSL v2.
6* You can use this software according to the terms and conditions of the Mulan PSL v2.
7* You may obtain a copy of Mulan PSL v2 at:
8* http://license.coscl.org.cn/MulanPSL2

--- 1015 unchanged lines hidden (view full) ---

1024 }
1025 }
1026 }
1027
1028 // ****************************************************************
1029 // **************************** to bpu ****************************
1030 // ****************************************************************
1031
1/***************************************************************************************
2* Copyright (c) 2020-2021 Institute of Computing Technology, Chinese Academy of Sciences
3* Copyright (c) 2020-2021 Peng Cheng Laboratory
4*
5* XiangShan is licensed under Mulan PSL v2.
6* You can use this software according to the terms and conditions of the Mulan PSL v2.
7* You may obtain a copy of Mulan PSL v2 at:
8* http://license.coscl.org.cn/MulanPSL2

--- 1015 unchanged lines hidden (view full) ---

1024 }
1025 }
1026 }
1027
1028 // ****************************************************************
1029 // **************************** to bpu ****************************
1030 // ****************************************************************
1031
1032 io.toBpu.redirect <> Mux(fromBackendRedirect.valid, fromBackendRedirect, ifuRedirectToBpu)
1032 io.toBpu.redirect := Mux(fromBackendRedirect.valid, fromBackendRedirect, ifuRedirectToBpu)
1033
1034 val may_have_stall_from_bpu = Wire(Bool())
1035 val bpu_ftb_update_stall = RegInit(0.U(2.W)) // 2-cycle stall, so we need 3 states
1036 may_have_stall_from_bpu := bpu_ftb_update_stall =/= 0.U
1037 val canCommit = !may_have_stall_from_bpu &&
1038 Cat(commitStateQueue(commPtr.value).map(s => {
1039 s === c_invalid || s === c_flushed || s === c_commited
1040 })).andR() &&

--- 469 unchanged lines hidden ---
1033
1034 val may_have_stall_from_bpu = Wire(Bool())
1035 val bpu_ftb_update_stall = RegInit(0.U(2.W)) // 2-cycle stall, so we need 3 states
1036 may_have_stall_from_bpu := bpu_ftb_update_stall =/= 0.U
1037 val canCommit = !may_have_stall_from_bpu &&
1038 Cat(commitStateQueue(commPtr.value).map(s => {
1039 s === c_invalid || s === c_flushed || s === c_commited
1040 })).andR() &&

--- 469 unchanged lines hidden ---