FCN Cell Technologies
Header: fiction/technology/cell_technologies.hpp
Supported technological implementations of the FCN concept. Each has its own set of cell types and properties.
Quantum-dot Cellular Automata (QCA)
-
struct qca_technology
Quantum-dot Cellular Automata (QCA) technology implementation of the FCN concept.
Public Types
-
enum cell_type
Possible types of QCA cells.
Values:
-
enumerator EMPTY
Symbol used for empty QCA cells.
-
enumerator NORMAL
Symbol used for normal QCA cells.
-
enumerator INPUT
Symbol used for input QCA cells.
-
enumerator OUTPUT
Symbol used for output QCA cells.
-
enumerator CONST_0
Symbol used for constant 0 input QCA cells.
-
enumerator CONST_1
Symbol used for constant 1 input QCA cells.
-
enumerator EMPTY
Public Static Attributes
-
static constexpr uint64_t CELL_WIDTH = 18ul
Default width of a QCA cell in QCADesigner (https://waluslab.ece.ubc.ca/qcadesigner/).
-
static constexpr uint64_t CELL_HEIGHT = 18ul
Default height of a QCA cell in QCADesigner.
-
static constexpr uint64_t CELL_HSPACE = 2ul
Default horizontal spacing between two QCA cells in QCADesigner.
-
static constexpr uint64_t CELL_VSPACE = 2ul
Default vertical spacing between two QCA cells in QCADesigner.
-
enum cell_type
in-plane Nanomagnet Logic (iNML)
-
struct inml_technology
in-plane Nanomagnet Logic (iNML) technology implementation of the FCN concept.
Public Types
-
enum cell_type
Possible types of iNML cells.
Values:
-
enumerator EMPTY
Symbol used for empty iNML cells.
-
enumerator NORMAL
Symbol used for normal iNML cells.
-
enumerator INPUT
Symbol used for input iNML cells.
-
enumerator OUTPUT
Symbol used for output iNML cells.
-
enumerator SLANTED_EDGE_UP_MAGNET
Symbol used for upper slanted edge magnets.
-
enumerator SLANTED_EDGE_DOWN_MAGNET
Symbol used for lower slanted edge magnets.
-
enumerator INVERTER_MAGNET
Symbol used for inverter magnets.
-
enumerator CROSSWIRE_MAGNET
Symbol used for cross-wire magnets.
-
enumerator FANOUT_COUPLER_MAGNET
Symbol used for coupler (fan-out) magnets.
-
enumerator EMPTY
Public Static Attributes
-
static constexpr uint64_t CELL_WIDTH = 50ul
Default width of a iNML cell in NMLSim.
-
static constexpr uint64_t CELL_HEIGHT = 100ul
Default height of a iNML cell in NMLSim.
-
static constexpr uint64_t CELL_HSPACE = 10ul
Default horizontal spacing between two iNML cells in NMLSim.
-
static constexpr uint64_t CELL_VSPACE = 25ul
Default vertical spacing between two iNML cells in NMLSim.
-
struct cell_mode
iNML cells do not have modes.
-
enum cell_type
Silicon Dangling Bonds (SiDB)
-
struct sidb_technology
Silicon Dangling Bond (SiDB) technology implementation of the FCN concept.
Public Types
Public Static Attributes
-
static constexpr double CELL_WIDTH = 0.0
Default width of a SiDB in SiQAD (https://github.com/siqad/siqad). Dots are considered to be 0-dimensional entities for simulation purposes.
-
static constexpr double CELL_HEIGHT = 0.0
Default height of a SiDB in SiQAD. Dots are considered to be 0-dimensional entities for simulation purposes.
-
static constexpr double CELL_HSPACE = 0.384
Default horizontal spacing between two SiDBs in SiQAD.
-
static constexpr double CELL_VSPACE = 0.384
Default average vertical spacing between two SiDBs in SiQAD. Depending on whether they are on the same or different dimer rows, SiDBs can be closer together or further apart.
-
struct cell_mode
SiDB cells do not have modes.
-
static constexpr double CELL_WIDTH = 0.0