Often it is useful to be able to generate stubs of modules that cannot be found for one reason or another, specifically to facilitate linting. Verilator will stop if it hits a file with a module instantiation it cannot find a source for. The two most probable cases for this are when you use a VHDL module in a (System)Verilog design, and when you're using vendor FPGA primitives.
With the current implementation of rSVParser, it would be relatively easy to generate the stub modules, based on the width and naming information available from these, however the user would need to specify the directions of each of the ports manually. There may be some room for automatically determining the directions as well, however that would be quite difficult to implement.
To integrate this nicely into the GUI, it would also be beneficial to properly create Python bindings for rSVParser, instead of calling the CLI tool directly.
A few other notes about this:
We would need explicit UI elements to handle changes in the stubs and easily manage direction and net types
Once TB generation and other verification testing is integrated properly there would also need to be a clear transition method from stubs to full, simulated mock modules.
Often it is useful to be able to generate stubs of modules that cannot be found for one reason or another, specifically to facilitate linting. Verilator will stop if it hits a file with a module instantiation it cannot find a source for. The two most probable cases for this are when you use a VHDL module in a (System)Verilog design, and when you're using vendor FPGA primitives.
With the current implementation of rSVParser, it would be relatively easy to generate the stub modules, based on the width and naming information available from these, however the user would need to specify the directions of each of the ports manually. There may be some room for automatically determining the directions as well, however that would be quite difficult to implement.
To integrate this nicely into the GUI, it would also be beneficial to properly create Python bindings for rSVParser, instead of calling the CLI tool directly.
A few other notes about this: