Skip to content

Module Widget

joern274 edited this page Feb 26, 2026 · 23 revisions

The Module Widget illustrates the netlist's module hierarchy as a tree. The user can opt to or not to display gates and nets within this hierarchic tree. The widget features helpful actions including, but not limited to, adding a child module or changing the module's displayed color.

Module Widget

Toolbar

The toolbar comprises the actions

Module Widget Toolbar

Context Menu

The context menu shown here gets triggered when a module is selected. The structure of the context menu for gates and nets is similar but some module specific actions are missing. The menu entries shown in the snapshot below are

Module Widget Context Menu

1. Toggle Net Visibility

By using this toggle button the user decides whether nets belonging to modules are shown within the hierarchic tree or whether nets are omitted.

2. Toggle Gate Visibility

By using this toggle button the user decides whether gates are shown within the hierarchic tree or whether gates are omitted. In HAL every gate is assigned to a module.

3. Rename

Opens an input dialog and changes the name of the (module / gate / net) item to the given input.

4. Change Module Type

Opens an input dialog and changes the string declaring the type of the module to the given input. Gate types which are defined by gate library cannot be changed.

5. Change Module Color

Opens a color dialog and changes the displayed color of the module to the chosen color.

6. Delete Module

Deletes the selected module. All elements which were assigned to the deleted module are assigned to the parent module of the deleted module. The only way to delete gates or nets is by Python commands.

7. Search Module

To find a specific module, a filter can be applied to the tree. Pressing the shortcut CTRL + F while the widget is focused or left-clicking the magnifying glass in the toolbar of the widget toggles the search bar. As a result, only modules matching the text in the search bar and the parent modules are shown in the tree. The filter is only active when the searchbar is visible. The magnifying glass in the toolbar changes to a green color to indicate that the filter is active.

8. Toggle Expand / Collapse

When using this toggle button the tree gets either expanded so that all (module / gate / net) items become visible or collapsed to the top module.

9. To Clipboard ...

The user can select to copy either the items name, id, or type (if applicable) to the clipboard. He can also copy an expression in Python code to access that item to clipboard.

10. Add Child Module

Opens an input dialog and creates a new empty module with the chosen name as the child of the selected module.

11. To Selection ...

The user can decide to add the current (module / gate / net) item to an existing selection (if any) or to replace the current selection with the chosen item.

12. Move to Module ...

Opens a module selection dialog and moves the selected (module / gate / net) item as child to the chosen module.

13. To Grouping ...

The options are either to add the selected (module / gate / net) item to a new grouping - thus removing the previous assignment if any - or to remove any grouping assignments. When adding a grouping selection dialog opens and lets the user chose an existing group or create a new one.

14. Focus in View

Focus on selected item in the Graph View if the current view contains (module / gate / net) item.

15. Isolate in View

Creates a new view containing the selected (module / gate / net) in the Graph View. If used on net all source and destination gates connected to that net will be shown in the new view as well. The new view is also added to the list of the Views Widget.

Clone this wiki locally