From a91541b8c20dda39a45dcc004d7f89ddadbe1bb9 Mon Sep 17 00:00:00 2001 From: Ethan Sifferman Date: Sun, 28 Jan 2024 20:48:54 -0800 Subject: [PATCH] full_case + parallel_case --- src/Convert/Unique.hs | 9 ++++++--- test/core/case_violation_checks.sv.pat | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Convert/Unique.hs b/src/Convert/Unique.hs index e621835..866f314 100644 --- a/src/Convert/Unique.hs +++ b/src/Convert/Unique.hs @@ -4,7 +4,7 @@ - Conversion for `unique`, `unique0`, and `priority` (verification checks) - - This conversion adds full_case and parallel_case synthesis attributes - - for priority and unique respectively. + - for priority and unique modifiers on case statements. -} module Convert.Unique (convert) where @@ -28,8 +28,11 @@ convertStmt (Case Priority kw expr cases) = convertStmt (Case Unique kw expr cases) = StmtAttr caseAttr caseStmt where - caseAttr = Attr [("synthesis", Nil), ("parallel_case", Nil)] + caseAttr = Attr [("synthesis", Nil), ("full_case", Nil), ("parallel_case", Nil)] caseStmt = Case NoCheck kw expr cases convertStmt (Case Unique0 kw expr cases) = - convertStmt (Case Unique kw expr cases) + StmtAttr caseAttr caseStmt + where + caseAttr = Attr [("synthesis", Nil), ("parallel_case", Nil)] + caseStmt = Case NoCheck kw expr cases convertStmt other = other diff --git a/test/core/case_violation_checks.sv.pat b/test/core/case_violation_checks.sv.pat index 30facab..afa5cb0 100644 --- a/test/core/case_violation_checks.sv.pat +++ b/test/core/case_violation_checks.sv.pat @@ -1,2 +1,3 @@ +affirm (* synthesis, full_case, parallel_case *) affirm (* synthesis, parallel_case *) affirm (* synthesis, full_case *)