Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[HW to BTOR2] btor2 conversion pass (#6378)
* Added missing tool in integration test * Fixed formatting * Fixed whitespace issue * Fixed typo in VerilogGeneration.md * Added skeleton for btor2 lowering pass * added pattern match skeleton to lowering pass * Added initial emission of inputs and hw::constant ops * added constant emission * added emission for most operations and final assertion * Added support for muxes, assumptions and wire aliases * Added support for inputs in btor2 * fixed bug in input generation * added support for missing comb operations * Changed input registration to allow for booleans * Made input type check more robust * WIP register state transition system generation * Added support for registers * refactored hardcoded string * added names to btor2 states * Added state initialization support * Removed state initializer, it should be a firrtl construct and not a btor one * Removed temporary file emission * Added back accidentally removed btor2 string printing * Ran clang-format * Ran clang-format * WIP refactored typeswitch * refactored giant type switch * Made all string litterals constexpr * attempting to fix sanity check * fixed variable name typo * Attempting to satisfy clang-tidy * renamed things to make clang happy * inlined useless helper methods * Clarified the necessity of important data structures in comments * fixed formatting * Changed pass into a Conversion pass * refactored helper methods * Checked for case where next is a port when emitted transitions * Added newline at EOF * Inherited visitors instead of using a big typeswitch * Throw an error for unsupported ops and explicitly ignore the rest * Removed unnecessary functions and refactored runOnOperation * Fixed formatting * Attempted to add some test * Added in ops that weren't covered by visitors * Added in missing declaration in header * Included pass in CAPI CmakeLists * Added infrastructure for btor integration tests * Revert "Added infrastructure for btor integration tests" This reverts commit a5ec3da. * various nitpicking comments accounted for * used generalized ids for btor2 testcase * fixed typo in test * updated test and found small bug * clang-format * added support for arbitrary resets * Updated test to reflect new handling of reset * Switched to a DFS strategy for emission * Updated test to align with preemission of register declarations * Removed gratuitous lookups. * inlined a bunch of string constatns * removed certain silent fails and added out of order test
- Loading branch information