From c68cb087446157685a54328034426ff830bb75ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=8BLaraib=20Khan?= <​laraib.khan@lampromellon.com> Date: Fri, 22 Jan 2021 10:59:31 +0500 Subject: [PATCH] BTB size small --- ifu_bp_ctl.fir | 2 +- ifu_bp_ctl.v | 10 +++++----- src/main/scala/lib/param.scala | 4 ++-- target/scala-2.12/classes/lib/param.class | Bin 24158 -> 24156 bytes 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ifu_bp_ctl.fir b/ifu_bp_ctl.fir index 8ab8e7bd..eaf72a1e 100644 --- a/ifu_bp_ctl.fir +++ b/ifu_bp_ctl.fir @@ -13275,7 +13275,7 @@ circuit ifu_bp_ctl : module ifu_bp_ctl : input clock : Clock input reset : AsyncReset - output io : {flip active_clk : Clock, flip ic_hit_f : UInt<1>, flip exu_flush_final : UInt<1>, flip ifc_fetch_addr_f : UInt<31>, flip ifc_fetch_req_f : UInt<1>, dec_bp : {flip dec_tlu_br0_r_pkt : {valid : UInt<1>, bits : {hist : UInt<2>, br_error : UInt<1>, br_start_error : UInt<1>, way : UInt<1>, middle : UInt<1>}}, flip dec_tlu_flush_leak_one_wb : UInt<1>, flip dec_tlu_bpred_disable : UInt<1>}, flip dec_tlu_flush_lower_wb : UInt<1>, flip exu_bp : {exu_i0_br_index_r : UInt<8>, exu_i0_br_fghr_r : UInt<8>, exu_i0_br_way_r : UInt<1>, exu_mp_pkt : {valid : UInt<1>, bits : {misp : UInt<1>, ataken : UInt<1>, boffset : UInt<1>, pc4 : UInt<1>, hist : UInt<2>, toffset : UInt<12>, br_error : UInt<1>, br_start_error : UInt<1>, prett : UInt<31>, pcall : UInt<1>, pret : UInt<1>, pja : UInt<1>, way : UInt<1>}}, exu_mp_eghr : UInt<8>, exu_mp_fghr : UInt<8>, exu_mp_index : UInt<8>, exu_mp_btag : UInt<5>}, flip dec_fa_error_index : UInt<9>, ifu_bp_hit_taken_f : UInt<1>, ifu_bp_btb_target_f : UInt<31>, ifu_bp_inst_mask_f : UInt<1>, ifu_bp_fghr_f : UInt<8>, ifu_bp_way_f : UInt<2>, ifu_bp_ret_f : UInt<2>, ifu_bp_hist1_f : UInt<2>, ifu_bp_hist0_f : UInt<2>, ifu_bp_pc4_f : UInt<2>, ifu_bp_valid_f : UInt<2>, ifu_bp_poffset_f : UInt<12>, ifu_bp_fa_index_f : UInt<9>[2], flip scan_mode : UInt<1>} + output io : {flip active_clk : Clock, flip ic_hit_f : UInt<1>, flip exu_flush_final : UInt<1>, flip ifc_fetch_addr_f : UInt<31>, flip ifc_fetch_req_f : UInt<1>, dec_bp : {flip dec_tlu_br0_r_pkt : {valid : UInt<1>, bits : {hist : UInt<2>, br_error : UInt<1>, br_start_error : UInt<1>, way : UInt<1>, middle : UInt<1>}}, flip dec_tlu_flush_leak_one_wb : UInt<1>, flip dec_tlu_bpred_disable : UInt<1>}, flip dec_tlu_flush_lower_wb : UInt<1>, flip exu_bp : {exu_i0_br_index_r : UInt<8>, exu_i0_br_fghr_r : UInt<8>, exu_i0_br_way_r : UInt<1>, exu_mp_pkt : {valid : UInt<1>, bits : {misp : UInt<1>, ataken : UInt<1>, boffset : UInt<1>, pc4 : UInt<1>, hist : UInt<2>, toffset : UInt<12>, br_error : UInt<1>, br_start_error : UInt<1>, prett : UInt<31>, pcall : UInt<1>, pret : UInt<1>, pja : UInt<1>, way : UInt<1>}}, exu_mp_eghr : UInt<8>, exu_mp_fghr : UInt<8>, exu_mp_index : UInt<8>, exu_mp_btag : UInt<5>}, flip dec_fa_error_index : UInt<4>, ifu_bp_hit_taken_f : UInt<1>, ifu_bp_btb_target_f : UInt<31>, ifu_bp_inst_mask_f : UInt<1>, ifu_bp_fghr_f : UInt<8>, ifu_bp_way_f : UInt<2>, ifu_bp_ret_f : UInt<2>, ifu_bp_hist1_f : UInt<2>, ifu_bp_hist0_f : UInt<2>, ifu_bp_pc4_f : UInt<2>, ifu_bp_valid_f : UInt<2>, ifu_bp_poffset_f : UInt<12>, ifu_bp_fa_index_f : UInt<4>[2], flip scan_mode : UInt<1>} io.ifu_bp_fa_index_f[0] <= UInt<1>("h00") @[ifu_bp_ctl.scala 35:24] io.ifu_bp_fa_index_f[1] <= UInt<1>("h00") @[ifu_bp_ctl.scala 35:24] diff --git a/ifu_bp_ctl.v b/ifu_bp_ctl.v index 541bdcb0..e3654622 100644 --- a/ifu_bp_ctl.v +++ b/ifu_bp_ctl.v @@ -54,7 +54,7 @@ module ifu_bp_ctl( input [7:0] io_exu_bp_exu_mp_fghr, input [7:0] io_exu_bp_exu_mp_index, input [4:0] io_exu_bp_exu_mp_btag, - input [8:0] io_dec_fa_error_index, + input [3:0] io_dec_fa_error_index, output io_ifu_bp_hit_taken_f, output [30:0] io_ifu_bp_btb_target_f, output io_ifu_bp_inst_mask_f, @@ -66,8 +66,8 @@ module ifu_bp_ctl( output [1:0] io_ifu_bp_pc4_f, output [1:0] io_ifu_bp_valid_f, output [11:0] io_ifu_bp_poffset_f, - output [8:0] io_ifu_bp_fa_index_f_0, - output [8:0] io_ifu_bp_fa_index_f_1, + output [3:0] io_ifu_bp_fa_index_f_0, + output [3:0] io_ifu_bp_fa_index_f_1, input io_scan_mode ); `ifdef RANDOMIZE_REG_INIT @@ -12784,8 +12784,8 @@ module ifu_bp_ctl( assign io_ifu_bp_pc4_f = 2'h0; // @[ifu_bp_ctl.scala 346:19] assign io_ifu_bp_valid_f = vwayhit_f & _T_351; // @[ifu_bp_ctl.scala 348:21] assign io_ifu_bp_poffset_f = 12'h0; // @[ifu_bp_ctl.scala 361:23] - assign io_ifu_bp_fa_index_f_0 = 9'h0; // @[ifu_bp_ctl.scala 35:24] - assign io_ifu_bp_fa_index_f_1 = 9'h0; // @[ifu_bp_ctl.scala 35:24] + assign io_ifu_bp_fa_index_f_0 = 4'h0; // @[ifu_bp_ctl.scala 35:24] + assign io_ifu_bp_fa_index_f_1 = 4'h0; // @[ifu_bp_ctl.scala 35:24] assign rvclkhdr_io_clk = clock; // @[lib.scala 401:18] assign rvclkhdr_io_en = io_ifc_fetch_req_f | exu_mp_valid; // @[lib.scala 402:17] assign rvclkhdr_1_io_clk = clock; // @[lib.scala 401:18] diff --git a/src/main/scala/lib/param.scala b/src/main/scala/lib/param.scala index dcb00436..ca21d26b 100644 --- a/src/main/scala/lib/param.scala +++ b/src/main/scala/lib/param.scala @@ -7,7 +7,7 @@ trait param { val BHT_ARRAY_DEPTH = 0x100 val BHT_GHR_HASH_1 = 0x0 val BHT_GHR_SIZE = 0x8 - val BHT_SIZE = 0x200 + val BHT_SIZE = 0x010 val BTB_ADDR_HI = 0x09 val BTB_ADDR_LO = 0x2 val BTB_ARRAY_DEPTH = 0x100 @@ -20,7 +20,7 @@ trait param { val BTB_INDEX2_LO = 0x0A val BTB_INDEX3_HI = 0x19 val BTB_INDEX3_LO = 0x12 - val BTB_SIZE = 0x200 + val BTB_SIZE = 0x010 val BUILD_AHB_LITE = 0x0 val BUILD_AXI4 = 0x1 val BUILD_AXI_NATIVE = 0x1 diff --git a/target/scala-2.12/classes/lib/param.class b/target/scala-2.12/classes/lib/param.class index e50bfbf959881832954d48356a536fd3c4191a9b..2ea839cbe855d3498a43ebadfab0d3322f7f12cb 100644 GIT binary patch delta 683 zcmW;KX-p4r7{KxG^E|(qoPTG|94S}IovWx&l=>$Mm8+aNb0+)|g+#iLGrb^Q$ZU)? z%w~>_u`xEr3*&|5MdO9z17n1mB5QwWn8 z3>PmWB#n`>kWsRX(XxgyvYD}xPq-8?PKp^XWlWH2Cdx%7NgWY#ok+REWO=|8c|w%D zAX?rKBOjP5pP43&OqcJ(%5UOSn4vB4%~TKZ>Q90OFiV3-)KHRi3|@^OS*J2v<4MsJ z=4d)|HH%cuAx(3cr+LiRy)4i}q-!Y|dWuY~VWHNsNb6aww^*WgS*j1o(r0ArE0*ay zmg^^0=vP*16RY%>kJYB+SS!|82i96Q)>$9cTQD0ejEy#qT#I6p#j)9v*kY+{wM@2I zHrp+SJj-Q=<&kfD*l9)VvZL&_N_=*XJ$8w`R?j}WO@ZBKzdhoBJ*UuKQ)KTsXrDM_ zzONj%CW`GRN9->pt_4S3JC3<7l)7FVcY&0-5X#+XD%?aWT?|z&o)a#GlP;Z8E{kfn yn$vD0XWVwqIv?j;A?IBQ7hDB3?lc!&Ew%0nuK5tn(*9GF1g!+Ey3v@H+u|Q{6qDTm delta 685 zcmW;K=}!-E9KiAS=kxi_P_7)wSx7lb&T>YSGhMonTsbRO&hXQLsDzX&XFPCi=n2yU z%x3X`u`x#DL1Wf|qzPX-;x!iQ`+l1C@D)0twrP=+s6bfpGAYU##hx^sgb+@dG< z=*1&?^BjL(6To}=@R7cJp&#D~9y)EK)RwRLvtz^GVkt=4vVP^f2@FBpF)E0=+_}-ejTPW|7`yu|8ypK4Gc8AWPq} zOq*D)&8*O`tkj<#R+(e9d6R7&$+2$aS^#S-n6);PbvB0eHkl1JgFH)MqouLQGTCg) z*kUt%2S4ls)#6z1B#HHL=e; z&Fr_Yl-du