circt
circt copied to clipboard
Circuit IR Compilers and Tools
Here we want to support hierarchical names. All hierarchical names are marked as input ports with `ref` type. But we ignore a special case like: ``` module Foo; int a,...
This pull request adds a header to the `SimplexScheduler.cpp` file, enabling the use of the simplex scheduler directly without the need to generate SSP modules in other projects that depend...
Using pass `canonicalizers`: lower `structExtractRefOp` to `structInjectOp` Refresh referring to struct SSA when new struct is created (structInjectOp) with pass `simplifyprocedure` and `mem2reg` update `union verify function` Register `func` dialect...
Background: We are bumping our firtool version. See https://github.com/chipsalliance/t1/pull/734 # Description After the bumping, our workflow breaks as if all `$stop` statements are discarded. It seems recently how firtool generates...
Instances and anything else with side-effects cannot be sunk into a layer without changing the behavior of the base program. Consider this FIRRTL input: ```firrtl FIRRTL version 4.0.0 circuit DUT...
Add advanced layer sink, a new FIRRTL-dialect transform pass. Advanced layer sink serves the same purpose as the original layer sink pass: move ops into layers if their uses permits...
This is a new pass that sinks `seq.clock_gate` into its users and attempts to remove as many `seq.clock_gate` ops as possible. Any operation that can potentially encode the enable directly,...
Test whether the copy constructor and assignment operator is usable with `Problem` instances. If not, we should introduce a `clone()` method on the problem hierarchy, to be overridden by subclasses...
`Problem`s contain two kinds of properties, i.e. input and solution properties. A common use-case is to make small modifications to an instance (cf. #7544) and re-schedule. To that end, it...
Currently, `Problem` instances can only be constructed (by adding operations/operator types/dependences), but neither these components nor the properties set for them can be removed again afterwards. We should add methods...