提交 0bca1ccb 编写于 作者: J JinYue 提交者: Lingrui98

IFU <timing>: f2_data select signal optimization

上级 d3ec97b2
......@@ -235,7 +235,9 @@ class NewIFU(implicit p: Parameters) extends XSModule
.elsewhen(f1_fire && !f1_flush) {f2_valid := true.B }
.elsewhen(f2_fire) {f2_valid := false.B}
val f2_cache_response_data = ResultHoldBypass(valid = f2_icache_all_resp_wire, data = VecInit(fromICache.map(_.bits.readData)))
// val f2_cache_response_data = ResultHoldBypass(valid = f2_icache_all_resp_wire, data = VecInit(fromICache.map(_.bits.readData)))
val f2_cache_response_data = VecInit(fromICache.map(_.bits.readData))
val f2_except_pf = VecInit((0 until PortNumber).map(i => fromICache(i).bits.tlbExcp.pageFault))
val f2_except_af = VecInit((0 until PortNumber).map(i => fromICache(i).bits.tlbExcp.accessFault))
......
......@@ -431,7 +431,7 @@ class ICacheMainPipe(implicit p: Parameters) extends ICacheModule
def waitSecondComeIn(missState: UInt): Bool = (missState === m_wait_sec_miss)
def getMissSituat(slotNum : Int, missNum : Int ) :Bool = {
RegNext(s1_fire) && (missSlot(slotNum).m_vSetIdx === s2_req_vsetIdx(missNum)) && (missSlot(slotNum).m_pTag === s2_req_ptags(missNum)) && !s2_port_hit(missNum) && waitSecondComeIn(missStateQueue(slotNum)) && !s2_mmio
RegNext(s1_fire) && (missSlot(slotNum).m_vSetIdx === s2_req_vsetIdx(missNum)) && (missSlot(slotNum).m_pTag === s2_req_ptags(missNum)) && !s2_port_hit(missNum) && waitSecondComeIn(missStateQueue(slotNum)) //&& !s2_mmio
}
val miss_0_s2_0 = getMissSituat(slotNum = 0, missNum = 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册