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

This file contains functions for bit-order propagation from pin groups of known bit order to pin groups of unknown bit order. More...

Include dependency graph for bitorder_propagation.h:

Go to the source code of this file.

Namespaces

 hal
 
 hal::bitorder_propagation
 

Functions

Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 > > > hal::bitorder_propagation::propagate_module_pingroup_bitorder (const std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 >> &src, const std::set< std::pair< Module *, PinGroup< ModulePin > * >> &dst, const bool enforce_continuous_bitorders=true)
 Propagate known bit-order information from the given module pin groups to module pin groups of unknown bit order. More...
 
Result< std::monostate > hal::bitorder_propagation::reorder_module_pin_groups (const std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 >> &ordered_module_pin_groups)
 Reorder and rename the pins of the pin groups according to the provided bit-order information. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 > > > hal::bitorder_propagation::propagate_bitorder (Netlist *nl, const std::pair< u32, std::string > &src, const std::pair< u32, std::string > &dst)
 Propagate known bit-order information from one module pin group to another module pin group of unknown bit order. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 > > > hal::bitorder_propagation::propagate_bitorder (const std::pair< Module *, PinGroup< ModulePin > * > &src, const std::pair< Module *, PinGroup< ModulePin > * > &dst)
 Propagate known bit-order information from one module pin group to another module pin group of unknown bit order. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 > > > hal::bitorder_propagation::propagate_bitorder (Netlist *nl, const std::vector< std::pair< u32, std::string >> &src, const std::vector< std::pair< u32, std::string >> &dst)
 Propagate known bit-order information from the given module pin groups to module pin groups of unknown bit order. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 > > > hal::bitorder_propagation::propagate_bitorder (const std::vector< std::pair< Module *, PinGroup< ModulePin > * >> &src, const std::vector< std::pair< Module *, PinGroup< ModulePin > * >> &dst)
 Propagate known bit-order information from the given module pin groups to module pin groups of unknown bit order. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, u32 > > hal::bitorder_propagation::export_bitorder_propagation_information (const std::vector< std::pair< Module *, PinGroup< ModulePin > * >> &src, const std::vector< std::pair< Module *, PinGroup< ModulePin > * >> &dst, const std::string &export_filepath)
 Export word composition, known bitorder and connectivity in .json format to solve with external tools. More...
 
Result< std::map< std::pair< Module *, PinGroup< ModulePin > * >, u32 > > hal::bitorder_propagation::export_bitorder_propagation_information (const std::map< std::pair< Module *, PinGroup< ModulePin > * >, std::map< Net *, u32 >> &src, const std::set< std::pair< Module *, PinGroup< ModulePin > * >> &dst, const std::string &export_filepath)
 Export word composition, known bitorder and connectivity in .json format to solve with external tools. More...
 

Detailed Description

This file contains functions for bit-order propagation from pin groups of known bit order to pin groups of unknown bit order.

Definition in file bitorder_propagation.h.