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

#include <hal_core/netlist/gate_library/enums/pin_event.h>

Collaboration diagram for hal::PinChangedBulkScope:
Collaboration graph

Public Member Functions

 PinChangedBulkScope ()
 
 ~PinChangedBulkScope ()
 

Detailed Description

By creating an instance of this class all pin events of a bulk operation get collected, no matter which module they belong to. Upon destruction of the outermost instance each affected module receives a single PinEvent::PinsReload event instead of the individual events.

Bulk operations like assigning thousands of gates to a module emit several pin events per pin, which is both expensive to deliver and useless to a listener that has to re-read the whole module anyway. Interactive, single-step pin changes are not covered by a bulk scope and keep their fine grained events.

Definition at line 192 of file pin_event.h.

Constructor & Destructor Documentation

◆ PinChangedBulkScope()

hal::PinChangedBulkScope::PinChangedBulkScope ( )

Constructor for bulk scope instance incrementing bulk scope count

Definition at line 132 of file pin_event.cpp.

◆ ~PinChangedBulkScope()

hal::PinChangedBulkScope::~PinChangedBulkScope ( )

Destructor for bulk scope instance decrementing bulk scope count. Sends the coalesced events if this was the outermost bulk scope.

Definition at line 137 of file pin_event.cpp.

References hal::Module::get_event_handler(), hal::ShortestPath::module(), hal::EventHandler::notify(), hal::ModuleEvent::pin_changed, and hal::PinsReload.


The documentation for this class was generated from the following files: