From 940e3b0de1bd01b476f7f5856ada546ff1438415 Mon Sep 17 00:00:00 2001 From: "Chih-Hsueh \"Josh\" Huang" Date: Fri, 22 Aug 2025 17:43:15 +0800 Subject: [PATCH] Change suggestion (operator precedence): pzbcm_edge_detector.sv Change suggestion (operator precedence): What: ^ and & precedence makes o_edge compute i_d ^ (d & ~i_clear) instead of (i_d ^ d) & ~i_clear. Impact: False edge detections when i_clear is asserted. Fix: Add parentheses to gate the XOR result. --- pzbcm_edge_detector/pzbcm_edge_detector.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pzbcm_edge_detector/pzbcm_edge_detector.sv b/pzbcm_edge_detector/pzbcm_edge_detector.sv index aa108df..78a6c88 100644 --- a/pzbcm_edge_detector/pzbcm_edge_detector.sv +++ b/pzbcm_edge_detector/pzbcm_edge_detector.sv @@ -17,7 +17,7 @@ module pzbcm_edge_detector #( ); logic [WIDTH-1:0] d; - assign o_edge = ( i_d) ^ ( d) & (~i_clear); + assign o_edge = ( i_d ^ d) & (~i_clear); assign o_posedge = ( i_d) & (~d) & (~i_clear); assign o_negedge = (~i_d) & ( d) & (~i_clear);