-
Notifications
You must be signed in to change notification settings - Fork 92
Module Widget
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.

The toolbar comprises the actions
- Toggle net visibility (1)
- Toggle gate visibility (2)
- Rename (3)
- Delete module (6)
- Search (7)
- Toggle expand all/collapse all (8)

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
- To clipboard ... (9)
- Change -> Module name (3)
- Change -> Module type (4)
- Change -> Module color (5)
- Add child Module (10)
- To selection ... (11)
- Move to Module (12)
- To grouping ... (13)
- Focus module in Graph View (14)
- Isolate module in new view (15)
- Delete Module (6)

By using this toggle button the user decides whether nets belonging to modules are shown within the hierarchic tree or whether nets are omitted.
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.
Opens an input dialog and changes the name of the (module / gate / net) item to the given input.
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.
Opens a color dialog and changes the displayed color of the module to the chosen color.
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.
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.
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.
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.
Opens an input dialog and creates a new empty module with the chosen name as the child of the selected module.
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.
Opens a module selection dialog and moves the selected (module / gate / net) item as child to the chosen module.
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.
Focus on selected item in the Graph View if the current view contains (module / gate / net) item.
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.