intel / rohd

The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
https://intel.github.io/rohd-website
BSD 3-Clause "New" or "Revised" License
370 stars 65 forks source link

Static analysis for combinational loops #469

Open mkorbel1 opened 6 months ago

mkorbel1 commented 6 months ago

Motivation

This thread discusses some thoughts on adding static combinational loop detection to ROHD: https://discord.com/channels/545823859006242826/714328992211140609/1212390408244433017

Perhaps it is not too hard to implement.

Desired solution

At build time of a Module, perform a static analysis in search of combinational loops.

Ideally, we avoid "warnings" and false positives.

Alternatives considered

ROHD already will simulate X-prop through combinational loops during simulation.

Additional details

No response