mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Support non-overlapped property implications correctly (#8268)
Signed-off-by: Artur Bieniek <[email protected]>
This commit is contained in:
+2
-2
@@ -1760,7 +1760,7 @@ public:
|
||||
bool sameNode(const AstNode* /*samep*/) const override { return true; }
|
||||
};
|
||||
class AstImplication final : public AstNodeExpr {
|
||||
// Implication |-> |=> (IEEE 1800-2023 16.12.6) and followed-by #-# #=#
|
||||
// Implication |-> |=> (IEEE 1800-2023 16.12.7) and followed-by #-# #=#
|
||||
// (IEEE 1800-2023 16.12.9). Antecedent-miss is vacuous-pass for implication
|
||||
// and non-vacuous-fail for followed-by, hence the separate flag.
|
||||
// @astgen op1 := lhsp : AstNodeExpr
|
||||
@@ -1788,7 +1788,7 @@ public:
|
||||
string emitSimpleOperator() override { V3ERROR_NA_RETURN(""); }
|
||||
bool cleanOut() const override { V3ERROR_NA_RETURN(""); }
|
||||
int instrCount() const override { return widthInstrs(); }
|
||||
bool isMultiCycleSva() const override { return m_isFollowedBy; }
|
||||
bool isMultiCycleSva() const override { return m_isFollowedBy || !m_isOverlapped; }
|
||||
bool isOverlapped() const { return m_isOverlapped; }
|
||||
bool isFollowedBy() const { return m_isFollowedBy; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user