This is issue is a list of possible improvements and/or additions to the original branch of netlistsvg. Some of these improvements/additions can be useful for educational purposes. Most of the current ideas require that the svg file is viewed in a browser, to make the netlist semi-interactive. Any new ideas or clarification/improvements to the listed ideas are welcome!
Improvements and additions:
[ ] Add hover functionality to highlight individual connection nets. This can be extended by adding command line support, so an image can be generated for documentation purposes. [easy]
[ ] Colour specific groups of connection nets. For example the reset lines can be greyed out or the clock lines can be given a specific colour. [easy]
[ ] Improve the naming of the modules, by removing the $paramod and moving the parameters elsewhere. [easy]
[ ] Add nice look-up tables. This can be done by hovering over the module, but prevents the use in documentation purposes. A possible solution is by showing the table inside the module box. This feature can be extended by also showing the schematic for the logic of the look-up table. [medium]
[ ] Make the bus lines stand out by increasing the thickness of the line, or by adding a new element which shows the number of bits. [easy/medium]
[ ] Add the ability to go deeper into the hierarchy of the netlist. The current json files supplied by yosys already contain the necessary information, so only netlistsvg has to be updated. There are multiple options for implementing hierarchy into the netlist:
The module boxes can be expanded in the netlist. This is the most elegant solution, but also the hardest to implement. [hard]
The netlist of the selected submodule can be shown in a seperate tab or replace the current view. This allows clicking through the hierarchy, but this does not show the connections between multiple hierarchy levels. [medium]
Also use the hover functionality to show the netlist of the submodule by hovering over it. This is the worst way to implement it, as only one hierarchy level is added and it can't be used for documentation purposes. [medium]
[ ] Improve the line drawing.
Lines are sometimes taking strange routes, which can be improved. [hard]
Lines are too long coming out of certain cells. [easy]
This is issue is a list of possible improvements and/or additions to the original branch of netlistsvg. Some of these improvements/additions can be useful for educational purposes. Most of the current ideas require that the svg file is viewed in a browser, to make the netlist semi-interactive. Any new ideas or clarification/improvements to the listed ideas are welcome!
Improvements and additions: