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

Functions

std::vector< std::pair< std::unique_ptr< BaseCandidate >, std::vector< std::unique_ptr< StructuralCandidate > > > > generate_structural_candidates (const Netlist *nl)
 Generate structural candidates for a given netlist. More...
 

Detailed Description

The gate type properties of the Lattice iCE40 architecture that module identification needs, e.g., which types are carry chains.

Function Documentation

◆ generate_structural_candidates()

std::vector< std::pair< std::unique_ptr< BaseCandidate >, std::vector< std::unique_ptr< StructuralCandidate > > > > hal::module_identification::lattice_ice40::generate_structural_candidates ( const Netlist nl)

Generate structural candidates for a given netlist.

This function generates structural candidates by analyzing the netlist of a Lattice iCE40 FPGA. The structural candidares are generated based on the identification of carry chains that are often used to implement arithmetic oeprations on FPGAs. It returns a vector of pairs, where each pair contains a unique pointer to a BaseCandidate and a vector of unique pointers to StructuralCandidate objects.

Parameters
[in]nl- The netlist to operate on.
Returns
A vector of pairs, each containing a BaseCandidate and a vector of corresponding StructuralCandidate objects.

Definition at line 659 of file lattice_ice40.cpp.

References log_info.

Referenced by hal::module_identification::generate_structural_candidates().