BP output intialized
This commit is contained in:
		
							parent
							
								
									77eef02f49
								
							
						
					
					
						commit
						51f13439d2
					
				|  | @ -3,7 +3,7 @@ circuit el2_ifu_bp_ctl : | ||||||
|   module el2_ifu_bp_ctl :  |   module el2_ifu_bp_ctl :  | ||||||
|     input clock : Clock |     input clock : Clock | ||||||
|     input reset : AsyncReset |     input reset : AsyncReset | ||||||
|     output io : {flip active_clk : Clock, flip ic_hit_f : UInt<1>, flip ifc_fetch_addr_f : UInt<31>, flip ifc_fetch_req_f : UInt<1>, flip dec_tlu_br0_r_pkt : {valid : UInt<1>, hist : UInt<2>, br_error : UInt<1>, br_start_error : UInt<1>, way : UInt<1>, middle : UInt<1>}, flip exu_i0_br_fghr_r : UInt<8>, flip exu_i0_br_index_r : UInt<8>, flip dec_tlu_flush_lower_wb : UInt<1>, flip dec_tlu_flush_leak_one_wb : UInt<1>, flip dec_tlu_bpred_disable : UInt<1>, flip exu_mp_pkt : {misp : UInt<1>, ataken : UInt<1>, boffset : UInt<1>, pc4 : UInt<1>, hist : UInt<2>, toffset : UInt<12>, valid : UInt<1>, br_error : UInt<1>, br_start_error : UInt<1>, prett : UInt<32>, pcall : UInt<1>, pret : UInt<1>, pja : UInt<1>, way : UInt<1>}, flip exu_mp_eghr : UInt<8>, flip exu_mp_fghr : UInt<8>, flip exu_mp_index : UInt<8>, flip exu_mp_btag : UInt<5>, flip exu_flush_final : UInt<1>, 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>} |     output io : {flip active_clk : Clock, flip ic_hit_f : UInt<1>, flip ifc_fetch_addr_f : UInt<31>, flip ifc_fetch_req_f : UInt<1>, flip dec_tlu_br0_r_pkt : {valid : UInt<1>, hist : UInt<2>, br_error : UInt<1>, br_start_error : UInt<1>, way : UInt<1>, middle : UInt<1>}, flip exu_i0_br_fghr_r : UInt<8>, flip exu_i0_br_index_r : UInt<8>, flip dec_tlu_flush_lower_wb : UInt<1>, flip dec_tlu_flush_leak_one_wb : UInt<1>, flip dec_tlu_bpred_disable : UInt<1>, flip exu_mp_pkt : {misp : UInt<1>, ataken : UInt<1>, boffset : UInt<1>, pc4 : UInt<1>, hist : UInt<2>, toffset : UInt<12>, valid : UInt<1>, br_error : UInt<1>, br_start_error : UInt<1>, prett : UInt<31>, pcall : UInt<1>, pret : UInt<1>, pja : UInt<1>, way : UInt<1>}, flip exu_mp_eghr : UInt<8>, flip exu_mp_fghr : UInt<8>, flip exu_mp_index : UInt<8>, flip exu_mp_btag : UInt<5>, flip exu_flush_final : UInt<1>, 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>} | ||||||
|      |      | ||||||
|     io.ifu_bp_hit_taken_f <= UInt<1>("h00") @[el2_ifu_bp_ctl.scala 43:25] |     io.ifu_bp_hit_taken_f <= UInt<1>("h00") @[el2_ifu_bp_ctl.scala 43:25] | ||||||
|     io.ifu_bp_btb_target_f <= UInt<1>("h00") @[el2_ifu_bp_ctl.scala 44:26] |     io.ifu_bp_btb_target_f <= UInt<1>("h00") @[el2_ifu_bp_ctl.scala 44:26] | ||||||
|  | @ -771,7 +771,7 @@ circuit el2_ifu_bp_ctl : | ||||||
|     node _T_527 = eq(dec_tlu_error_wb, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 346:35] |     node _T_527 = eq(dec_tlu_error_wb, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 346:35] | ||||||
|     node btb_valid = and(exu_mp_valid, _T_527) @[el2_ifu_bp_ctl.scala 346:32] |     node btb_valid = and(exu_mp_valid, _T_527) @[el2_ifu_bp_ctl.scala 346:32] | ||||||
|     node _T_528 = or(io.exu_mp_pkt.pcall, io.exu_mp_pkt.pja) @[el2_ifu_bp_ctl.scala 349:89] |     node _T_528 = or(io.exu_mp_pkt.pcall, io.exu_mp_pkt.pja) @[el2_ifu_bp_ctl.scala 349:89] | ||||||
|     node _T_529 = or(io.exu_mp_pkt.prett, io.exu_mp_pkt.pja) @[el2_ifu_bp_ctl.scala 349:113] |     node _T_529 = or(io.exu_mp_pkt.pret, io.exu_mp_pkt.pja) @[el2_ifu_bp_ctl.scala 349:113] | ||||||
|     node _T_530 = cat(_T_528, _T_529) @[Cat.scala 29:58] |     node _T_530 = cat(_T_528, _T_529) @[Cat.scala 29:58] | ||||||
|     node _T_531 = cat(_T_530, btb_valid) @[Cat.scala 29:58] |     node _T_531 = cat(_T_530, btb_valid) @[Cat.scala 29:58] | ||||||
|     node _T_532 = cat(io.exu_mp_pkt.pc4, io.exu_mp_pkt.boffset) @[Cat.scala 29:58] |     node _T_532 = cat(io.exu_mp_pkt.pc4, io.exu_mp_pkt.boffset) @[Cat.scala 29:58] | ||||||
|  | @ -796,7 +796,7 @@ circuit el2_ifu_bp_ctl : | ||||||
|     node middle_of_bank = xor(io.exu_mp_pkt.pc4, io.exu_mp_pkt.boffset) @[el2_ifu_bp_ctl.scala 356:35] |     node middle_of_bank = xor(io.exu_mp_pkt.pc4, io.exu_mp_pkt.boffset) @[el2_ifu_bp_ctl.scala 356:35] | ||||||
|     node _T_546 = eq(io.exu_mp_pkt.pcall, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:43] |     node _T_546 = eq(io.exu_mp_pkt.pcall, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:43] | ||||||
|     node _T_547 = and(exu_mp_valid, _T_546) @[el2_ifu_bp_ctl.scala 357:41] |     node _T_547 = and(exu_mp_valid, _T_546) @[el2_ifu_bp_ctl.scala 357:41] | ||||||
|     node _T_548 = eq(io.exu_mp_pkt.prett, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:58] |     node _T_548 = eq(io.exu_mp_pkt.pret, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:58] | ||||||
|     node _T_549 = and(_T_547, _T_548) @[el2_ifu_bp_ctl.scala 357:56] |     node _T_549 = and(_T_547, _T_548) @[el2_ifu_bp_ctl.scala 357:56] | ||||||
|     node _T_550 = eq(io.exu_mp_pkt.pja, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:72] |     node _T_550 = eq(io.exu_mp_pkt.pja, UInt<1>("h00")) @[el2_ifu_bp_ctl.scala 357:72] | ||||||
|     node _T_551 = and(_T_549, _T_550) @[el2_ifu_bp_ctl.scala 357:70] |     node _T_551 = and(_T_549, _T_550) @[el2_ifu_bp_ctl.scala 357:70] | ||||||
|  |  | ||||||
							
								
								
									
										10279
									
								
								el2_ifu_bp_ctl.v
								
								
								
								
							
							
						
						
									
										10279
									
								
								el2_ifu_bp_ctl.v
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -81,7 +81,7 @@ class el2_ifu_bp_ctl extends Module with el2_lib with RequireAsyncReset { | ||||||
|   val exu_mp_boffset  = io.exu_mp_pkt.boffset |   val exu_mp_boffset  = io.exu_mp_pkt.boffset | ||||||
|   val exu_mp_pc4      = io.exu_mp_pkt.pc4 |   val exu_mp_pc4      = io.exu_mp_pkt.pc4 | ||||||
|   val exu_mp_call     = io.exu_mp_pkt.pcall |   val exu_mp_call     = io.exu_mp_pkt.pcall | ||||||
|   val exu_mp_ret      = io.exu_mp_pkt.prett |   val exu_mp_ret      = io.exu_mp_pkt.pret | ||||||
|   val exu_mp_ja       = io.exu_mp_pkt.pja |   val exu_mp_ja       = io.exu_mp_pkt.pja | ||||||
|   val exu_mp_way      = io.exu_mp_pkt.way |   val exu_mp_way      = io.exu_mp_pkt.way | ||||||
|   val exu_mp_hist     = io.exu_mp_pkt.hist |   val exu_mp_hist     = io.exu_mp_pkt.hist | ||||||
|  |  | ||||||
|  | @ -80,7 +80,7 @@ class el2_predict_pkt_t extends Bundle { | ||||||
|   val valid      = UInt(1.W) |   val valid      = UInt(1.W) | ||||||
|   val br_error   = UInt(1.W) |   val br_error   = UInt(1.W) | ||||||
|   val br_start_error = UInt(1.W) |   val br_start_error = UInt(1.W) | ||||||
|   val prett      = UInt(32.W) //[31:1] in swerv |   val prett      = UInt(31.W) //[31:1] in swerv | ||||||
|   val pcall      = UInt(1.W) |   val pcall      = UInt(1.W) | ||||||
|   val pret       = UInt(1.W) |   val pret       = UInt(1.W) | ||||||
|   val pja        = UInt(1.W) |   val pja        = UInt(1.W) | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue