HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal Namespace Reference

Namespaces

 bitorder_propagation
 
 boolean_influence
 
 BooleanFunctionParser
 
 BV_ConstantPropagation
 
 ContentLayout
 
 core_strings
 
 dataflow
 
 event_log
 
 gate_library_manager
 
 gate_library_parser_manager
 
 gate_library_writer_manager
 
 graph_algorithm
 
 graph_widget_constants
 
 GraphicsFactory
 Contains utility factory functions.
 
 gui_utility
 
 GuiApiClasses
 
 hawkeye
 
 JsonConverter
 
 module_identification
 
 netlist_factory
 
 netlist_parser_manager
 
 netlist_preprocessing
 
 netlist_serializer
 
 netlist_utils
 
 netlist_writer_manager
 
 plugin_manager
 
 result_constructor_type
 
 resynthesis
 
 ShortestPath
 
 Simplification
 
 simulation_utils
 
 SMT
 
 solve_fsm
 
 sse
 
 style
 
 utils
 
 verilator
 
 xilinx_toolbox
 
 yosys
 
 z3_utils
 

Classes

class  BooleanFunction
 
class  DataContainer
 
class  BooleanFunctionDecorator
 
class  BooleanFunctionNetDecorator
 
class  NetlistModificationDecorator
 
class  NetlistTraversalDecorator
 
class  SubgraphNetlistDecorator
 
class  Endpoint
 
class  NetlistEvent
 
class  GateEvent
 
class  NetEvent
 
class  ModuleEvent
 
class  GroupingEvent
 
class  EventHandler
 
class  Gate
 
class  PinChangedEvent
 
class  PinChangedEventScope
 
class  PinChangedBulkScope
 
class  GateLibrary
 
class  GateLibraryParser
 
class  GateLibraryWriter
 
class  GateType
 
class  FFComponent
 
class  GateTypeComponent
 
class  InitComponent
 
class  LatchComponent
 
class  LUTComponent
 
class  MACComponent
 
class  RAMComponent
 
class  RAMPortComponent
 
class  StateComponent
 
class  Grouping
 
class  Module
 
class  Net
 
class  Netlist
 
class  NetlistInternalManager
 
class  NetlistParser
 
class  NetlistWriter
 
class  GroupingSerializer
 
class  BasePin
 
class  GatePin
 
class  ModulePin
 
class  PinGroup
 
class  ProjectManager
 
class  ProjectSerializer
 
class  AbstractExtensionInterface
 
class  CliExtensionInterface
 
class  AbstractFactoryProvider
 
class  FacFactoryProvider
 
class  FacExtensionInterface
 
struct  ContextMenuContribution
 
class  GuiExtensionInterface
 
class  BasePluginInterface
 
class  UIPluginInterface
 
class  PluginParameter
 
class  RuntimeLibrary
 
class  CallbackHook
 
class  CallbackHook< R(ArgTypes...)>
 
struct  EnumStrings
 
class  Error
 
class  JsonWriteData
 
class  JsonWriteComplex
 
class  JsonWriteObject
 
class  JsonWriteArray
 
class  JsonWriteDocument
 
class  LogManager
 
class  log_gui_sink
 
class  ProgramArguments
 
class  ProgramOptions
 
class  ProjectDirectory
 
class  Result
 
struct  Token
 
class  TokenStream
 
class  PyBasePluginInterface
 
class  BitorderPropagationPlugin
 Plugin interface for the BitorderPropagationPlugin. More...
 
class  BooleanInfluencePlugin
 Plugin interface for the Boolean influence plugin. More...
 
class  CliExtensionDataflow
 
class  GuiExtensionDataflow
 
class  DataflowPlugin
 Plugin interface for the dataflow analysis plugin (DANA). More...
 
class  DotGraphicsView
 
class  DotViewer
 
class  DotViewerCallFromThread
 
class  DotViewerFactory
 
class  GuiExtensionDotViewer
 
class  ClockTreeExtractorInteraction
 
class  ClockTreeExtractorInteractionRegistration
 
class  DataflowInteraction
 
class  DataflowInteractionRegistration
 
class  SolveFsmInteraction
 
class  SolveFsmInteractionRegistration
 
class  DotViewerPlugin
 Plugin interface for the DotViewerPlugin. More...
 
class  GenlibWriter
 
class  GenlibWriterPlugin
 
class  GexfWriter
 
class  GexfWriterExtension
 
class  GexfWriterPlugin
 
class  GraphAlgorithmPlugin
 Plugin interface for graph algorithms. More...
 
class  Action
 Provides an interface for triggerable functionality that can be inserted into widgets and also connected to shortcuts. More...
 
class  BaseTreeItem
 (Future) Base class for all tree models related to the details widget. More...
 
class  RootTreeItem
 
class  BaseTreeModel
 The BaseTreeModel implements generic standard functions of a tree model. More...
 
struct  ChannelEntry
 The ChannelEntry struct is used by the ChannelItem class to store a single entry. More...
 
class  ChannelItem
 This class represents a channel in the channel model. It primarily holds the channel name and its entries. More...
 
class  ChannelModel
 Table model for log channels. More...
 
class  ChannelSelector
 A combobox for selecting a logger channel. More...
 
class  CodeEditor
 A plain text edit widget that is intended for editing code. More...
 
class  CodeEditorMinimap
 A minimap that supports an easier navigation in larger files. More...
 
class  CodeEditorScrollbar
 Represents the scrollbar of the CodeEditor. More...
 
class  LineNumberArea
 Shows line numbers next to a CodeEditor. More...
 
class  MinimapScrollbar
 The scrollbar of the CodeEditorMinimap. More...
 
class  PythonQssAdapter
 QSS Adapter to provide the color configurations used by the PythonSyntaxHighlighter. More...
 
class  PythonSyntaxHighlighter
 A syntax highlighter that fits for python code. More...
 
class  CommentEntry
 The CommentEntry class encapsulated information related to a comment. More...
 
class  CommentManager
 
class  CommentSpeechBubble
 
class  CommentColorPicker
 
class  CommentDialog
 
class  CommentItem
 
class  CommentWidget
 
class  ContentAnchor
 An abstract class that provides the interface for specific anchors (see SplitterAnchor or TabWidget ). More...
 
class  ContentFrame
 Wraps the ContentWidget class. More...
 
class  ContentLayoutArea
 Manages the layout of all ContentWidgets. More...
 
class  ContentFactory
 
struct  ContentWidgetPlacement
 
class  ExternalContent
 
class  ExternalContentWidget
 
class  ContentManager
 Manages all ContentWidgets. More...
 
class  ContentWidget
 Abstract class for Widgets within HAL's ContentArea. More...
 
class  ContextManagerWidget
 Provides the user with an interface to manage GraphContexts. More...
 
class  ContextProxyModel
 A proxy model to filter the ContextTableModel by a given string. More...
 
class  ContextDirectory
 
class  ContextTreeItem
 
class  ContextTreeModel
 Base model for the ContextManagerWidget to manage GraphContexts. More...
 
class  ContentDragRelay
 This relay provides the timing information when a DockButton is dragged. It is implemented as a singleton pattern. More...
 
class  DockBar
 Contains and handles DockButtons. More...
 
class  DockButton
 A button of in the DockerBar. More...
 
class  DockMimeData
 QMineData to store and transfer information while dragging a DockButton. More...
 
class  SplitterAnchor
 Adds specific ContentWidgets to HALs main content area. More...
 
class  TabWidget
 Adds specific ContentWidgets to HALs main content area. More...
 
class  ExpandingListButton
 One button of the ExpandingListWidget. More...
 
class  ExpandingListItem
 Wrapper for ExpandingListButtons. More...
 
class  ExpandingListGroup
 A helper class to group related list items (buttons). More...
 
class  ExpandingListWidget
 A selection menu with a hierarchic structure. More...
 
class  ExportProjectDialog
 
class  ExportRegisteredFormat
 Utility class to export (save) different hal files. More...
 
class  FileSelectWidget
 
class  ImportProjectDialog
 
class  FileManager
 Stores information about the currently opened netlist. More...
 
class  ImportNetlistDialog
 
class  NewProjectDialog
 
class  ProjectDirDialogStatus
 
class  ProjectDirDialog
 
class  ProjectJson
 
class  FileModifiedBar
 A dialog in form of a bar to let the user decide how to handle file changes outside of HAL. More...
 
class  FileStatusManager
 Holds information about the state (e.g. saved/unsaved) of all loaded files (i.e. .hal or .python files). More...
 
class  LabeledFrame
 A QFrame with a label. More...
 
class  GatelibraryContentWidget
 
class  GatelibraryComponentFrame
 
class  GatelibraryFrameFF
 
class  GatelibraryFrameInit
 
class  GateLibraryFrameLatch
 
class  GatelibraryFrameLut
 
class  GateLibraryFrameRAM
 
class  GateLibraryFrameRAMPort
 
class  GatelibraryFrameState
 
class  GatelibraryGraphicsView
 
class  GateLibraryLabel
 
class  GateLibraryManager
 
class  BooleanFunctionEdit
 
class  BoolWizardPage
 
class  FlipFlopWizardPage
 
class  ListPropertyModel
 
class  ListPropertyProxy
 
class  GeneralInfoWizardPage
 
class  InitWizardPage
 
class  LatchWizardPage
 
class  LUTWizardPage
 
class  PinsWizardPage
 
class  RAMPortWizardPage
 
class  RAMWizardPage
 
class  StateWizardPage
 
class  GatelibraryProxyModel
 Helper model to make filtering available. More...
 
class  GateLibrarySelectionEntry
 
class  GateLibrarySelectionTable
 
class  GateLibrarySelection
 
class  GatelibraryFrameGeneral
 
class  GatelibraryFrameBoolean
 
class  GateLibraryTabGeneral
 
class  GateLibraryTabInterface
 
class  PinTreeView
 
class  GateLibraryTabPin
 
class  GatelibraryLutInit
 
class  GateLibraryTabTruthTable
 
class  GatelibraryTableModel
 A model to display loaded gatelibraries. More...
 
class  GatelibraryTableView
 
class  GateLibraryWizard
 
class  GraphTabWidget
 A ContentWidget that holds all GraphWidget objects (GraphView) as tabs of a QTabWidget. More...
 
class  GraphContext
 Logical container for modules, gates, and nets. More...
 
class  DragController
 
class  GraphContextManager
 User interface to manage all GraphContexts. More...
 
class  GraphContextSerializer
 
class  GraphGraphicsViewNeighborSelector
 
class  GraphGraphicsView
 A view to display the rendered graph (needs a GraphicsScene). More...
 
class  GraphNavigationTableWidget
 A widget used to select destinations when traversing through the graph. More...
 
class  GraphNavigationTreeWidget
 
class  GraphNavigationWidget
 
class  GraphWidget
 Wraps a GraphContext and a GraphGraphicsView. More...
 
class  GraphicsQssAdapter
 Connects the stylesheet properties with the code. More...
 
class  GraphicsScene
 Container for a GraphGraphicsView containing gates, nets, and modules. More...
 
class  GraphicsItem
 Superclass for all graphic items used ins the GraphicsScene. It contains information about the underlying objects that are represented, i.e. the type and the id. More...
 
class  ArrowSeparatedNet
 Used to display all nets which destinations are not in the current view. More...
 
class  CircleSeparatedNet
 Used to display all nets which destinations are not in the current view. More...
 
class  GraphicsNet
 The basic net class all other nets inherit from. More...
 
class  LabeledSeparatedNet
 Nets whose output and input can be labeled (e.g. from GND/VCC) More...
 
class  SeparatedGraphicsNet
 Abstract base class for separated nets (e.g. ArrowSeparatedNet) More...
 
class  StandardArrowNet
 A standard net that has parts of a separated net. More...
 
class  StandardGraphicsNet
 The most basic net to display the standard nets. More...
 
class  GraphicsGate
 Abstract base class for gates. More...
 
class  StandardGraphicsGate
 The standard gate to visualize netlist gates. More...
 
class  GraphicsNode
 Abstract base class for nodes (e.g. gates, modules) More...
 
class  GraphicsModule
 Abstract base class for modules. More...
 
class  StandardGraphicsModule
 The standard module to visualize netlist modules. More...
 
class  NodeDragShadow
 An item that is drawn when a node is dragged through the scene. More...
 
class  LayoutLockerManager
 
class  LayoutLocker
 
class  CoordinateFromData
 Utility class that extracts (if possible) x and y coordinates contained in the netlist. More...
 
class  CoordinateFromDataMap
 Utility class that stores the nodes that contained existing x and y coordinates. More...
 
class  GraphLayouter
 Base class for all specific layouters. More...
 
class  DrawNetThread
 
class  JunctionThread
 
class  LaneIndex
 
class  NetLayoutJunctionRange
 
class  NetLayoutJunctionWire
 
class  NetLayoutJunctionEntries
 
class  NetLayoutJunctionMultiPin
 
class  NetLayoutJunctionNet
 Single net to be routed through the junction. More...
 
class  NetLayoutJunctionOccupied
 
class  NetLayoutJunctionOccupiedHash
 
class  NetLayoutJunction
 
class  NetLayoutJunctionHash
 
class  NetLayoutDirection
 
class  NetLayoutPoint
 
class  NetLayoutWire
 
class  NetLayoutConnection
 
class  NetLayoutMetric
 
class  NetLayoutConnectionFactory
 
class  NetLayoutConnectionMetric
 
class  NodeBox
 The NodeBox class represents a node placed at a grid position within a hal view. More...
 
class  NodeBoxes
 The NodeBoxes class owns all NodeBox'es from hal view. More...
 
class  PhysicalGraphLayouter
 A specific implementation of a layouter. More...
 
class  PositionGenerator
 
class  StandardGraphLayouter
 The standard layouter used to layout netlists. More...
 
class  WaitToBeSeatedEntry
 
class  WaitToBeSeatedList
 
class  AbstractBusyIndicator
 
class  ProgressBar
 
class  BusyAnimation
 
class  BusyIndicator
 
class  GraphShader
 Base class to store and update visual information about the graph. More...
 
class  ModuleShader
 Specifically stores/updates visual information about a module and its items. More...
 
class  ShadowEffect
 Creates a shadow effect around QObjects. More...
 
class  GroupingColorDelegate
 Displays a colored box for the GroupingManagerWidget. More...
 
class  GroupingColorSerializer
 
class  GroupingManagerWidget
 User interface for Groupings. More...
 
class  GroupingProxyModel
 Helper model to make filtering available. More...
 
class  GroupingTableEntry
 An entry within a GroupingTableModel. More...
 
class  GroupingTableModel
 Table that holds information about all groupings. More...
 
class  GroupingTableHistory
 
class  GroupingTableView
 
class  GroupingDialog
 
class  GuiApi
 Interface to interact with the gui itself. More...
 
class  Node
 The Node class object represents a module or a gate. More...
 
class  GridPlacement
 
class  PlacementHint
 The PlacementHint class object provides hints for the layouter how new box objects are placed on a view. In standard mode placement is done using the most compact squere-like arrangement. Alternatively new box objects can be placed to the left or right to a node which serves as 'origin'. More...
 
class  PlacementEntry
 Container class to store a PlacementHint togerther with a set of modules and gates. More...
 
class  CommonSuccessorPredecessorGateQueue
 
class  CommonSuccessorPredecessor
 
class  SpecialLogContentManager
 Logs the python editor and gui screenshots. More...
 
class  ComboboxDialog
 
class  InputDialog
 Generic input dialog for user input. More...
 
class  PingroupSelectorDialog
 
class  KeybindEdit
 A widget to set or configure key shortcuts. More...
 
class  LabelButton
 Adds button functionality to a QLabel. More...
 
class  LoggerMarshall
 Appends log messages to the corresponding LoggerWidget. More...
 
class  LoggerQssAdapter
 Connects the stylesheet properties to the log designs. More...
 
struct  LoggerSettings
 
class  LoggerWidget
 Displays the logs in the gui. More...
 
class  AboutDialog
 A dialog that displays the Qt version and our open source license. More...
 
class  ColorSelection
 
class  FileActions
 
class  KeyValueTable
 
class  MainWindow
 The top level widget. More...
 
class  PluginParameterFileDialog
 
class  PluginParameterNodeDialog
 
class  PluginParameterDialog
 
class  ModuleContextMenu
 
class  GateDialog
 The GateDialog class opens a popup window for module selection. More...
 
class  GateSelectEntry
 The GateSelectEntry class comprises a single entry of the module selection table. More...
 
class  GateSelectModel
 The GateSelectModel class is the source model for module selection. More...
 
class  GateSelectProxy
 The GateSelectProxy class allows sorting and filtering of module tables. More...
 
class  GateSelectReceiver
 
class  GateSelectPicker
 The GateSelectPicker class instance gets spawned to pick module from graph. More...
 
class  GateSelectHistory
 The GateSelectHistory class singleton comprises a list of user selected modules. More...
 
class  GateSelectView
 The GateSelectView class is the table widget for module selection. More...
 
class  AddToModuleReceiver
 
class  ModuleDialog
 The ModuleDialog class opens a popup window for module selection. More...
 
class  ModuleSelectEntry
 The ModuleSelectEntry class comprises a single entry of the module selection table. More...
 
class  ModuleSelectExclude
 The ModuleSelectExclude class is used to determine which modules can't be selected. More...
 
class  ModuleSelectModel
 The ModuleSelectModel class is the source model for module selection. More...
 
class  ModuleSelectProxy
 The ModuleSelectProxy class allows sorting and filtering of module tables. More...
 
class  ModuleSelectReceiver
 
class  ModuleSelectPicker
 The ModuleSelectPicker class instance gets spawned to pick module from graph. More...
 
class  ModuleSelectHistory
 The ModuleSelectHistory class singleton comprises a list of user selected modules. More...
 
class  ModuleSelectView
 The ModuleSelectView class is the table widget for module selection. More...
 
class  ModuleColorManager
 
class  ModuleColorSerializer
 
class  ModuleItem
 An item in the ModuleModel. More...
 
class  ModuleModel
 A model for displaying multiple netlist elements. More...
 
class  ModuleProxyModel
 Enables filtering in the ModuleModel. More...
 
class  ModuleTreeView
 Wraps the QTreeView used for the ModuleWidget. More...
 
class  ModuleWidget
 Shows the modules of the netlist hierarchical in a tree view. More...
 
class  NetlistRelay
 Connects the hal-core events to the gui. More...
 
class  Overlay
 The Overlay overlays its parent. More...
 
class  WidgetOverlay
 Container for a QWidget that overlays another one. More...
 
class  PinDelegate
 
class  PinItem
 An item in the PinModel. More...
 
class  PinModel
 
class  PinProxyModel
 A proxy model to filter the ContextTableModel by a given string. More...
 
class  CliExtensionsGui
 
class  PluginGui
 
class  GuiPluginEntry
 
class  GuiPluginDelegate
 
class  SupportedFileFormats
 
class  GuiPluginTable
 
class  GuiPluginView
 
class  GuiPluginManager
 
class  PluginRelay
 Forwards plugin related events from the core to the gui. More...
 
class  PyCodeProvider
 
class  PythonCodeEditor
 Code editor to write python code. More...
 
class  PythonConsoleAbortThread
 
class  PythonConsole
 An interactable python console. More...
 
class  PythonConsoleHistory
 Stores the history of python commands. More...
 
class  PythonConsoleQssAdapter
 Connects the stylesheet properties to the console code. More...
 
class  PythonConsoleWidget
 Wraps the PythonConsole. More...
 
class  PythonGateSelectionReceiver
 
class  PythonModuleSelectionReceiver
 
class  PythonContext
 Interface for pybind11. More...
 
class  PythonContextSubscriber
 Interface for handling python outputs. More...
 
class  PythonSerializer
 
class  PythonEditor
 Main widget that combines all neccessary functionality to develop in python (for hal). More...
 
class  PythonEditorCodeCompletionDialog
 Dialog for python code completion. More...
 
class  PythonMutex
 
class  PythonThread
 
class  SearchProxyModel
 
class  SearchableLabel
 
class  Searchbar
 A QFrame with a QLineEdit that can be used to input a substring to search for. More...
 
class  SearchColumnDialog
 
class  SearchOptions
 
class  SearchOptionsDialog
 
class  DataTableModel
 A model to display the data of a DataContainer. More...
 
class  DataTableWidget
 A widget to display the data of a DataContainer (Module, Gate or Net) More...
 
class  DetailsFrameWidget
 
class  DetailsTabWidget
 
class  DetailsTableUtilities
 Helper class consisting of usefull details-related functions. More...
 
class  GateDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Gate details. More...
 
class  BooleanFunctionTable
 A table view that shows BooleanFunctions and clear-preset behaviors. More...
 
class  BooleanFunctionTableEntry
 An entry in the boolean function table model. More...
 
class  BooleanFunctionEntry
 A BooleanFunctionTableEntry that represents a boolean function. More...
 
class  FFComponentEntry
 A entry type that represents properties (functions and behaviors) of an FFCompont. More...
 
class  LatchComponentEntry
 An entry type that represents properties (functions or behaviors) of a LatchComponent. More...
 
class  CPBehaviorEntry
 A BooleanFunctionTableEntry that represents a clear-preset behavior. More...
 
class  StateComponentEntry
 Utility class that represents a state of the StateComponent. More...
 
class  BooleanFunctionTableModel
 A model that holds BooleanFunctions and clear-preset behaviors. More...
 
class  GateInfoTable
 
class  GatePinTree
 A widget to display the pins of a given gate. More...
 
class  GatePinsTreeItem
 
class  GatePinsTreeModel
 A model to display the pins of a gate. More...
 
class  LUTTableModel
 A model for truth-tables. More...
 
class  LUTTableWidget
 A view for truth-tables (based on the LUTTableModel) More...
 
class  GeneralTableWidget
 
class  GroupingsOfItemModel
 A TableModel to store all Groupings that contain a specified Gate, Net or Module. More...
 
class  GroupingsOfItemWidget
 A TableView to display all groupings that contain a specified Gate, Net or Module. More...
 
class  ModuleDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Module details. More...
 
class  FilterElementsProxyModel
 Enables filtering of nets or gates in the ModuleModel. More...
 
class  ModuleElementsTree
 A widget to display the specific (direct submodules, gates) items of a given module. More...
 
class  ModuleInfoTable
 
class  ModulePinsTree
 A widget to display the ports of a given module. More...
 
class  ModulePinsTreeItem
 
class  ModulePinsTreeModel
 A model to represent the ports of a module. More...
 
class  NetDetailsTabWidget
 The DetailsTabWidget that is responsible for showing Module details. More...
 
class  EndpointTableModel
 A model to display endpoint data. More...
 
class  ModuleTableModel
 A model to display module data. More...
 
class  NetEndpointTable
 
class  NetInfoTable
 
class  NetModuleTable
 
class  SelectionDetailsIconProvider
 
class  SelectionDetailsWidget
 Container for all specific details widgets. More...
 
class  SelectionTreeProxyModel
 Enables filtering of the SelectionTreeModel. More...
 
class  SelectionTreeView
 Displays the current selection. More...
 
class  SelectionRelay
 Stores and manages the gui's selection state. More...
 
class  AssignedKeybindMap
 A map to keep track of the assigned keybinds. More...
 
class  MainSettingsList
 List that contains all SettingsWidgets. More...
 
class  MainSettingsWidget
 The top-level widget that displays all settings. More...
 
class  PreviewWidget
 unused. More...
 
class  SettingsDisplay
 unused. More...
 
class  SettingsItem
 The interface for the logical part of a setting. More...
 
class  SettingsItemCheckbox
 A SettingsItem representing a Checkbox. More...
 
class  SettingsItemDropdown
 A SettingsItem that represents a dropdown menu. More...
 
class  SettingsItemKeybind
 A SettingsItem to modify keybinds. More...
 
class  SettingsItemSlider
 A SettingsItem representing a slider. More...
 
class  SettingsItemSpinbox
 A SettingsItem that represents a spinbox. More...
 
class  SettingsItemText
 A SettingsItem that represents a textfield. More...
 
class  SettingsManager
 Manages and persists the settings on the lowest level. More...
 
class  SettingsWidget
 The base class for all specific SettingsWidgets. More...
 
class  SettingsWidgetCheckbox
 A SettingsWidget representing a checkbox. More...
 
class  SettingsWidgetDropdown
 A SettingsWidget representing a dropdown menu. More...
 
class  SettingsWidgetKeybind
 A setting to configure keybinds. More...
 
class  SettingsWidgetSlider
 A SettingsWidget representing a slider. More...
 
class  SettingsWidgetSpinbox
 A SettingsWidget representing a spinbox. More...
 
class  SettingsWidgetText
 A SettingsWidget representing a textfield. More...
 
class  SeveritySelector
 
class  SpinnerWidget
 A loading wheel. More...
 
class  Splitter
 A QSplitter that can be checked if it is unused or not. More...
 
class  SvgIconEngine
 Creates Icons from svg data. More...
 
class  Toolbar
 Toolbar for all ContentFrames and ContentWidgets. More...
 
class  ActionAddBooleanFunction
 Either adds a new function or changes an exisiting function of a given gate. More...
 
class  ActionAddBooleanFunctionFactory
 The ActionAddBooleanFunctionFactory class. More...
 
class  ActionAddItemsToObject
 Adds an item to a module or grouping. More...
 
class  ActionAddItemsToObjectFactory
 UserActionFactory for ActionAddItemsToObject. More...
 
class  ActionCreateObject
 Create a new item. More...
 
class  ActionCreateObjectFactory
 UserActionFactory for ActionCreateObject. More...
 
class  ActionDeleteObject
 Deletes an object. More...
 
class  ActionDeleteObjectFactory
 UserActionFactory for ActionDeleteObject. More...
 
class  ActionFoldModule
 Folds a module. More...
 
class  ActionFoldModuleFactory
 UserActionFactory for ActionFoldModule. More...
 
class  ActionMoveItem
 Moves a node. More...
 
class  ActionMoveItemFactory
 UserActionFactory for ActionMoveItem. More...
 
class  ActionMoveNode
 Moves a node. More...
 
class  ActionMoveNodeFactory
 UserActionFactory for ActionMoveNode. More...
 
class  ActionOpenNetlistFile
 Loads a netlist. More...
 
class  ActionOpenNetlistFileFactory
 UserActionFactory for ActionOpenNetlistFile. More...
 
class  PinActionType
 
class  ActionPingroup
 Pingroup user actions. More...
 
class  ActionPingroupFactory
 UserActionFactory for ActionPingroup. More...
 
class  ActionRemoveItemsFromObject
 Removes an item from a Module or Grouping. More...
 
class  ActionRemoveItemsFromObjectFactory
 UserActionFactory for ActionRemoveItemsFromObject. More...
 
class  ActionRenameObject
 Renames an item. More...
 
class  ActionRenameObjectFactory
 UserActionFactory for ActionRenameObject. More...
 
class  ActionSetObjectColor
 Recolors the object. More...
 
class  ActionSetObjectColorFactory
 UserActionFactory for ActionSetObjectColor. More...
 
class  ActionSetObjectData
 
class  ActionSetObjectDataFactory
 The ActionSetObjectDataFactory class. More...
 
class  ActionSetObjectType
 Assigns a new type to a module. More...
 
class  ActionSetObjectTypeFactory
 UserActionFactory for ActionSetObjectType. More...
 
class  ActionSetSelectionFocus
 Set the selection and focus. More...
 
class  ActionSetSelectionFocusFactory
 UserActionFactory for ActionSetSelectionFocus. More...
 
class  ActionUnfoldModule
 Unfolds a module. More...
 
class  ActionUnfoldModuleFactory
 UserActionFactory for ActionUnfoldModule. More...
 
class  UserAction
 The UserAction class is the abstract base class for user interactions. More...
 
class  UserActionFactory
 The UserActionFactory is the abstract base class for registration. More...
 
class  UserActionCompound
 
class  UserActionCompoundFactory
 
class  UserActionManager
 Handles and manages user actions related proccesses. More...
 
class  UserActionObjectType
 The UserActionObjectType class provides the type for UserActionObject. More...
 
class  UserActionObject
 The UserActionObject class represents a single object used in UserAction. More...
 
class  EmptyStringValidator
 Checks if a given string is not empty. More...
 
class  HexadecimalValidator
 
class  StackedValidator
 Combines different validators into one. More...
 
class  UniqueStringValidator
 Checks if a given string is unique compared to other given strings. More...
 
class  Validator
 Base class for any string validator. More...
 
class  GetInTouchItem
 One item in the welcome screen's GetInTouch section. More...
 
class  GetInTouchWidget
 The welcome screen's GetInTouch section. More...
 
class  OpenFileWidget
 The welcome screen's OpenFile section. More...
 
class  RecentFileItem
 One item in the welcome screen's RecentFiles section. More...
 
class  RecentFilesWidget
 The welcome screen's RecentFiles section. More...
 
class  WelcomeScreen
 Hal's welcome screen. More...
 
class  Widget
 A QWidget customized for hal. More...
 
class  GuiExtensionPythonBase
 
class  GuiExtensionContext
 
class  GuiExtensionDemoPlugin
 
class  HawkeyePlugin
 Plugin interface for HAWKEYE. More...
 
class  HGLParser
 
class  HGLParserExtension
 
class  HGLParserPlugin
 
class  HGLWriter
 
class  HGLWriterExtension
 
class  HGLWriterPlugin
 
class  LibertyParser
 
class  LibertyParserExtension
 
class  LibertyParserPlugin
 
class  LogicEvaluatorDialog
 
class  LogicEvaluatorHexSpinbox
 
class  LogicEvaluatorCheckBox
 
class  LogicEvaluatorValue
 
class  LogicEvaluatorPingroup
 
class  SelectGateItem
 
class  SelectGateModel
 
class  LogicEvaluatorSelectGates
 
class  LogicEvaluatorTruthtableColumn
 
class  LogicEvaluatorTruthtableModel
 
class  LogicEvaluatorTruthtableSort
 
class  LogicEvaluatorTruthtable
 
class  LogicEvaluatorPlugin
 
class  GuiExtensionLogicEvaluator
 
class  GuiExtensionModuleIdentification
 GUI extension interface for the module identification plugin. More...
 
class  ModuleIdentificationPlugin
 Plugin for identifying functional modules within a netlist. More...
 
class  NetlistPreprocessingPlugin
 Plugin interface for netlist preprocessing. More...
 
class  CliExtensionsPerfTest
 
class  PerfTestPlugin
 
class  CliExtensionPythonShell
 
class  PluginPythonShell
 
class  ResynthesisPlugin
 Plugin interface for the netlist resynthesis plugin. More...
 
class  SequentialSymbolicExecutionPlugin
 Plugin interface for HAWKEYE. More...
 
class  NetlistSimulator
 
class  NetlistSimulatorFactory
 
class  NetlistSimulatorPlugin
 
class  Simulation
 
class  DummyEngine
 
class  DummyEngineFactory
 
class  NetlistSimulatorController
 
class  NetlistSimulatorControllerMap
 
class  SimulatorSerializer
 
class  GuiExtensionSimulator
 
class  NetlistSimulatorControllerPlugin
 
class  SaleaeDirectoryStoreRequest
 The SaleaeDirectoryStoreRequest class is useful to bundle requests for updating SALEAE directory. Many operations such as renaming waveform, creating groups, assigning waveform to groups require update of SALEAE directory. To avoid multiple write_json() calls during the same operation it is recommended to create an instance of SaleaeDirectoryStoreRequest rather than calling write_json() directly. When leaving the scope the destructor of the last instance will perform the write operation. More...
 
class  SaleaeDirectoryFileIndex
 The SaleaeDirectoryFileIndex class represents a single SALEAE data file. The class comprises the index and header information from binary data file. More...
 
class  SaleaeDirectoryNetEntry
 The SaleaeDirectoryNetEntry class represents a regular waveform for a single simulated net. There is the possibility that no simulation data is available for the net (yet), so the number of associated binary files might be zero. The design allows to split the data into several files. This option however is currently not used. The ID must match the ID of the simulated net. The waveform name can be altered by user using the rename() method. More...
 
class  SaleaeDirectoryComposedEntry
 The SaleaeDirectoryComposedEntry class represents a composed waveform. There are currently three types of composed waveforms: net groups, boolean combinations and trigger time sets which are all calculated from a set of regular waveform. Additional data like data or filter are dependend of the used type. More...
 
class  SaleaeDirectory
 The SaleaeDirectory class provides the API for the SALEAE directory file. The SALEAE directory file with the name "saleae.json" provides the links between waveform data stored in binary SALEAE files and nets from simulated netlist. Additionally composed data like groups, boolean waveforms, or trigger time sets can be persisted in directory file. The file format is JSON. More...
 
class  SaleaeStatus
 
class  SaleaeHeader
 
class  SaleaeDataBuffer
 
class  SaleaeDataTuple
 
class  SaleaeInputFile
 
class  SaleaeOutputFile
 
class  SaleaeParser
 The SaleaeParser class is an engine which allows to parse any number of SALEAE files into a sequence of events ordered by time. The SaleaeParser is used in the following way: More...
 
class  SaleaeWriter
 The SaleaeWriter class is a helper class which provides utility methods when importing data to SALEAE database. The SaleaeWriter class is used for importing VCD, CSD, or external SALEAE files. More...
 
class  SimulationEngine
 
class  SimulationEngineEventDriven
 
class  SimulationEngineScripted
 
class  SimulationEngineFactory
 
class  SimulationEngineFactories
 
class  SimulationInputNetEvent
 
class  SimulationInput
 
class  SimulationLogReceiver
 
class  SimulationProcessLog
 
class  SimulationProcess
 
class  SimulationSettings
 
class  SimulationThread
 
class  VcdSerializerElement
 
class  VcdSerializer
 
class  WaveDataTimeframe
 
class  WaveData
 
class  WaveDataClock
 
class  WaveDataList
 
class  WaveDataGroupIndex
 
class  WaveDataBoolean
 
class  WaveDataTrigger
 
class  WaveDataGroup
 
class  WaveDataProvider
 
class  WaveDataProviderMap
 
class  WaveDataProviderFile
 
class  WaveDataProviderClock
 
class  WaveDataProviderGroup
 
class  WaveDataProviderBoolean
 
class  WaveDataProviderTrigger
 
struct  WaveEvent
 
class  WaveGroupValue
 
class  VerilatorSimulatorPlugin
 
class  BooleanDialog
 
class  ClockSetDialog
 
class  GateSelectionDialog
 
class  WaveformViewerPlugin
 
class  SimulationSettingColorTab
 
class  SimulationSettingPropertiesTab
 
class  SimulationSettingGlobalTab
 
class  SimulationSettingDialog
 
class  TriggerDialog
 
class  WaveCursor
 
class  WaveEditTable
 
class  WaveDeleteDelegate
 
class  WaveEditDialog
 
class  TimeInterval
 
class  WaveFormPainted
 
class  WaveFormPrimitive
 
class  WaveFormPrimitiveHline
 
class  WaveFormPrimitiveTransition
 
class  WaveFormPrimitiveTrigger
 
class  WaveFormPrimitiveUndefined
 
class  WaveFormPrimitiveFilled
 
class  WaveFormPrimitiveValue
 
class  WaveGraphicsCanvas
 
class  WaveItemIndex
 
class  WaveItem
 
class  WaveItemHash
 
class  WaveLoaderThread
 
class  WaveLoaderBackbone
 
class  WaveRenderEngine
 
class  WaveScrollbar
 
class  WaveSelectionEntry
 
class  WaveSelectionTable
 
class  WaveSelectionDialog
 
class  WaveLogicTimescale
 
class  WaveTimescale
 
class  WaveTransform
 
class  WaveZoomShift
 
class  WaveDataRoot
 
class  WaveValueThread
 
class  WaveTreeModel
 
class  WaveValueDelegate
 
class  WaveTreeView
 
class  WaveWidget
 
class  WavedataTableEditor
 
class  WaveformViewerFactory
 
class  WaveformViewer
 
class  Wizard
 
class  PageSelectGates
 
class  PageClock
 
class  PageEngine
 
class  PageEngineProperties
 
class  PageInputData
 
class  SimulationProcessOutput
 
class  PageRunSimulation
 
class  PageLoadResults
 
class  SolveFsmPlugin
 Plugin interface for the solve FSM plugin. More...
 
class  VerilogParserExtension
 
class  VerilogParserPlugin
 
class  VerilogParser
 
class  VerilogWriterExtension
 
class  VerilogWriterPlugin
 
class  VerilogWriter
 
class  VHDLParserExtension
 
class  VHDLParserPlugin
 
class  VHDLParser
 
class  XilinxToolboxPlugin
 Plugin interface for the Xilinx toolbox. More...
 
class  Z3UtilsPlugin
 

Typedefs

typedef std::error_code error_code
 
using instantiate_plugin_function = std::unique_ptr< BasePluginInterface >(*)()
 
using lib_fn_ptr_t = void(*)()
 
using handle_ptr_t = void *
 
template<class T >
using RawPtrWrapper = std::unique_ptr< T, py::nodelete >
 

Enumerations

enum class  AsyncSetResetBehavior {
  L , H , N , T ,
  X , undef
}
 
enum class  GateTypeProperty {
  combinational , sequential , tristate , power ,
  ground , ff , latch , ram ,
  fifo , shift_register , io , dsp ,
  pll , oscillator , scan , delay ,
  c_buffer , c_inverter , c_and , c_nand ,
  c_or , c_nor , c_xor , c_xnor ,
  c_aoi , c_oai , c_mux , c_carry ,
  c_half_adder , c_full_adder , c_lut
}
 
enum class  PinDirection {
  none , input , output , inout ,
  internal
}
 
enum class  PinEvent {
  unknown , GroupCreate , GroupRename , GroupTypeChange ,
  GroupDirChange , GroupReorder , PinCreate , PinAssignToGroup ,
  PinRename , PinTypeChange , PinDirChange , PinReorder ,
  PinDelete , GroupDelete , PinsReload
}
 
enum class  PinType {
  none , power , ground , lut ,
  state , neg_state , clock , enable ,
  set , reset , data , address ,
  io_pad , select , carry , sum ,
  status , error , error_detection , done ,
  control
}
 
enum class  button_orientation { horizontal = 0 , vertical_up = 1 , vertical_down = 2 }
 
enum class  ItemType { None , Module , Gate , Net }
 The ItemType enum provides the enum type to classify graphic items into Modules, Gates or Nets. The ItemType None indicates that the ItemType has not been initialized or that a function could not determine the ItemType. More...
 

Functions

bool pin_event_order (const PinChangedEvent &a, const PinChangedEvent &b)
 
std::unique_ptr< BasePluginInterfacecreate_plugin_instance ()
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::string enum_to_string (T e)
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
enum_from_string (const std::string &str)
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
enum_from_string (const std::string &str, const T default_val) noexcept
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
bool is_valid_enum (const std::string &str) noexcept
 
template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::ostream & operator<< (std::ostream &os, T e)
 
std::ostream & operator<< (std::ostream &os, BooleanFunction::Value v)
 
std::ostream & operator<< (std::ostream &os, const BooleanFunction &f)
 
void initialize ()
 
std::ostream & operator<< (std::ostream &os, const GateType &gate_type)
 
 PYBIND11_PLUGIN (hal_py)
 
 PYBIND11_PLUGIN (bitorder_propagation)
 
 PYBIND11_PLUGIN (boolean_influence)
 
 PYBIND11_PLUGIN (dataflow)
 
QGVInteraction * constructClockTreeExtractorInteraction (QGVScene *parent)
 
QGVInteraction * constructDataflowInteraction (QGVScene *parent)
 
QGVInteraction * constructSolveFsmInteraction (QGVScene *parent)
 
 PYBIND11_PLUGIN (dot_viewer)
 
 PYBIND11_PLUGIN (genlib_writer)
 
 PYBIND11_PLUGIN (graph_algorithm)
 
uint qHash (const LaneIndex &ri)
 
uint qHash (const hal::NetLayoutWire &w)
 
uint qHash (const hal::NetLayoutPoint &p)
 
bool compareWaitToBeSeated (const WaitToBeSeatedEntry *a, const WaitToBeSeatedEntry *b)
 
uint qHash (const Node &n)
 
void dumpPingroups (Module *m=nullptr)
 
uint qHash (PinEvent pev)
 
QColor toQColor (utils::Color c)
 
void runMain (const QString fileName, const QList< QString > plugins)
 
void myMessageOutput (QtMsgType type, const QMessageLogContext &context, const QString &msg)
 
 PYBIND11_PLUGIN (hal_gui)
 
 PYBIND11_PLUGIN (gui_extension_demo)
 
 PYBIND11_PLUGIN (hawkeye)
 
 PYBIND11_PLUGIN (module_identification)
 
 PYBIND11_PLUGIN (netlist_preprocessing)
 
 PYBIND11_PLUGIN (resynthesis)
 
 PYBIND11_PLUGIN (sequential_symbolic_execution)
 
 PYBIND11_PLUGIN (netlist_simulator)
 
uint qHash (const WaveDataGroupIndex &wdgi)
 
 PYBIND11_PLUGIN (netlist_simulator_controller)
 
 PYBIND11_PLUGIN (verilator)
 
uint qHash (const WaveItemIndex &wii)
 
uint qHash (const WaveSelectionEntry &wse)
 
 PYBIND11_PLUGIN (solve_fsm)
 
 PYBIND11_PLUGIN (xilinx_toolbox)
 
 PYBIND11_PLUGIN (z3_utils)
 
void data_container_init (py::module &m)
 
void core_utils_init (py::module &m)
 
void gate_type_init (py::module &m)
 
void gate_type_components_init (py::module &m)
 
void gate_type_lut_init (py::module &m)
 
void gate_type_sequential_init (py::module &m)
 
void gate_library_init (py::module &m)
 
void gate_library_manager_init (py::module &m)
 
void endpoint_init (py::module &m)
 
void netlist_init (py::module &m)
 
void project_manager_init (py::module &m)
 
void netlist_serializer_init (py::module &m)
 
void netlist_utils_init (py::module &m)
 
void base_pin_init (py::module &m)
 
void gate_pin_init (py::module &m)
 
void gate_pin_group_init (py::module &m)
 
void module_pin_init (py::module &m)
 
void module_pin_group_init (py::module &m)
 
void gate_init (py::module &m)
 
void net_init (py::module &m)
 
void module_init (py::module &m)
 
void grouping_init (py::module &m)
 
void netlist_factory_init (py::module &m)
 
void netlist_writer_manager_init (py::module &m)
 
void program_options_init (py::module &m)
 
void plugin_manager_init (py::module &m)
 
void plugin_interfaces_init (py::module &m)
 
void boolean_function_init (py::module &m)
 
void smt_init (py::module &m)
 
void boolean_function_net_decorator_init (py::module &m)
 
void subgraph_netlist_decorator_init (py::module &m)
 
void boolean_function_decorator_init (py::module &m)
 
void netlist_modification_decorator_init (py::module &m)
 
void netlist_traversal_decorator_init (py::module &m)
 
void log_init (py::module &m)
 

Variables

const char * MSG_PROJECT_ALREADY_OPEN = "You are already working on a HAL project. Close current project first."
 
QSettingsmGSettings = nullptr
 
const char * sOpenMethodsPersist [] = {"Undefined", "CreateNew", "ImportFile", "OpenProject", nullptr}
 
const char * LOGIC_EVALUATOR_GET = "logic_evaluator_get"
 
const char * LOGIC_EVALUATOR_SET = "logic_evaluator_set"
 
const char * LOGIC_EVALUATOR_CALC = "logic_evaluator_calc"
 
const char * COMPILER = "gcc"
 
const int maxErrorMessages = 3
 
GUI Globals

Interface to access the globals of the gui defined in src/plugin_gui.cpp

NetlistgNetlist = nullptr
 
NetlistRelaygNetlistRelay = nullptr
 
QSettingsgGuiState = nullptr
 
ContentManagergContentManager = nullptr
 
std::shared_ptr< NetlistgNetlistOwner = nullptr
 
PluginRelaygPluginRelay = nullptr
 
SelectionRelaygSelectionRelay = nullptr
 
FileStatusManagergFileStatusManager = nullptr
 
GraphContextManagergGraphContextManager = nullptr
 
PythonContextgPythonContext = nullptr
 
GuiApigGuiApi = nullptr
 
CommentManagergCommentManager = nullptr
 

Typedef Documentation

◆ error_code

typedef std::error_code hal::error_code

Definition at line 46 of file defines.h.

◆ handle_ptr_t

using hal::handle_ptr_t = typedef void*

Definition at line 42 of file runtime_library.h.

◆ instantiate_plugin_function

using hal::instantiate_plugin_function = typedef std::unique_ptr<BasePluginInterface> (*)()

Definition at line 158 of file plugin_interface_base.h.

◆ lib_fn_ptr_t

using hal::lib_fn_ptr_t = typedef void (*)()

Definition at line 41 of file runtime_library.h.

Enumeration Type Documentation

◆ AsyncSetResetBehavior

Defines the behavior of the gate type in case both asynchronous set and reset are active at the same time.

Enumerator

Set the internal state to 0.

Set the internal state to 1.

Do not change the internal state.

Toggle, i.e., invert the internal state.

Set the internal state to X.

undef 

Invalid behavior, used by default.

Definition at line 35 of file async_set_reset_behavior.h.

◆ GateTypeProperty

enum hal::GateTypeProperty
strong

A set of available properties for a gate type.

Enumerator
combinational 

Combinational gate type.

sequential 

Sequential gate type.

tristate 

Tristate gate type.

power 

Power gate type.

ground 

Ground gate type.

ff 

Flip-flop gate type.

latch 

Latch gate type.

ram 

RAM gate type.

fifo 

FIFO gate type.

shift_register 

Shift register gate type.

io 

IO gate type.

dsp 

DSP gate type.

pll 

PLL gate type.

oscillator 

Oscillator gate type.

scan 

Scan gate type.

delay 

Delay gate type.

c_buffer 

Buffer gate type.

c_inverter 

Inverter gate type.

c_and 

AND gate type.

c_nand 

NAND gate type.

c_or 

OR gate type.

c_nor 

NOR gate type.

c_xor 

XOR gate type.

c_xnor 

XNOR gate type.

c_aoi 

AOI gate type.

c_oai 

OAI gate type.

c_mux 

MUX gate type.

c_carry 

Carry gate type.

c_half_adder 

Half adder gate type.

c_full_adder 

Full adder gate type.

c_lut 

LUT gate type.

Definition at line 33 of file gate_type_property.h.

◆ PinDirection

enum hal::PinDirection
strong

Defines the direction of a pin.

Enumerator
none 

Invalid pin.

input 

Input pin.

output 

Output pin.

inout 

Inout pin.

internal 

Internal pin.

Definition at line 35 of file pin_direction.h.

◆ PinEvent

enum hal::PinEvent
strong

Spezifies the pin_changed event type

The order of events in enum class defines the order in which events are handled.

Enumerator
unknown 
GroupCreate 
GroupRename 

new pin group created

GroupTypeChange 

pin group renamed

GroupDirChange 

changed PinType attribute of group (like data)

GroupReorder 

changed PinDirection attribute of group (like input)

PinCreate 

moved group to a new position within containing module

PinAssignToGroup 

new pin created

PinRename 

pin assigned to new group

PinTypeChange 

pin renamed

PinDirChange 

changed PinType attribute of pin (like data)

PinReorder 

changed PinDirection attribute of pin (like input)

PinDelete 

moved pin to a new position within containing group

GroupDelete 

pin deleted

PinsReload 

group deleted

all pins and pin groups of the module changed, re-read them from scratch

Definition at line 41 of file pin_event.h.

◆ PinType

enum hal::PinType
strong

Defines the type of a pin.

Enumerator
none 

Default pin.

power 

Power pin.

ground 

Ground pin.

lut 

Pin that generates output from LUT initialization string.

state 

Pin that generates output from internal state.

neg_state 

Pin that generates output from negated internal state.

clock 

Clock pin.

enable 

Enable pin.

set 

Set/preset pin.

reset 

Reset/clear pin.

data 

Data pin.

address 

Address pin.

io_pad 

IO pad pin.

select 

Select pin.

carry 

Carry pin.

sum 

Sum pin.

status 

Status pin.

error 

Error pin.

error_detection 

Error detection pin.

done 

Done pin.

control 

Control pin.

Definition at line 35 of file pin_type.h.

Function Documentation

◆ compareWaitToBeSeated()

bool hal::compareWaitToBeSeated ( const WaitToBeSeatedEntry a,
const WaitToBeSeatedEntry b 
)

◆ constructClockTreeExtractorInteraction()

QGVInteraction * hal::constructClockTreeExtractorInteraction ( QGVScene *  parent)

Create the clock tree extractor interaction for the given scene.

Parameters
[in]parent- The scene that holds the displayed graph.
Returns
The created interaction.

Definition at line 13 of file clock_tree_extractor_interaction.cpp.

Referenced by hal::ClockTreeExtractorInteractionRegistration::ClockTreeExtractorInteractionRegistration().

◆ constructDataflowInteraction()

QGVInteraction * hal::constructDataflowInteraction ( QGVScene *  parent)

Create the dataflow interaction for the given scene.

Parameters
[in]parent- The scene that holds the displayed graph.
Returns
The created interaction.

Definition at line 13 of file dataflow_interaction.cpp.

Referenced by hal::DataflowInteractionRegistration::DataflowInteractionRegistration().

◆ constructSolveFsmInteraction()

QGVInteraction * hal::constructSolveFsmInteraction ( QGVScene *  parent)

Create the FSM solver interaction for the given scene.

Parameters
[in]parent- The scene that holds the displayed graph.
Returns
The created interaction.

Definition at line 16 of file solve_fsm_interaction.cpp.

Referenced by hal::SolveFsmInteractionRegistration::SolveFsmInteractionRegistration().

◆ create_plugin_instance()

std::unique_ptr< BasePluginInterface > hal::create_plugin_instance ( )

Definition at line 10 of file plugin_bitorder_propagation.cpp.

◆ dumpPingroups()

◆ enum_from_string() [1/2]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
T hal::enum_from_string ( const std::string &  str)

Translates a string into an enum value if possible. Throws an exception if no matching enum value is found.

Parameters
[in]str- The string.
Returns
The enum value.

Definition at line 73 of file enums.h.

References T.

◆ enum_from_string() [2/2]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
T hal::enum_from_string ( const std::string &  str,
const T  default_val 
)
noexcept

Translates a string into an enum value if possible. Defaults to the given default value if no matching enum value is found.

Parameters
[in]str- The string.
[in]default_val- The default value.
Returns
The enum value.

Definition at line 95 of file enums.h.

References T.

◆ enum_to_string()

◆ initialize()

◆ is_valid_enum()

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
bool hal::is_valid_enum ( const std::string &  str)
noexcept

Checks whether a string has a valid translation into the enum type T.

Parameters
[in]str- The string.
Returns
true if string has valid translation, false otherwise.

Definition at line 115 of file enums.h.

◆ myMessageOutput()

void hal::myMessageOutput ( QtMsgType  type,
const QMessageLogContext context,
const QString msg 
)

◆ operator<<() [1/4]

std::ostream& hal::operator<< ( std::ostream &  os,
BooleanFunction::Value  v 
)

Output stream operator that forwards to_string of a value.

Parameters
[in]os- The stream to write to.
[in]v- The value.
Returns
A reference to output stream.

Definition at line 230 of file boolean_function.cpp.

◆ operator<<() [2/4]

std::ostream& hal::operator<< ( std::ostream &  os,
const BooleanFunction f 
)

The ostream operator that forwards to_string of a boolean function.

Parameters
[in]os- the stream to write to.
[in]f- the function.
Returns
A reference to os.

Definition at line 615 of file boolean_function.cpp.

◆ operator<<() [3/4]

std::ostream& hal::operator<< ( std::ostream &  os,
const GateType gate_type 
)

Insert the gate type object to an output stream.

Parameters
[in]os- The output stream.
[in]gate_type- The gate type.
Returns
An output stream.

Definition at line 116 of file gate_type.cpp.

