circt icon indicating copy to clipboard operation
circt copied to clipboard

[FIRRTL] Emit binds alongside the modules and interfaces they bind in

Open mikeurbach opened this issue 3 years ago • 1 comments

Emitting all of the binds into monolithic *.bindings.sv files makes it impossible for tools to work with a subset of the design. If they are only interested in a specific unit, and that unit involves bind statements, including the monolithic *.bindings.sv files may include other bind statements to units that do not exist in the portion of the design under test.

This breaks that up by emitting the bind statements alongside the generated module or interface that is being bound in.

This is an early work in progress, but I think it is achieving the goal stated above. In a test, neither Grand Central nor SVExtractTestCode generated the *.bindings.sv files, and binds were emitted alongside the generated modules and instances.

If this is the right direction, I can go ahead and finish this up by removing the remaining traces of the global *.bindings.sv files and updating the tests to match the new behavior.

mikeurbach avatar Jun 29 '22 03:06 mikeurbach

Just FYI on this one--since there will be some knock on effects downstream, we are holding off on landing this for now until we get consensus on the direction.

mikeurbach avatar Jul 05 '22 19:07 mikeurbach

Converting to draft pending sorting out downstream effects.

darthscsi avatar Apr 28 '23 18:04 darthscsi