HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
netlist_preprocessing.cpp File Reference
Include dependency graph for netlist_preprocessing.cpp:

Go to the source code of this file.

Namespaces

 hal
 
 hal::netlist_preprocessing
 

Functions

Result< u32hal::netlist_preprocessing::remove_unused_lut_inputs (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_buffers (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_redundant_gates (Netlist *nl, const std::function< bool(const Gate *)> &filter=nullptr)
 
Result< u32hal::netlist_preprocessing::remove_redundant_loops (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_redundant_logic_trees (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_gates (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_nets (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_unconnected_looped (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::manual_mux_optimizations (Netlist *nl, GateLibrary *mux_inv_gl)
 
Result< u32hal::netlist_preprocessing::propagate_constants (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::remove_consecutive_inverters (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::simplify_lut_inits (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::reconstruct_indexed_ff_identifiers (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::reconstruct_top_module_pin_groups (Netlist *nl)
 
Result< std::monostate > hal::netlist_preprocessing::parse_def_file (Netlist *nl, const std::filesystem::path &def_file)
 
Result< std::vector< Module * > > hal::netlist_preprocessing::create_multi_bit_gate_modules (Netlist *nl, const std::map< std::string, std::map< std::string, std::vector< std::string >>> &concatenated_pin_groups)
 
Result< std::vector< Net * > > hal::netlist_preprocessing::create_nets_at_unconnected_pins (Netlist *nl)
 
Result< u32hal::netlist_preprocessing::unify_ff_outputs (Netlist *nl, const std::vector< Gate * > &ffs={}, GateType *inverter_type=nullptr)
 

Variable Documentation

◆ identifier

◆ index

u32 index

Definition at line 1963 of file netlist_preprocessing.cpp.

Referenced by hal::TabWidget::add(), hal::SplitterAnchor::add(), hal::module_identification::FunctionalCandidate::add_selected_shifted_operand(), hal::ContentLayoutArea::addContent(), hal::MainWindow::addContent(), hal::PinGroup< T >::assign_pin(), hal::PythonEditor::autosaveFilename(), hal::utils::clear_bit(), hal::BooleanFunction::compute_truth_table(), hal::PinDelegate::createEditor(), hal::WaveDeleteDelegate::createEditor(), hal::ListPropertyModel::data(), hal::TabWidget::detach(), hal::PythonEditor::discardTab(), hal::GuiPluginDelegate::editorEvent(), hal::StandardGraphicsGate::endpointPositionByIndex(), hal::StandardGraphicsModule::endpointPositionByIndex(), hal::bitorder_propagation::export_bitorder_propagation_information(), hal::gate_pin_group_init(), hal::utils::get_bit(), hal::SaleaeDirectory::get_datafile_name(), hal::SaleaeDirectory::get_datafile_path(), hal::BooleanFunction::get_parameters(), hal::PinGroup< T >::get_pin_at_index(), hal::GatePinsTreeItem::getData(), hal::ModulePinsTreeItem::getData(), hal::PythonConsoleHistory::getHistoryItem(), hal::StandardGraphicsGate::getInputScenePosition(), hal::StandardGraphicsModule::getInputScenePosition(), hal::StandardGraphicsGate::getOutputScenePosition(), hal::StandardGraphicsModule::getOutputScenePosition(), hal::BaseTreeItem::getRowForChild(), hal::LogicEvaluatorPingroup::getValue(), hal::GraphTabWidget::handleCloseTabsToLeft(), hal::GraphTabWidget::handleCloseTabsToRight(), hal::PythonEditor::handleCurrentTabChanged(), hal::GraphTabWidget::handleCustomContextMenuRequested(), hal::GateLibraryManager::handleDeleteType(), hal::PinTreeView::handleEditNewDone(), hal::GateLibraryManager::handleEditWizard(), hal::WaveTreeView::handleInserted(), hal::ModuleWidget::handleItemDoubleClicked(), hal::TabWidget::handleNoCurrentWidget(), hal::GateLibraryManager::handleSelectionChanged(), hal::ModuleWidget::handleSelectionChanged(), hal::GraphTabWidget::handleTabChanged(), hal::GraphTabWidget::handleTabCloseRequested(), hal::PythonEditor::handleTabCloseRequested(), hal::ModuleWidget::handleTreeSelectionChanged(), hal::ModuleWidget::handleTreeViewContextMenuRequested(), hal::PythonSyntaxHighlighter::highlightBlock(), hal::BooleanFunction::Index(), hal::BaseTreeItem::insertChild(), hal::SelectionTreeView::itemFromIndex(), hal::PythonEditorCodeCompletionDialog::keyPressEvent(), hal::module_pin_group_init(), hal::SelectionTreeView::mouseDoubleClickEvent(), hal::TabWidget::open(), hal::PageEngineProperties::PageEngineProperties(), hal::GroupingColorDelegate::paint(), hal::PinDelegate::paint(), hal::GuiPluginDelegate::paint(), hal::WaveDeleteDelegate::paint(), hal::WaveValueDelegate::paint(), hal::ActionPingroup::pinIndex2Row(), hal::bitorder_propagation::propagate_bitorder(), hal::bitorder_propagation::propagate_module_pingroup_bitorder(), hal::TabWidget::reattach(), hal::SplitterAnchor::reattach(), hal::netlist_preprocessing::reconstruct_top_module_pin_groups(), hal::SMT::Translator::reduce_to_smt2(), hal::TabWidget::remove(), hal::PinGroup< T >::remove_pin(), hal::BaseTreeItem::removeChild(), hal::bitorder_propagation::reorder_module_pin_groups(), hal::PythonEditor::saveFile(), hal::utils::set_bit(), hal::PinDelegate::setEditorData(), hal::PinDelegate::setModelData(), hal::ListPropertyModel::setSelected(), hal::GraphTabWidget::showContext(), hal::GroupingColorDelegate::sizeHint(), hal::WaveDeleteDelegate::sizeHint(), hal::BooleanFunctionDecorator::substitute_module_pins(), hal::PythonEditor::tabLoadFile(), hal::utils::toggle_bit(), hal::SMT::Translator::translate_to_smt2(), hal::PythonEditor::unnamedFilename(), and hal::SettingsManager::widgetsSaveGeometry().

◆ inverters

std::set<GatePin*> inverters

Definition at line 1241 of file netlist_preprocessing.cpp.

◆ name

std::string name

Definition at line 2202 of file netlist_preprocessing.cpp.

◆ origin

◆ type

std::string type

◆ x

◆ y