Predictor hash check
This commit is contained in:
parent
410dbb331c
commit
67847abdc8
|
@ -81,6 +81,19 @@
|
|||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_exu_i0_br_index_r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"class":"firrtl.transforms.CombinationalPath",
|
||||
"sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_test",
|
||||
"sources":[
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifc_fetch_addr_f",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifc_fetch_req_f",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_dec_tlu_flush_leak_one_wb",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_dec_tlu_flush_lower_wb",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_dec_tlu_br0_r_pkt_br_start_error",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_dec_tlu_br0_r_pkt_br_error",
|
||||
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_exu_i0_br_index_r"
|
||||
]
|
||||
},
|
||||
{
|
||||
"class":"firrtl.transforms.CombinationalPath",
|
||||
"sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifu_bp_hit_taken_f",
|
||||
|
|
41383
el2_ifu_bp_ctl.fir
41383
el2_ifu_bp_ctl.fir
File diff suppressed because it is too large
Load Diff
7352
el2_ifu_bp_ctl.v
7352
el2_ifu_bp_ctl.v
File diff suppressed because it is too large
Load Diff
|
@ -39,6 +39,7 @@ class el2_ifu_bp_ctl extends Module with el2_lib {
|
|||
|
||||
val test_hash = Output(UInt())
|
||||
val test_hash_p1 = Output(UInt())
|
||||
val test = Output(UInt())
|
||||
})
|
||||
|
||||
val TAG_START = 16+BTB_BTAG_SIZE
|
||||
|
@ -160,7 +161,7 @@ class el2_ifu_bp_ctl extends Module with el2_lib {
|
|||
|
||||
val wayhit_p1_f = tag_match_way0_expanded_p1_f | tag_match_way1_expanded_p1_f
|
||||
|
||||
// Chopping off the ways that had a hit
|
||||
// Chopping off the ways that had a hitbtb_vbank0_rd_data_f
|
||||
val btb_bank0e_rd_data_f = Mux1H(Seq(tag_match_way0_expanded_f(0).asBool->btb_bank0_rd_data_way0_f,
|
||||
tag_match_way1_expanded_f(0).asBool->btb_bank0_rd_data_way1_f))
|
||||
|
||||
|
@ -173,7 +174,7 @@ class el2_ifu_bp_ctl extends Module with el2_lib {
|
|||
// Making virtual banks, made bit 1 of the pc to check
|
||||
val btb_vbank0_rd_data_f = Mux1H(Seq(!io.ifc_fetch_addr_f(1)->btb_bank0e_rd_data_f,
|
||||
io.ifc_fetch_addr_f(1)->btb_bank0o_rd_data_f))
|
||||
|
||||
io.test:=btb_vbank0_rd_data_f
|
||||
val btb_vbank1_rd_data_f = Mux1H(Seq(!io.ifc_fetch_addr_f(1)->btb_bank0o_rd_data_f,
|
||||
io.ifc_fetch_addr_f(1)->btb_bank0e_rd_data_p1_f))
|
||||
|
||||
|
@ -222,10 +223,10 @@ class el2_ifu_bp_ctl extends Module with el2_lib {
|
|||
|
||||
val btb_sel_data_f = WireInit(UInt(17.W), init = 0.U)
|
||||
val hist1_raw = WireInit(UInt(2.W), init = 0.U)
|
||||
val btb_rd_tgt_f = btb_sel_data_f(16,5)
|
||||
val btb_rd_pc4_f = btb_sel_data_f(4)
|
||||
val btb_rd_call_f = btb_sel_data_f(2)
|
||||
val btb_rd_ret_f = btb_sel_data_f(1)
|
||||
val btb_rd_tgt_f = btb_sel_data_f(15,4)
|
||||
val btb_rd_pc4_f = btb_sel_data_f(3)
|
||||
val btb_rd_call_f = btb_sel_data_f(1)
|
||||
val btb_rd_ret_f = btb_sel_data_f(0)
|
||||
|
||||
btb_sel_data_f := Mux1H(Seq(btb_sel_f(1).asBool-> btb_vbank1_rd_data_f(16,1),
|
||||
btb_sel_f(0).asBool-> btb_vbank1_rd_data_f(16,1)))
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue