You must specifiy a valid layout reference. The layout ID ad_include is not vali

You must specifiy a valid layout reference. The layout ID ad_include is not valid.



少了@layout/

<include android:id="@+id/bottom" layout="@layout/ad_include"/>
// update SSIT if load violation redirect is detected // update stage 0: read ssit val s1_mempred_update_req_valid = RegNext(io.update.valid) val s1_mempred_update_req = RegEnable(io.update, io.update.valid) // when io.update.valid, take over ssit read port when (io.update.valid) { valid_array.io.raddr(SSIT_UPDATE_LOAD_READ_PORT) := io.update.ldpc valid_array.io.raddr(SSIT_UPDATE_STORE_READ_PORT) := io.update.stpc data_array.io.raddr(SSIT_UPDATE_LOAD_READ_PORT) := io.update.ldpc data_array.io.raddr(SSIT_UPDATE_STORE_READ_PORT) := io.update.stpc } // update stage 1: get ssit read result // Read result // load has already been assigned with a store set val s1_loadAssigned = valid_array.io.rdata(SSIT_UPDATE_LOAD_READ_PORT) val s1_loadOldSSID = data_array.io.rdata(SSIT_UPDATE_LOAD_READ_PORT).ssid val s1_loadStrict = data_array.io.rdata(SSIT_UPDATE_LOAD_READ_PORT).strict // store has already been assigned with a store set val s1_storeAssigned = valid_array.io.rdata(SSIT_UPDATE_STORE_READ_PORT) val s1_storeOldSSID = data_array.io.rdata(SSIT_UPDATE_STORE_READ_PORT).ssid val s1_storeStrict = data_array.io.rdata(SSIT_UPDATE_STORE_READ_PORT).strict // val s1_ssidIsSame = s1_loadOldSSID === s1_storeOldSSID // update stage 2, update ssit data_array val s2_mempred_update_req_valid = RegNext(s1_mempred_update_req_valid) val s2_mempred_update_req = RegEnable(s1_mempred_update_req, s1_mempred_update_req_valid) val s2_loadAssigned = RegEnable(s1_loadAssigned, s1_mempred_update_req_valid) val s2_storeAssigned = RegEnable(s1_storeAssigned, s1_mempred_update_req_valid) val s2_loadOldSSID = RegEnable(s1_loadOldSSID, s1_mempred_update_req_valid) val s2_storeOldSSID = RegEnable(s1_storeOldSSID, s1_mempred_update_req_valid) val s2_loadStrict = RegEnable(s1_loadStrict, s1_mempred_update_req_valid) val s2_ssidIsSame = s2_loadOldSSID === s2_storeOldSSID // for now we just use lowest bits of ldpc as store set id val s2_ldSsidAllocate = XORFold(s2_mempred_update_req.ldpc, SSIDWidth) val s2_stSsidAllocate = XORFold(s2_mempred_update_req.stpc, SSIDWidth) val s2_allocSsid = Mux(s2_ldSsidAllocate < s2_stSsidAllocate, s2_ldSsidAllocate, s2_stSsidAllocate) // both the load and the store have already been assigned store sets // but load's store set ID is smaller val s2_winnerSSID = Mux(s2_loadOldSSID < s2_storeOldSSID, s2_loadOldSSID, s2_storeOldSSID) def update_ld_ssit_entry(pc: UInt, valid: Bool, ssid: UInt, strict: Bool) = { valid_array.io.wen(SSIT_UPDATE_LOAD_WRITE_PORT) := true.B valid_array.io.waddr(SSIT_UPDATE_LOAD_WRITE_PORT) := pc valid_array.io.wdata(SSIT_UPDATE_LOAD_WRITE_PORT) := valid data_array.io.wen(SSIT_UPDATE_LOAD_WRITE_PORT) := true.B data_array.io.waddr(SSIT_UPDATE_LOAD_WRITE_PORT) := pc data_array.io.wdata(SSIT_UPDATE_LOAD_WRITE_PORT).ssid := ssid data_array.io.wdata(SSIT_UPDATE_LOAD_WRITE_PORT).strict := strict debug_valid(pc) := valid debug_ssid(pc) := ssid debug_strict(pc) := strict } def update_st_ssit_entry(pc: UInt, valid: Bool, ssid: UInt, strict: Bool) = { valid_array.io.wen(SSIT_UPDATE_STORE_WRITE_PORT) := true.B valid_array.io.waddr(SSIT_UPDATE_STORE_WRITE_PORT) := pc valid_array.io.wdata(SSIT_UPDATE_STORE_WRITE_PORT):= valid data_array.io.wen(SSIT_UPDATE_STORE_WRITE_PORT) := true.B data_array.io.waddr(SSIT_UPDATE_STORE_WRITE_PORT) := pc data_array.io.wdata(SSIT_UPDATE_STORE_WRITE_PORT).ssid := ssid data_array.io.wdata(SSIT_UPDATE_STORE_WRITE_PORT).strict := strict debug_valid(pc) := valid debug_ssid(pc) := ssid debug_strict(pc) := strict }继续解释
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值