Skip to content

🐛 Non-numeric expressions not usable in dimension access of variable access #294

Open
@TooMuchDakka

Description

@TooMuchDakka

Environment information

  • OS: Windows 10 x64
  • C++ Compiler: clang 17.0.3
  • MQT-Core: 3.0.3
  • MQT-Syrec: Commit #a95ae75

Description

Trying to synthesize a variable access with a non-numeric expression defined in any of the accessed dimensions (e.g. module main(inout a[2](2)) wire b(2) b ^=2; a[(b << 1)] ^= 1) will be ignored and default to an access on the first value of the first dimension (e.g. a[0]) without generating a warning or error message.

Expected behavior

Any of the supported expressions of the Expression production in the SyReC grammar (see RevLib 2.0.1) should be usable in the dimension access of a variable access.

How to Reproduce

  1. Perform a build from source of mqt.syrec
  2. Launch the syrec-editor python application and copy the SyReC circuit from the bug description into the code editor
  3. Select either the cost or line aware synthesis radio button and then press the 'Build' button

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingc++Anything related to C++ code

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions