-
Notifications
You must be signed in to change notification settings - Fork 76
Selection Details Widget
The Selection Details Widget presents details on each of the gates, nets and modules within the current selection. Its main features are a hierarchical list of elements that are currently selected in the GUI as well a details section delivering additional information on a single element of that selection.
The Selection Details Widget mainly consists of two large sections: a hierarchical list of all selected netlist components as well as detailed information on a single element of the selection that can be chosen by the user by highlighting an element in the list. Additionally, the widget comes with a toolbar and offers a right-click context menu that is heavily dependent on its context.
The hierarchical list on the left hand side of the widget shows all elements of the current selection. Gates, nets and modules are identifiable by the icons to the left of the name of the element. Besides the name, the list displays the elements ID and type if existing. Modules can be expanded by clicking the arrow next to the module icon to further inspect the element assigned to that module.
Highlighting an element in the list updates the right hand side of the Selection Details Widget to offer detailed information about that element. It also gets highlighted in cyan in the Graph View.
The icon showing a magnifying glass in the toolbar enables interactively filtering the displayed list by name, ID, or type. Note that this does not affect the selection and may solely be used to find a desired element within the selection.
The exact details shownfor each netlist component depend strongly on their type. In general, these information comprise at least the name and ID of the component as well as the data associated with it. Additional information about the content are provided below for each type of component.
The details for a gate start with a gate information section that comprises basic information on the selected gate. Its name and type are shown within that section. Additionally, its ID, assigned grouping, and parent module are shown and can be retrieved as plaintext or Python code using the context menu as well.
Next, the input and output pins of the gate are listed each within their own section in combination with the respective nets connected to them. The net and the source / destination gates may be extracted as Python code for each of the pins using the context menu. Further, the user may jump right to the source / destination gate by double-clicking on the net or selecting the respective option in the context menu.
Furthermore, all data that is associated with the gate is shown in the data fields section, which may also be extracted as Python code using the right-click context menu.
Finally, all boolean functions associated with the gate are shown in the boolean function section.
The details for a net start with a net information section that comprises basic information on the selected net. Its name and type are shown within that section. Additionally, its ID and assigned grouping are shown and can be retrieved as plaintext or Python code using the context menu as well. The name may be changed using the right-click context menu while hovering over the name entry.
Next, the source and destination pins of the net are listed each within their own section in combination with the respective source / destination gates. The source / destination gates may be extracted as Python code for each of the pins using the context menu. Further, the user may jump right to the source / destination gate by double-clicking on the gate or selecting the respective option in the context menu.
Finally, all data that is associated with the net is shown in the data fields section, which may also be extracted as Python code using the right-click context menu.
The details for a module start with a module information section that comprises basic information on the selected module. Its name and type are shown within that section and may be changed using the right-click context menu while hovering over the respective entry. Additionally, its ID, assigned grouping, and parent module are shown and can be retrieved as plaintext or Python code using the context menu as well. This information section also comes with the total number of gates, nets, and submodules contained within the module.
Next, the input and output ports of the module are listed each within their own section in combination with the respective nets that cross the module boundaries through those ports. The net and the source / destinations gates may be extracted as Python code for each of the ports using the context menu. Right clicking the input or output ports offers a context menu that allows to change the name of the clicked port. Further, the user may jump right to the source / destination gate by double-clicking on the net or selecting the respective option in the context menu.
Finally, all data that is associated with the module is shown in the data fields section, which may also be extracted as Python code using the right-click context menu.
The toolbar allows several operations on the current selection. First, it allows to revert the last change(s) on the selection and thus restore a previous selection in case of a mistake while working on the current selection (1). Further, the entire selection may be assigned to an already existing or a new grouping (2) or module (3). In case an element of the selection is already part of a grouping, this existing grouping assignment is overwritten by the new one. When creating a module, technically only gates and other modules are assigned to the module and may be removed from other modules in the process. The user is responsible for the sensibility of the assignment. Finally, the icon showing a magnifying glass enables interactively filtering the displayed list by name, ID, or type (4). Note that this does not affect the selection and may solely be used to find a desired element within the selection.
The context menu within the selection details widget strongly depends on the current context and the UI item it is opened on. It commonly allows to change and retrieve values that are associated with the selected gate, net our module. Further, in some cases it provides functionality to copy Python commands to the clipboard that provide access to the targeted resource vie the Python shell or editor.