◆ operator<<() [4/4]

template<typename T , typename = typename std::enable_if<std::is_enum<T>::value, T>::type>
std::ostream& hal::operator<< ( std::ostream &  os,
e 
)

Inserts the string representation of an enum value into an output stream.

Parameters
[in]os- The output stream.
[in]e- The enum value.
Returns
Reference to the provided stream.

Definition at line 136 of file enums.h.

References enum_to_string().

◆ pin_event_order()

bool hal::pin_event_order ( const PinChangedEvent a,
const PinChangedEvent b 
)

Function used by sort algorithm to organize events according to their priority.

Parameters
a- Pin changed event A
b- Pin changed event B
Returns
true if A should be handled before B, false otherwise.

Definition at line 76 of file pin_event.cpp.

◆ PYBIND11_PLUGIN() [1/20]

◆ PYBIND11_PLUGIN() [2/20]

◆ PYBIND11_PLUGIN() [3/20]

◆ PYBIND11_PLUGIN() [4/20]

◆ PYBIND11_PLUGIN() [5/20]

hal::PYBIND11_PLUGIN ( genlib_writer  )

◆ PYBIND11_PLUGIN() [6/20]

◆ PYBIND11_PLUGIN() [7/20]

◆ PYBIND11_PLUGIN() [8/20]

hal::PYBIND11_PLUGIN ( hal_gui  )

Definition at line 30 of file python_gui_api_bindings.cpp.

References hal::GuiApiClasses::View::addTo(), hal::GuiApiClasses::View::createNewDirectory(), hal::GuiApiClasses::View::deleteDirectory(), hal::GuiApiClasses::View::deleteView(), hal::GuiApi::deselect(), hal::GuiApi::deselectAllItems(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), hal::GuiApiClasses::View::foldModule(), hal::PythonContext::forwardError(), hal::PythonContext::forwardStdout(), QString::fromStdString(), hal::GridPlacement::gatePosition(), hal::GuiApiClasses::View::getChildDirectories(), hal::GuiApiClasses::View::getChildViews(), hal::GuiApiClasses::View::getCurrentDirectory(), hal::GuiApiClasses::View::getGates(), hal::GuiApiClasses::View::getGridPlacement(), hal::GuiApiClasses::View::getId(), hal::GuiApiClasses::View::getIds(), hal::PythonThread::getInput(), hal::GuiApiClasses::View::getModules(), hal::GuiApiClasses::View::getName(), hal::GuiApi::getSelectedGateIds(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedItemIds(), hal::GuiApi::getSelectedItems(), hal::GuiApi::getSelectedModuleIds(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNetIds(), hal::GuiApi::getSelectedNets(), gPythonContext, hal::PythonThread::handleConsoleInput(), hal::PythonThread::handleError(), hal::PythonThread::handleFilenameInput(), hal::PythonThread::handleGateInput(), hal::PythonThread::handleModuleInput(), hal::PythonThread::handleNumberInput(), hal::PythonThread::handleStdout(), hal::PythonThread::handleStringInput(), hal::GuiApiClasses::View::isolateInNew(), hal::ShortestPath::module(), hal::GridPlacement::modulePosition(), hal::GuiApiClasses::View::moveDirectory(), hal::GuiApiClasses::View::moveView(), hal::PythonContext::pythonThread(), hal::GuiApiClasses::View::removeFrom(), hal::PythonContext::scheduleClear(), hal::PythonContext::scheduleReset(), hal::GuiApi::select(), hal::GuiApi::selectGate(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::GuiApiClasses::View::setCurrentDirectory(), hal::GridPlacement::setGatePosition(), hal::GuiApiClasses::View::setGridPlacement(), hal::GridPlacement::setModulePosition(), hal::GuiApiClasses::View::setName(), hal::GuiApiClasses::View::unfoldModule(), and hal::PythonThread::WaitForMenuSelection.

◆ PYBIND11_PLUGIN() [9/20]

◆ PYBIND11_PLUGIN() [10/20]

hal::PYBIND11_PLUGIN ( hawkeye  )

Definition at line 26 of file python_bindings.cpp.

References hal::hawkeye::DetectionConfiguration::CHECK_FF, hal::hawkeye::DetectionConfiguration::CHECK_NETS, hal::hawkeye::DetectionConfiguration::CHECK_PINS, hal::hawkeye::DetectionConfiguration::CHECK_SCC, hal::hawkeye::DetectionConfiguration::CHECK_TYPE, hal::hawkeye::DetectionConfiguration::components, hal::hawkeye::SBoxDatabase::compute_linear_representative(), hal::hawkeye::DetectionConfiguration::control, hal::hawkeye::detect_candidates(), hal::hawkeye::DetectionConfiguration::equivalent_types, hal::hawkeye::SBoxDatabase::from_file(), hal::hawkeye::RoundCandidate::from_register_candidate(), hal::hawkeye::RoundCandidate::get_control_inputs(), hal::HawkeyePlugin::get_dependencies(), hal::HawkeyePlugin::get_description(), hal::hawkeye::RoundCandidate::get_graph(), hal::hawkeye::RoundCandidate::get_input_ffs_of_gate(), hal::hawkeye::RegisterCandidate::get_input_reg(), hal::hawkeye::RoundCandidate::get_input_reg(), hal::hawkeye::RoundCandidate::get_longest_distance_to_gate(), hal::HawkeyePlugin::get_name(), hal::hawkeye::RegisterCandidate::get_netlist(), hal::hawkeye::RoundCandidate::get_netlist(), hal::hawkeye::RoundCandidate::get_other_inputs(), hal::hawkeye::RegisterCandidate::get_output_reg(), hal::hawkeye::RoundCandidate::get_output_reg(), hal::hawkeye::RegisterCandidate::get_size(), hal::hawkeye::RoundCandidate::get_size(), hal::hawkeye::RoundCandidate::get_state_inputs(), hal::hawkeye::RoundCandidate::get_state_logic(), hal::hawkeye::RoundCandidate::get_state_outputs(), hal::HawkeyePlugin::get_version(), hal::hawkeye::identify_sbox(), hal::hawkeye::RegisterCandidate::is_round_based(), hal::hawkeye::locate_sboxes(), log_error, hal::hawkeye::SBoxCandidate::m_candidate, hal::hawkeye::SBoxCandidate::m_component, hal::hawkeye::SBoxCandidate::m_input_gates, hal::hawkeye::SBoxCandidate::m_output_gates, hal::hawkeye::DetectionConfiguration::min_register_size, hal::ShortestPath::module(), name, hal::hawkeye::DetectionConfiguration::NONE, hal::hawkeye::SBoxDatabase::print(), and hal::hawkeye::DetectionConfiguration::timeout.

◆ PYBIND11_PLUGIN() [11/20]

hal::PYBIND11_PLUGIN ( module_identification  )

Definition at line 21 of file python_bindings.cpp.

References hal::module_identification::absolute, hal::module_identification::addition, hal::module_identification::Result::assign_base_candidates_to_iterations(), hal::module_identification::constant_multiplication, hal::module_identification::constant_multiplication_offset, hal::module_identification::counter, hal::module_identification::WordLevelOperation::ctrl_signals, hal::module_identification::equal, hal::module_identification::execute(), hal::module_identification::execute_on_gates(), hal::module_identification::Result::get_all_gates(), hal::module_identification::Result::get_all_verified_gates(), hal::module_identification::Result::get_candidate_gates(), hal::module_identification::VerifiedCandidate::get_candidate_info(), hal::module_identification::Result::get_candidates(), hal::ModuleIdentificationPlugin::get_dependencies(), hal::ModuleIdentificationPlugin::get_description(), hal::module_identification::VerifiedCandidate::get_merged_word_level_operation(), hal::module_identification::VerifiedCandidate::get_name(), hal::ModuleIdentificationPlugin::get_name(), hal::module_identification::Result::get_netlist(), hal::module_identification::Result::get_timing_stats(), hal::module_identification::Result::get_verified_candidate_gates(), hal::module_identification::Result::get_verified_candidates(), hal::ModuleIdentificationPlugin::get_version(), hal::module_identification::VerifiedCandidate::is_verified(), hal::module_identification::lattice_ice40, hal::module_identification::less_equal, hal::module_identification::less_than, log_error, hal::module_identification::Configuration::m_already_classified_candidates, hal::module_identification::VerifiedCandidate::m_base_gates, hal::module_identification::Configuration::m_blocked_base_candidates, hal::module_identification::VerifiedCandidate::m_control_signal_mappings, hal::module_identification::VerifiedCandidate::m_control_signals, hal::module_identification::VerifiedCandidate::m_gates, hal::module_identification::Configuration::m_known_registers, hal::module_identification::Configuration::m_max_control_signals, hal::module_identification::Configuration::m_max_thread_count, hal::module_identification::Configuration::m_multithreading_priority, hal::module_identification::Configuration::m_netlist, hal::module_identification::VerifiedCandidate::m_operands, hal::module_identification::VerifiedCandidate::m_output_nets, hal::module_identification::VerifiedCandidate::m_total_input_nets, hal::module_identification::VerifiedCandidate::m_total_output_nets, hal::module_identification::VerifiedCandidate::m_types, hal::module_identification::Configuration::m_types_to_check, hal::module_identification::VerifiedCandidate::m_verified, hal::module_identification::VerifiedCandidate::m_word_level_operations, hal::module_identification::memory_priority, hal::module_identification::VerifiedCandidate::merge(), hal::module_identification::mixed, hal::ShortestPath::module(), hal::module_identification::negation, hal::module_identification::none, hal::module_identification::WordLevelOperation::operands, hal::module_identification::WordLevelOperation::operation, hal::module_identification::signed_less_equal, hal::module_identification::signed_less_than, hal::module_identification::subtraction, hal::module_identification::time_priority, hal::module_identification::value_check, hal::module_identification::Configuration::with_already_classified_candidates(), hal::module_identification::Configuration::with_blocked_base_candidates(), hal::module_identification::Configuration::with_known_registers(), hal::module_identification::Configuration::with_max_control_signals(), hal::module_identification::Configuration::with_max_thread_count(), hal::module_identification::Configuration::with_multithreading_priority(), hal::module_identification::Configuration::with_types_to_check(), and hal::module_identification::xilinx_unisim.

◆ PYBIND11_PLUGIN() [12/20]

◆ PYBIND11_PLUGIN() [13/20]

◆ PYBIND11_PLUGIN() [14/20]

hal::PYBIND11_PLUGIN ( netlist_simulator_controller  )

Definition at line 20 of file python_bindings.cpp.

References hal::NetlistSimulatorController::add_boolean_accept_list_waveform(), hal::NetlistSimulatorController::add_boolean_expression_waveform(), hal::NetlistSimulatorController::add_clock_frequency(), hal::NetlistSimulatorController::add_clock_period(), hal::NetlistSimulatorController::add_gates(), hal::NetlistSimulatorController::add_trigger_time(), hal::WaveDataGroup::add_waveform(), hal::NetlistSimulatorController::add_waveform_group(), hal::WaveEvent::affected_net, hal::NetlistSimulatorController::CompleteNetlist, hal::NetlistSimulatorController::create_simulation_engine(), hal::NetlistSimulatorControllerPlugin::create_simulator_controller(), hal::NetlistSimulatorController::generate_vcd(), hal::NetlistSimulatorController::get_engine_names(), hal::WaveData::get_events(), hal::NetlistSimulatorController::get_gates(), hal::NetlistSimulatorController::get_id(), hal::NetlistSimulatorController::get_input_nets(), hal::NetlistSimulatorController::get_max_simulated_time(), hal::NetlistSimulatorController::get_name(), hal::WaveData::get_name(), hal::NetlistSimulatorControllerPlugin::get_name(), hal::NetlistSimulatorController::get_output_nets(), hal::NetlistSimulatorController::get_partial_netlist_nets(), hal::NetlistSimulatorController::get_results(), hal::SimulationEngine::get_state(), hal::NetlistSimulatorController::get_trigger_time_by_id(), hal::WaveData::get_triggered_events(), hal::WaveData::get_value_at(), hal::NetlistSimulatorControllerPlugin::get_version(), hal::NetlistSimulatorController::get_waveform_boolean_by_id(), hal::NetlistSimulatorController::get_waveform_by_net(), hal::NetlistSimulatorController::get_waveform_group_by_id(), hal::WaveDataGroup::get_waveforms(), hal::NetlistSimulatorController::get_working_directory(), hal::SimulationEngine::get_working_directory(), hal::NetlistSimulatorController::GlobalInputs, hal::WaveData::id(), hal::WaveEvent::id, hal::NetlistSimulatorController::import_csv(), hal::NetlistSimulatorController::import_saleae(), hal::NetlistSimulatorController::import_simulation(), hal::NetlistSimulatorController::import_vcd(), hal::NetlistSimulatorController::initialize(), hal::ShortestPath::module(), hal::SimulationEngine::name(), hal::WaveEvent::new_value, hal::NetlistSimulatorController::NoFilter, hal::NetlistSimulatorController::PartialNetlist, hal::WaveDataGroup::remove_waveform(), hal::NetlistSimulatorController::remove_waveform_group(), hal::NetlistSimulatorController::rename_waveform(), hal::NetlistSimulatorController::reset(), hal::NetlistSimulatorControllerPlugin::restore_simulator_controller(), hal::NetlistSimulatorController::run_simulation(), hal::SimulationEngine::set_engine_property(), hal::WaveDataTrigger::set_filter_wave(), hal::NetlistSimulatorController::set_input(), hal::NetlistSimulatorController::set_no_clock_used(), hal::NetlistSimulatorController::set_saleae_timescale(), hal::NetlistSimulatorController::set_timeframe(), hal::NetlistSimulatorController::simulate(), hal::NetlistSimulatorControllerPlugin::simulator_controller_by_id(), and hal::WaveEvent::time.

◆ PYBIND11_PLUGIN() [15/20]

◆ PYBIND11_PLUGIN() [16/20]

◆ PYBIND11_PLUGIN() [17/20]

◆ PYBIND11_PLUGIN() [18/20]

◆ PYBIND11_PLUGIN() [19/20]

◆ PYBIND11_PLUGIN() [20/20]

◆ qHash() [1/8]

uint hal::qHash ( const hal::NetLayoutPoint p)

Definition at line 21 of file net_layout_point.cpp.

References qHash().

◆ qHash() [2/8]

◆ qHash() [3/8]

uint hal::qHash ( const LaneIndex ri)

Definition at line 975 of file net_layout_junction.cpp.

Referenced by qHash().

◆ qHash() [4/8]

uint hal::qHash ( const Node n)

Definition at line 94 of file node_box.cpp.

References hal::Node::id(), hal::Node::Module, and hal::Node::type().

◆ qHash() [5/8]

uint hal::qHash ( const WaveDataGroupIndex wdgi)

Definition at line 550 of file wave_data.cpp.

◆ qHash() [6/8]

◆ qHash() [7/8]

uint hal::qHash ( const WaveSelectionEntry wse)

Definition at line 162 of file wave_selection_dialog.cpp.

References hal::WaveSelectionEntry::name(), and qHash().

◆ qHash() [8/8]

uint hal::qHash ( PinEvent  pev)

Definition at line 55 of file action_pingroup.cpp.

◆ runMain()

void hal::runMain ( const QString  fileName,
const QList< QString plugins 
)

◆ toQColor()

Variable Documentation

◆ COMPILER

const char* hal::COMPILER = "gcc"

Definition at line 32 of file logic_evaluator_dialog.cpp.

Referenced by hal::LogicEvaluatorDialog::compile().

◆ gCommentManager

CommentManager * hal::gCommentManager = nullptr

◆ gContentManager

ContentManager * hal::gContentManager = nullptr

The global ContentManager (see doc)

Definition at line 78 of file plugin_gui.cpp.

Referenced by hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addMultipleElementsSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::NetlistRelay::addToModuleDialog(), hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionUnfoldModule::exec(), hal::GateSelectPicker::GateSelectPicker(), hal::GraphLayouter::GraphLayouter(), hal::GraphicsItem::groupingColor(), hal::GroupingsOfItemModel::GroupingsOfItemModel(), hal::AddToModuleReceiver::handleModulesPicked(), hal::GraphGraphicsView::handleRemoveFromView(), hal::MainWindow::handleSaveAsTriggered(), hal::MainWindow::handleSaveTriggered(), hal::SelectionDetailsWidget::handleSelectionUpdate(), hal::GraphTabWidget::handleTabChanged(), hal::MainWindow::MainWindow(), hal::ModuleDialog::ModuleDialog(), hal::ModuleSelectPicker::ModuleSelectPicker(), hal::DotViewerPlugin::on_load(), hal::WaveformViewerPlugin::on_load(), hal::GraphContextManager::openModuleInView(), hal::StandardGraphicsGate::paint(), hal::SelectionDetailsWidget::selectionToGroupingAction(), hal::PythonSerializer::serialize(), hal::GroupingColorSerializer::serialize(), hal::PythonSerializer::serialize_control(), hal::WaveWidget::setVisualizeNetState(), hal::GateSelectPicker::terminatePicker(), hal::ModuleSelectPicker::terminatePicker(), hal::WaveWidget::WaveWidget(), and hal::GraphContext::writeToFile().

◆ gFileStatusManager

◆ gGraphContextManager

GraphContextManager * hal::gGraphContextManager = nullptr

The global GraphContextManager (see doc)

Definition at line 85 of file plugin_gui.cpp.

Referenced by hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::GuiApiClasses::View::addTo(), hal::ContextManagerWidget::ContextManagerWidget(), hal::NetlistRelay::deleteModule(), hal::GuiApiClasses::View::deleteView(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionMoveItem::exec(), hal::ActionMoveNode::exec(), hal::ActionRemoveItemsFromObject::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionUnfoldModule::exec(), hal::PluginGui::exec(), hal::GuiApiClasses::View::foldModule(), hal::GuiApiClasses::View::getChildDirectories(), hal::GuiApiClasses::View::getChildViews(), hal::GuiApiClasses::View::getCurrentDirectory(), hal::GuiApiClasses::View::getGates(), hal::GuiApiClasses::View::getGridPlacement(), hal::GuiApiClasses::View::getId(), hal::GuiApiClasses::View::getIds(), hal::GuiApiClasses::View::getModules(), hal::GuiApiClasses::View::getName(), hal::GraphicsScene::GraphicsScene(), hal::GraphTabWidget::GraphTabWidget(), hal::PythonEditor::handleActionRun(), hal::ModuleWidget::handleItemDoubleClicked(), hal::ContentManager::handleOpenDocument(), hal::PythonEditor::handleThreadFinished(), hal::GuiApiClasses::View::isolateInNew(), hal::DotGraphicsView::mouseMoveEvent(), hal::GraphGraphicsView::mouseMoveEvent(), hal::DotGraphicsView::mousePressEvent(), hal::GraphGraphicsView::mousePressEvent(), hal::GuiApiClasses::View::moveDirectory(), hal::GuiApiClasses::View::moveView(), hal::GraphContextManager::openGateInView(), hal::GraphContextManager::openModuleInView(), hal::GraphContextManager::openNetEndpointsInView(), hal::StandardGraphicsGate::paint(), hal::GuiApiClasses::View::removeFrom(), hal::LayoutLockerManager::removeLock(), hal::GraphContextSerializer::restore(), hal::GraphContextManager::restoreFromFile(), hal::GraphContextSerializer::serialize(), hal::GuiApiClasses::View::setCurrentDirectory(), hal::GuiApiClasses::View::setName(), and hal::GuiApiClasses::View::unfoldModule().

◆ gGuiApi

◆ gGuiState

QSettings * hal::gGuiState = nullptr

Is used to persist the list of recent files and the previously opened file in the 'open file' dialog

Definition at line 77 of file plugin_gui.cpp.

Referenced by hal::PluginGui::exec(), and hal::MainWindow::handleActionImportNetlist().

◆ gNetlist

Netlist * hal::gNetlist = nullptr

The netlist that is currently loaded in the GUI.

The netlist that is currently loaded. It is a pointer to the netlist owned by gNetlistOwner.

Definition at line 69 of file gui_globals.h.

Referenced by hal::PluginParameterDialog::accept(), hal::PhysicalGraphLayouter::add(), hal::WaitToBeSeatedList::add(), hal::NodeBoxes::addBox(), hal::NetlistRelay::addChildModuleDialog(), hal::ModuleModel::addGate(), hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleModel::addModule(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleModel::addNet(), hal::ModuleContextMenu::addNetSubmenu(), hal::GuiApiClasses::View::addTo(), hal::NetlistRelay::addToModuleDialog(), hal::ModuleSelectModel::appendEntries(), hal::ModuleItem::appendExistingChildIfAny(), hal::FileManager::autosave(), hal::NetlistRelay::changeElementNameDialog(), hal::NetlistRelay::changeModuleColorDialog(), hal::NetlistRelay::changeModuleTypeDialog(), hal::FileManager::closeFile(), hal::GroupingTableModel::colorForItem(), hal::CommonSuccessorPredecessor::CommonSuccessorPredecessor(), hal::NetlistRelay::debugHandleFileOpened(), hal::FileManager::deprecatedOpenFile(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), dumpPingroups(), hal::ActionAddBooleanFunction::exec(), hal::ActionAddItemsToObject::exec(), hal::ActionCreateObject::exec(), hal::ActionDeleteObject::exec(), hal::ActionFoldModule::exec(), hal::ActionPingroup::exec(), hal::ActionRemoveItemsFromObject::exec(), hal::ActionRenameObject::exec(), hal::ActionSetObjectColor::exec(), hal::ActionSetObjectData::exec(), hal::ActionSetObjectType::exec(), hal::ActionUnfoldModule::exec(), hal::ExportRegisteredFormat::exportNetlist(), hal::CoordinateFromData::fromNode(), hal::GateSelectModel::GateSelectModel(), hal::GuiApiClasses::View::getGates(), hal::SelectionDetailsIconProvider::getIcon(), hal::GraphContext::getModuleChildrenRecursively(), hal::GuiApiClasses::View::getModules(), hal::ModulePinsTreeModel::getNetFromItem(), hal::GatePinsTreeModel::getNumberOfDisplayedPins(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNets(), hal::GuiApiClasses::View::getValidObjects(), hal::GroupingTableEntry::GroupingTableEntry(), hal::GroupingTableModel::GroupingTableModel(), hal::SelectionDetailsWidget::groupingUnassignActionFactory(), hal::MainWindow::handleActionExport(), hal::MainWindow::handleActionGatelibraryManager(), hal::MainWindow::handleActionImportNetlist(), hal::MainWindow::handleActionNew(), hal::MainWindow::handleActionOpenProject(), hal::GatePinTree::handleContextMenuRequested(), hal::ModuleElementsTree::handleContextMenuRequested(), hal::ModulePinsTree::handleContextMenuRequested(), hal::NetEndpointTable::handleContextMenuRequested(), hal::NetModuleTable::handleContextMenuRequested(), hal::PythonGateSelectionReceiver::handleGatesPicked(), hal::ModuleTableModel::handleModulePortsChanged(), hal::ModuleTableModel::handleModuleRemoved(), hal::PythonModuleSelectionReceiver::handleModulesPicked(), hal::AddToModuleReceiver::handleModulesPicked(), hal::ContentManager::handleOpenDocument(), hal::GateSelectPicker::handleSelectionChanged(), hal::ModuleSelectPicker::handleSelectionChanged(), hal::GraphGraphicsView::handleShortestPathToGrouping(), hal::ModuleWidget::handleTreeViewContextMenuRequested(), hal::FileManager::importFile(), hal::GraphContext::isModuleUnfolded(), hal::GuiApiClasses::View::isolateModuleToModulePathInNewView(), hal::GraphContext::isShowingNetDestination(), hal::GraphContext::isShowingNetSource(), hal::ModuleModel::moduleAssignGate(), hal::ModuleModel::moduleAssignNets(), hal::ModuleItem::ModuleItem(), hal::ModulePinsTreeModel::ModulePinsTreeModel(), hal::ModuleWidget::ModuleWidget(), hal::GatePinTree::mouseDoubleClickEvent(), hal::SelectionRelay::navigateDown(), hal::SelectionRelay::navigateUp(), hal::FileManager::newProject(), hal::NodeBox::NodeBox(), hal::GraphContext::nodeForGate(), hal::DotViewerPlugin::on_load(), hal::WaveformViewerPlugin::on_load(), hal::GraphContextManager::openModuleInView(), hal::GraphContextManager::openNetEndpointsInView(), hal::FileManager::openProject(), hal::PluginParameterNodeDialog::PluginParameterNodeDialog(), hal::SelectionTreeView::populate(), hal::ModuleModel::populateTree(), hal::PyCodeProvider::pyCodeGateAsyncSetResetBehavior(), hal::GraphContext::readFromFile(), hal::GraphContext::refreshModule(), hal::WaveWidget::refreshNetNames(), hal::SolveFsmInteraction::registerEdge(), hal::NetlistRelay::registerNetlistCallbacks(), hal::ClockTreeExtractorInteraction::registerNode(), hal::DataflowInteraction::registerNode(), hal::GroupingManagerWidget::removeElementsFromGrouping(), hal::GroupingTableModel::removeRows(), hal::DrawNetThread::run(), hal::GateSelectionDialog::selectedGates(), hal::PageSelectGates::selectedGates(), hal::GuiApi::selectGate(), hal::SelectGateModel::SelectGateModel(), hal::ModuleSelectExclude::selectionToString(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::GateInfoTable::setGate(), hal::GatePinTree::setGate(), hal::ModuleInfoTable::setModule(), hal::ModuleElementsTree::setModule(), hal::ModulePinsTree::setModule(), hal::ModuleItem::setModuleType(), hal::ModuleTableModel::setNet(), hal::NetInfoTable::setNet(), hal::NetEndpointTable::setNet(), hal::NetModuleTable::setNet(), hal::GraphNavigationWidget::setup(), hal::WaveWidget::setVisualizeNetState(), hal::GraphContext::unfoldModule(), hal::NetlistRelay::unregisterNetlistCallbacks(), hal::ModuleShader::update(), hal::ModuleModel::updateGateName(), hal::ModuleModel::updateModuleName(), hal::ModuleModel::updateModuleType(), hal::ModuleModel::updateNetName(), and hal::GraphContext::updateNets().

◆ gNetlistOwner

std::shared_ptr< Netlist > hal::gNetlistOwner = nullptr

This shared_ptr contains and owns the netlist after a file was opened. To access the Netlist data structure with its functions, it is intended to use the raw pointer gNetlist instead.

Definition at line 79 of file plugin_gui.cpp.

Referenced by hal::FileManager::closeFile(), hal::FileManager::deprecatedOpenFile(), hal::PythonContext::initializeContext(), hal::PythonContext::initializeScript(), hal::FileManager::newProject(), hal::FileManager::openProject(), and hal::PythonContext::updateNetlist().

◆ gNetlistRelay

◆ gPluginRelay

◆ gPythonContext

◆ gSelectionRelay

SelectionRelay * hal::gSelectionRelay = nullptr

The global SelectionRelay (see doc)

Definition at line 83 of file plugin_gui.cpp.

Referenced by hal::PluginParameterDialog::accept(), hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addMultipleElementsSubmenu(), hal::ModuleContextMenu::addNetSubmenu(), hal::NetlistRelay::addToModuleDialog(), hal::ClockTreeExtractorInteraction::ClockTreeExtractorInteraction(), hal::GraphicsScene::connectAll(), hal::DataflowInteraction::DataflowInteraction(), hal::GuiApi::deselectAllItems(), hal::GuiApi::deselectGate(), hal::GuiApi::deselectModule(), hal::GuiApi::deselectNet(), hal::GraphicsScene::disconnectAll(), hal::GraphWidget::ensureSelectionVisible(), hal::ActionSetSelectionFocus::exec(), hal::PluginGui::exec(), hal::GateSelectPicker::GateSelectPicker(), hal::GuiApi::getSelectedGateIds(), hal::GuiApi::getSelectedGates(), hal::GuiApi::getSelectedModuleIds(), hal::GuiApi::getSelectedModules(), hal::GuiApi::getSelectedNetIds(), hal::GuiApi::getSelectedNets(), hal::GraphGraphicsView::GraphGraphicsView(), hal::GraphicsScene::GraphicsScene(), hal::GuiApi::GuiApi(), hal::GatePinTree::handleContextMenuRequested(), hal::ModulePinsTree::handleContextMenuRequested(), hal::GraphicsScene::handleExternSelectionChanged(), hal::GraphicsScene::handleInternSelectionChanged(), hal::AddToModuleReceiver::handleModulesPicked(), hal::GraphGraphicsView::handleRemoveFromView(), hal::GateSelectPicker::handleSelectionChanged(), hal::ModuleSelectPicker::handleSelectionChanged(), hal::ModuleWidget::handleSelectionChanged(), hal::SelectionDetailsWidget::handleSelectionUpdate(), hal::ModuleWidget::handleTreeSelectionChanged(), hal::ActionSetSelectionFocus::hasModifications(), hal::GraphWidget::keyPressEvent(), hal::ModuleSelectExclude::ModuleSelectExclude(), hal::ModuleSelectPicker::ModuleSelectPicker(), hal::ModuleWidget::ModuleWidget(), hal::StandardGraphicsGate::paint(), hal::StandardGraphicsModule::paint(), hal::SelectionTreeView::populate(), hal::GuiApi::select(), hal::GuiApi::selectGate(), hal::SelectionDetailsWidget::SelectionDetailsWidget(), hal::SelectionDetailsWidget::selectionToGroupingAction(), hal::GuiApi::selectModule(), hal::GuiApi::selectNet(), hal::DragController::set(), hal::GraphNavigationWidget::setup(), hal::SolveFsmInteraction::SolveFsmInteraction(), hal::GateSelectPicker::terminatePicker(), hal::ModuleSelectPicker::terminatePicker(), and hal::WaveformViewer::WaveformViewer().

◆ LOGIC_EVALUATOR_CALC

const char* hal::LOGIC_EVALUATOR_CALC = "logic_evaluator_calc"

Definition at line 31 of file logic_evaluator_dialog.cpp.

Referenced by hal::LogicEvaluatorDialog::compile().

◆ LOGIC_EVALUATOR_GET

const char* hal::LOGIC_EVALUATOR_GET = "logic_evaluator_get"

Definition at line 29 of file logic_evaluator_dialog.cpp.

Referenced by hal::LogicEvaluatorDialog::compile().

◆ LOGIC_EVALUATOR_SET

const char* hal::LOGIC_EVALUATOR_SET = "logic_evaluator_set"

Definition at line 30 of file logic_evaluator_dialog.cpp.

Referenced by hal::LogicEvaluatorDialog::compile().

◆ maxErrorMessages

const int hal::maxErrorMessages = 3

Definition at line 22 of file vcd_serializer.cpp.

◆ mGSettings

QSettings* hal::mGSettings = nullptr

Definition at line 76 of file plugin_gui.cpp.

Referenced by hal::PluginGui::exec().

◆ MSG_PROJECT_ALREADY_OPEN

const char* hal::MSG_PROJECT_ALREADY_OPEN = "You are already working on a HAL project. Close current project first."

◆ sOpenMethodsPersist

const char* hal::sOpenMethodsPersist[] = {"Undefined", "CreateNew", "ImportFile", "OpenProject", nullptr}