From 87fc0f60eeeaa6ef02e1f16d2c9f329bc69f3ec1 Mon Sep 17 00:00:00 2001 From: Liphen Date: Thu, 7 Dec 2023 17:42:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(issue):=20=E4=BF=AE=E5=A4=8D=E5=8F=8C?= =?UTF-8?q?=E5=8F=91=E6=97=B6inst1=E4=B8=8D=E8=83=BD=E4=B8=BA=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chisel/playground/src/pipeline/decoder/Issue.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chisel/playground/src/pipeline/decoder/Issue.scala b/chisel/playground/src/pipeline/decoder/Issue.scala index 1002c2f..ad4411e 100644 --- a/chisel/playground/src/pipeline/decoder/Issue.scala +++ b/chisel/playground/src/pipeline/decoder/Issue.scala @@ -55,6 +55,9 @@ class Issue(implicit val config: CpuConfig) extends Module { val inst0_is_bru_inst = ((inst0.fusel === FuType.bru && FuType.bru =/= FuType.alu) || (inst0.fusel === FuType.alu && ALUOpType.isBru(io.decodeInst(0).op))) + val inst1_is_bru_inst = ((inst1.fusel === FuType.bru && FuType.bru =/= FuType.alu) || + (inst1.fusel === FuType.alu && ALUOpType.isBru(io.decodeInst(1).op))) + // 指令1是否允许执行 io.inst1.allow_to_go := io.allow_to_go && // 指令0允许执行 @@ -62,7 +65,8 @@ class Issue(implicit val config: CpuConfig) extends Module { !struct_conflict && // 无结构冲突 !data_conflict && // 无写后读冲突 !VecInit(FuType.mou).contains(io.decodeInst(1).fusel) && // 指令1不是mou指令 - !inst0_is_bru_inst // 指令0不是bru指令 + !inst0_is_bru_inst && // 指令0不是bru指令 + !inst1_is_bru_inst // 指令1不是bru指令 } else { io.inst1.allow_to_go := false.B }