Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HWToSMT] Support hw.array_create and hw.array_get #7664

Open
uenoku opened this issue Oct 4, 2024 · 0 comments · May be fixed by #7666
Open

[HWToSMT] Support hw.array_create and hw.array_get #7664

uenoku opened this issue Oct 4, 2024 · 0 comments · May be fixed by #7666

Comments

@uenoku
Copy link
Member

uenoku commented Oct 4, 2024

Currently we cannot verify LEC between following two modules:

  hw.module @MultibitMux(in %a_0 : i1, in %a_1 : i1, in %sel : i1, out b : i1) {
    %0 = hw.array_create %a_1, %a_0 : i1
    %1 = hw.array_get %0[%sel] : !hw.array<2xi1>, i1
    hw.output %1 : i1
  }

  hw.module @MultibitMux2(in %a_0 : i1, in %a_1 : i1, in %sel : i1, out b : i1) {
    %0 = comb.mux bin %sel, %a_1, %a_0 : i1
    hw.output %0 : i1
  }
$  circt-lec bar.mlir --c1 MultibitMux --c2 MultibitMux2
bar.mlir:2:10: error: failed to legalize operation 'hw.array_create' that was explicitly marked illegal
    %0 = hw.array_create %a_1, %a_0 : i1
@maerhart maerhart linked a pull request Oct 4, 2024 that will close this issue
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 a pull request may close this issue.

1 participant