From 3e2ce1be9e6422b664c94e7fa955de7ef4c5a422 Mon Sep 17 00:00:00 2001 From: waleed-lm Date: Wed, 14 Oct 2020 10:40:22 +0500 Subject: [PATCH] Aligner Updated --- el2_ifu_aln_ctl.fir | 4 ++-- el2_ifu_aln_ctl.v | 10 ++++------ src/main/scala/ifu/el2_ifu_aln_ctl.scala | 10 +++++----- .../classes/ifu/el2_ifu_aln_ctl.class | Bin 192513 -> 192530 bytes 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/el2_ifu_aln_ctl.fir b/el2_ifu_aln_ctl.fir index 768e4700..4bf59ea0 100644 --- a/el2_ifu_aln_ctl.fir +++ b/el2_ifu_aln_ctl.fir @@ -2438,8 +2438,8 @@ circuit el2_ifu_aln_ctl : node _T_224 = bits(misc0eff, 53, 53) @[el2_ifu_aln_ctl.scala 217:21] f0icaf <= _T_224 @[el2_ifu_aln_ctl.scala 217:10] node f0ictype = bits(misc0eff, 52, 51) @[el2_ifu_aln_ctl.scala 218:26] - node f0prett = bits(misc0eff, 50, 18) @[el2_ifu_aln_ctl.scala 219:25] - node f0poffset = bits(misc0eff, 17, 5) @[el2_ifu_aln_ctl.scala 220:27] + node f0prett = bits(misc0eff, 50, 20) @[el2_ifu_aln_ctl.scala 219:25] + node f0poffset = bits(misc0eff, 19, 8) @[el2_ifu_aln_ctl.scala 220:27] node f0fghr = bits(misc0eff, 7, 0) @[el2_ifu_aln_ctl.scala 221:24] node _T_225 = bits(io.ifu_bp_hist1_f, 1, 1) @[el2_ifu_aln_ctl.scala 223:37] node _T_226 = bits(io.ifu_bp_hist0_f, 1, 1) @[el2_ifu_aln_ctl.scala 223:58] diff --git a/el2_ifu_aln_ctl.v b/el2_ifu_aln_ctl.v index fd6d3ee6..75a88469 100644 --- a/el2_ifu_aln_ctl.v +++ b/el2_ifu_aln_ctl.v @@ -815,8 +815,8 @@ module el2_ifu_aln_ctl( wire f0dbecc = misc0eff[54]; // @[el2_ifu_aln_ctl.scala 216:25] wire f0icaf = misc0eff[53]; // @[el2_ifu_aln_ctl.scala 217:21] wire [1:0] f0ictype = misc0eff[52:51]; // @[el2_ifu_aln_ctl.scala 218:26] - wire [32:0] f0prett = misc0eff[50:18]; // @[el2_ifu_aln_ctl.scala 219:25] - wire [12:0] f0poffset = misc0eff[17:5]; // @[el2_ifu_aln_ctl.scala 220:27] + wire [30:0] f0prett = misc0eff[50:20]; // @[el2_ifu_aln_ctl.scala 219:25] + wire [11:0] f0poffset = misc0eff[19:8]; // @[el2_ifu_aln_ctl.scala 220:27] wire [7:0] f0fghr = misc0eff[7:0]; // @[el2_ifu_aln_ctl.scala 221:24] wire [23:0] _T_250 = {brdata1,brdata0}; // @[Cat.scala 29:58] wire [23:0] _T_253 = {brdata2,brdata1}; // @[Cat.scala 29:58] @@ -962,8 +962,6 @@ module el2_ifu_aln_ctl( wire _T_751 = first4B & alignhist0[1]; // @[el2_ifu_aln_ctl.scala 387:42] wire _T_752 = _T_749 | _T_751; // @[el2_ifu_aln_ctl.scala 387:31] wire i0_ends_f1 = first4B & _T_515; // @[el2_ifu_aln_ctl.scala 389:28] - wire [12:0] _T_755 = i0_ends_f1 ? {{1'd0}, f1poffset} : f0poffset; // @[el2_ifu_aln_ctl.scala 390:27] - wire [32:0] _T_757 = i0_ends_f1 ? {{2'd0}, f1prett} : f0prett; // @[el2_ifu_aln_ctl.scala 392:25] wire _T_768 = io_i0_brp_valid & i0_brp_pc4; // @[el2_ifu_aln_ctl.scala 398:42] wire _T_769 = _T_768 & first2B; // @[el2_ifu_aln_ctl.scala 398:56] wire _T_770 = ~i0_brp_pc4; // @[el2_ifu_aln_ctl.scala 398:89] @@ -989,12 +987,12 @@ module el2_ifu_aln_ctl( assign io_ifu_pmu_instr_aligned = io_dec_i0_decode_d & _T_785; // @[el2_ifu_aln_ctl.scala 60:28 el2_ifu_aln_ctl.scala 410:28] assign io_ifu_i0_cinst = aligndata[15:0]; // @[el2_ifu_aln_ctl.scala 61:19 el2_ifu_aln_ctl.scala 346:19] assign io_i0_brp_valid = _T_722 | _T_726; // @[el2_ifu_aln_ctl.scala 378:19] - assign io_i0_brp_toffset = _T_755[11:0]; // @[el2_ifu_aln_ctl.scala 390:21] + assign io_i0_brp_toffset = i0_ends_f1 ? f1poffset : f0poffset; // @[el2_ifu_aln_ctl.scala 390:21] assign io_i0_brp_hist = {_T_747,_T_752}; // @[el2_ifu_aln_ctl.scala 386:18] assign io_i0_brp_br_error = _T_769 | _T_772; // @[el2_ifu_aln_ctl.scala 398:22] assign io_i0_brp_br_start_error = _T_657 & alignbrend[0]; // @[el2_ifu_aln_ctl.scala 394:29] assign io_i0_brp_bank = _T_738 ? f0pc[1] : secondpc[1]; // @[el2_ifu_aln_ctl.scala 396:29] - assign io_i0_brp_prett = _T_757[30:0]; // @[el2_ifu_aln_ctl.scala 392:19] + assign io_i0_brp_prett = i0_ends_f1 ? f1prett : f0prett; // @[el2_ifu_aln_ctl.scala 392:19] assign io_i0_brp_way = _T_738 ? alignway[0] : alignway[1]; // @[el2_ifu_aln_ctl.scala 384:17] assign io_i0_brp_ret = _T_729 | _T_731; // @[el2_ifu_aln_ctl.scala 380:17] assign decompressed_io_din = aligndata[15:0]; // @[el2_ifu_aln_ctl.scala 406:23] diff --git a/src/main/scala/ifu/el2_ifu_aln_ctl.scala b/src/main/scala/ifu/el2_ifu_aln_ctl.scala index 913f4b09..e3002d69 100644 --- a/src/main/scala/ifu/el2_ifu_aln_ctl.scala +++ b/src/main/scala/ifu/el2_ifu_aln_ctl.scala @@ -213,11 +213,11 @@ class el2_ifu_aln_ctl extends Module with el2_lib with RequireAsyncReset { val f1poffset = misc1eff(BHT_GHR_SIZE+11, BHT_GHR_SIZE) val f1fghr = misc1eff(BHT_GHR_SIZE-1, 0) - val f0dbecc = misc0eff(MHI) - f0icaf := misc0eff(MHI-1) - val f0ictype = misc0eff(MHI-2, MHI-3) - val f0prett = misc0eff(MHI-4,MHI-36) - val f0poffset = misc0eff(MHI-37, MHI-49) + val f0dbecc = misc0eff(misc1eff.getWidth-1) + f0icaf := misc0eff(misc1eff.getWidth-2) + val f0ictype = misc0eff(misc1eff.getWidth-3,misc1eff.getWidth-4) + val f0prett = misc0eff(misc1eff.getWidth-5,misc1eff.getWidth-35) + val f0poffset = misc0eff(BHT_GHR_SIZE+11, BHT_GHR_SIZE) val f0fghr = misc0eff(BHT_GHR_SIZE-1, 0) brdata_in := Cat(io.ifu_bp_hist1_f(1),io.ifu_bp_hist0_f(1),io.ifu_bp_pc4_f(1),io.ifu_bp_way_f(1),io.ifu_bp_valid_f(1), diff --git a/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class b/target/scala-2.12/classes/ifu/el2_ifu_aln_ctl.class index d1f394dfeeab510a94ce85b5892406930c0903be..15f9010c533d72e1cff6ddc5d9ca2086e60164af 100644 GIT binary patch delta 2362 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 YU8C-U4LMz-?uQNj{`)j~z|F_!e>x{K*8l(j