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

Углубиться в причину ошибок и сделать вернехеуровненвый план решения #3 #15

Closed
astrophysik opened this issue Oct 22, 2024 · 1 comment
Assignees

Comments

@astrophysik
Copy link
Contributor

astrophysik commented Oct 22, 2024

Посмотреть детальнее на ошибки из каталога

  • error: cannot mix continuous and procedural assignments to variable
  • error: expression is not assignable
@astrophysik astrophysik converted this from a draft issue Oct 22, 2024
@astrophysik astrophysik self-assigned this Oct 22, 2024
@astrophysik
Copy link
Contributor Author

astrophysik commented Oct 30, 2024

  • error: cannot mix continuous and procedural assignments to variable
    Кажется, что тут действительно сам код написан не по спецификации. В IEEE 1800 Port Connections (3.9.6) написано, что порты соединяеют проессы с помощью неявных continuous assignments, так как переменная dut_bus_rx передаётся в качестве порта в другой модуль, у неё появляется continuous assignment. При этом вызов метода pop_front() у объекта dut_bus_rx приводит к procedure assignment. В главе Nets and variables (6.5) сказано, что запрещенно иметь оба типа присваивания для одной переменной

  • error: expression is not assignable
    Ошибка фиксится уже в 5-ой версии Slang. В issue спросил про обновление Slang в CIRCT - они вроде не против. Предложили покопаться в их cmake, чтобы им помочь. Следующим шагом посижу над cmake и попробую разные версии Slang

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant