From 0d9e2fdf60c5af7ec05c73cd0900bd142851db77 Mon Sep 17 00:00:00 2001 From: "James E. Stine" Date: Mon, 29 Jan 2024 17:37:35 -0600 Subject: [PATCH] update Boolean logic for all testing for divide --- testbench/testbench-fp.sv | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/testbench/testbench-fp.sv b/testbench/testbench-fp.sv index 46f261c0a..658107f56 100644 --- a/testbench/testbench-fp.sv +++ b/testbench/testbench-fp.sv @@ -848,7 +848,7 @@ module testbenchfp; end S2: begin DivStart = 1'b0; - if ((FDivBusyE)|(~DivDone)) + if ((FDivBusyE|~DivDone)&(UnitVal == `DIVUNIT)) nextstate = S2; else nextstate = Done; @@ -960,16 +960,16 @@ module testbenchfp; assign FMAop = (OpCtrlVal == `FMAUNIT); assign DivDone = OldFDivBusyE & ~FDivBusyE; assign CheckNow = ((DivDone | ~divsqrtop) | - (TEST == "all" | TEST == "add" | TEST == "fma" | TEST == "sub")) - & (UnitVal !== `CVTINTUNIT) & (UnitVal !== `CMPUNIT); - + (TEST == "add" | TEST == "fma" | TEST == "sub") | + ((TEST == "all") & (DivDone | ~divsqrtop))); + if (~(ResMatch & FlagMatch) & CheckNow & (Ans[0] !== 1'bx)) begin errors += 1; $display("\nError in %s", Tests[TestNum]); $display("TestNum %d OpCtrl %d", TestNum, OpCtrl[TestNum]); $display("inputs: %h %h %h\nSrcA: %h\n Res: %h %h\n Expected: %h %h", X, Y, Z, SrcA, Res, ResFlg, Ans, AnsFlg); $stop; - end + end if (TestVectors[VectorNum][0] === 1'bx & Tests[TestNum] !== "") begin // if reached the eof // increment the test