Skip to content

Fix wrap_openframe.py: parenthesize OEB inversion for parser#46

Closed
robtaylor wants to merge 1 commit intomainfrom
fix/wrap-parens2
Closed

Fix wrap_openframe.py: parenthesize OEB inversion for parser#46
robtaylor wants to merge 1 commit intomainfrom
fix/wrap-parens2

Conversation

@robtaylor
Copy link
Contributor

Summary

  • Wraps OEB inversion operands in parentheses: ~( \io$name$oe ) instead of ~\io$name$oe
  • Loom's sverilog parser can't handle unary operators (~, !) immediately before backslash-escaped identifiers
  • Adding parentheses makes the expression unambiguous for the parser

Fixes MCU SoC Metal Simulation CI failure on PR #44.

Test plan

  • CI passes (MCU SoC Metal Simulation uses the existing committed netlist, not the new wrapper)
  • After merge, re-trigger rebuild to regenerate PR Update MCU SoC post-P&R test data #44 with correct wrapper syntax

Loom's sverilogparse cannot parse unary operators immediately before
backslash-escaped identifiers (e.g. `~\io$name$oe`). Wrap the
operand in parentheses: `~( \io$name$oe )` so the parser handles
it correctly.

Co-developed-by: Claude Code v2.1.44 (claude-opus-4-6)
@robtaylor robtaylor closed this Feb 27, 2026
@robtaylor robtaylor deleted the fix/wrap-parens2 branch February 27, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant