BP updated

This commit is contained in:
waleed-lm 2020-10-09 10:49:03 +05:00
parent 0da3f374f3
commit 2cc8642f42
5 changed files with 26 additions and 6 deletions

View File

@ -25,6 +25,13 @@
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_exu_i0_br_index_r" "~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_hist0_f",
"sources":[
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifc_fetch_addr_f"
]
},
{ {
"class":"firrtl.transforms.CombinationalPath", "class":"firrtl.transforms.CombinationalPath",
"sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifu_bp_way_f", "sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifu_bp_way_f",
@ -41,6 +48,19 @@
"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_exu_i0_br_index_r" "~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_hist1_f",
"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", "class":"firrtl.transforms.CombinationalPath",
"sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifu_bp_poffset_f", "sink":"~el2_ifu_bp_ctl|el2_ifu_bp_ctl>io_ifu_bp_poffset_f",

View File

@ -484,8 +484,8 @@ circuit el2_ifu_bp_ctl :
fghr <= _T_339 @[el2_ifu_bp_ctl.scala 282:8] fghr <= _T_339 @[el2_ifu_bp_ctl.scala 282:8]
io.ifu_bp_fghr_f <= fghr @[el2_ifu_bp_ctl.scala 284:20] io.ifu_bp_fghr_f <= fghr @[el2_ifu_bp_ctl.scala 284:20]
io.ifu_bp_way_f <= way_raw @[el2_ifu_bp_ctl.scala 286:19] io.ifu_bp_way_f <= way_raw @[el2_ifu_bp_ctl.scala 286:19]
io.ifu_bp_hist1_f <= UInt<1>("h01") @[el2_ifu_bp_ctl.scala 287:21] io.ifu_bp_hist1_f <= hist1_raw @[el2_ifu_bp_ctl.scala 287:21]
io.ifu_bp_hist0_f <= UInt<2>("h02") @[el2_ifu_bp_ctl.scala 288:21] io.ifu_bp_hist0_f <= hist0_raw @[el2_ifu_bp_ctl.scala 288:21]
io.ifu_bp_pc4_f <= pc4_raw @[el2_ifu_bp_ctl.scala 289:19] io.ifu_bp_pc4_f <= pc4_raw @[el2_ifu_bp_ctl.scala 289:19]
node _T_340 = bits(io.dec_tlu_bpred_disable, 0, 0) @[Bitwise.scala 72:15] node _T_340 = bits(io.dec_tlu_bpred_disable, 0, 0) @[Bitwise.scala 72:15]
node _T_341 = mux(_T_340, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] node _T_341 = mux(_T_340, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12]

View File

@ -10644,8 +10644,8 @@ module el2_ifu_bp_ctl(
assign io_ifu_bp_fghr_f = fghr; // @[el2_ifu_bp_ctl.scala 284:20] assign io_ifu_bp_fghr_f = fghr; // @[el2_ifu_bp_ctl.scala 284:20]
assign io_ifu_bp_way_f = tag_match_vway1_expanded_f | _T_212; // @[el2_ifu_bp_ctl.scala 286:19] assign io_ifu_bp_way_f = tag_match_vway1_expanded_f | _T_212; // @[el2_ifu_bp_ctl.scala 286:19]
assign io_ifu_bp_ret_f = {_T_293,_T_299}; // @[el2_ifu_bp_ctl.scala 292:19] assign io_ifu_bp_ret_f = {_T_293,_T_299}; // @[el2_ifu_bp_ctl.scala 292:19]
assign io_ifu_bp_hist1_f = 2'h1; // @[el2_ifu_bp_ctl.scala 287:21] assign io_ifu_bp_hist1_f = bht_force_taken_f | _T_278; // @[el2_ifu_bp_ctl.scala 287:21]
assign io_ifu_bp_hist0_f = 2'h2; // @[el2_ifu_bp_ctl.scala 288:21] assign io_ifu_bp_hist0_f = {bht_vbank1_rd_data_f[0],bht_vbank0_rd_data_f[0]}; // @[el2_ifu_bp_ctl.scala 288:21]
assign io_ifu_bp_pc4_f = {_T_284,_T_287}; // @[el2_ifu_bp_ctl.scala 289:19] assign io_ifu_bp_pc4_f = {_T_284,_T_287}; // @[el2_ifu_bp_ctl.scala 289:19]
assign io_ifu_bp_valid_f = vwayhit_f & _T_342; // @[el2_ifu_bp_ctl.scala 291:21] assign io_ifu_bp_valid_f = vwayhit_f & _T_342; // @[el2_ifu_bp_ctl.scala 291:21]
assign io_ifu_bp_poffset_f = btb_sel_data_f[15:4]; // @[el2_ifu_bp_ctl.scala 304:23] assign io_ifu_bp_poffset_f = btb_sel_data_f[15:4]; // @[el2_ifu_bp_ctl.scala 304:23]

View File

@ -284,8 +284,8 @@ class el2_ifu_bp_ctl extends Module with el2_lib with RequireAsyncReset {
io.ifu_bp_fghr_f := fghr io.ifu_bp_fghr_f := fghr
io.ifu_bp_way_f := way_raw io.ifu_bp_way_f := way_raw
io.ifu_bp_hist1_f := 1.U//hist1_raw io.ifu_bp_hist1_f := hist1_raw
io.ifu_bp_hist0_f := 2.U//hist0_raw io.ifu_bp_hist0_f := hist0_raw
io.ifu_bp_pc4_f := pc4_raw io.ifu_bp_pc4_f := pc4_raw
io.ifu_bp_valid_f := vwayhit_f & ~Fill(2, io.dec_tlu_bpred_disable) io.ifu_bp_valid_f := vwayhit_f & ~Fill(2, io.dec_tlu_bpred_disable)