Physical Properties

Area Requirements

Header: fiction/technology/area.hpp

template<typename Lyt, typename AreaType = double>
AreaType fiction::area(const Lyt &lyt, area_params<technology<Lyt>, AreaType> &ps = {}, area_stats<AreaType> *pst = nullptr) noexcept

Computes real-world area requirements in nm² of a given cell-level layout. For this purpose, each cell position in the layout is assigned a vertical and horizontal size. Additionally, a spacing between cell positions in horizontal and vertical direction is taken into account.

Template Parameters:
  • Lyt – Cell-level layout type.

  • AreaType – Type for area representation.

Parameters:
  • lyt – The cell-level layout whose area is desired.

  • ps – Area parameters.

  • pst – Area statistics.

Returns:

Area requirements in nm².

template<typename Lyt, typename AreaType = double>
AreaType fiction::area(const bounding_box_2d<Lyt> &bb, area_params<technology<Lyt>, AreaType> &ps = {}, area_stats<AreaType> *pst = nullptr) noexcept

Computes real-world area requirements in nm² of the bounding box of a given cell-level layout. For this purpose, each cell position in the layout is assigned a vertical and horizontal size. Additionally, a spacing between cell positions in horizontal and vertical direction is taken into account.

Template Parameters:
  • Lyt – Cell-level layout type.

  • AreaType – Type for area representation.

Parameters:
  • bb – The bounding box of the cell-level layout whose area is desired.

  • ps – Area parameters.

  • pst – Area statistics.

Returns:

Area requirements in nm².

MagCAD Magnet Count

Header: fiction/technology/magcad_magnet_count.hpp

template<typename Lyt>
uint64_t fiction::magcad_magnet_count(const Lyt &lyt) noexcept

Calculates the number of magnets for an iNML layout the way MagCAD (https://topolinano.polito.it/) would do it. That is, counting chains of 4 inverters as a single entity.

Template Parameters:

Lyt – iNML cell-level layout type.

Parameters:

lyt – The iNML cell-level layout whose area is desired.

Returns:

Number of magnets as counted by MagCAD.