Bugfix inferwidth (#372)
* Bugfix: removed recursive removal in infer widths This will certainly lead to more uninferred width errors, but now widths that were previously incorrectly inferred are now correctly uninferred. An example is: reg r : UInt, clock with: (reset => (reset, UInt<2>(3))) node x = add(r, r) r <= x Here, r's width follows the following formula, which cannot be solved: rWidth >= max(max(rWidth, rWidth) + 1, 2) * Added optimizations to for better width inference Also added exceptions for uninferred widths when checking DoPrim width legality to not trigger compiler error * Added additional optimizations Required for passing all chisel3 tests
Please register or sign in to comment