FCN Cell Technologies
Supported technological implementations of the FCN concept. Each has its own set of cell types and properties.
Quantum-dot Cellular Automata (QCA)
Header: fiction/technology/cell_technologies.hpp
-
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)
Header: fiction/technology/cell_technologies.hpp
-
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
- class mnt.pyfiction.inml_technology
- class cell_type
Members:
EMPTY
NORMAL
INPUT
OUTPUT
SLANTED_EDGE_UP_MAGNET : Symbol used for upper slanted edge magnets.
SLANTED_EDGE_DOWN_MAGNET : Symbol used for lower slanted edge magnets.
INVERTER_MAGNET : Symbol used for inverter magnets.
CROSSWIRE_MAGNET : Symbol used for cross-wire magnets.
FANOUT_COUPLER_MAGNET : Symbol used for coupler (fan-out) magnets.
- property name
Silicon Dangling Bonds (SiDB)
Header: fiction/technology/cell_technologies.hpp
-
struct sidb_technology
Silicon Dangling Bond (SiDB) technology implementation of the FCN concept.
Public Types
-
enum cell_type
Possible types of SiDB cells.
Values:
-
enumerator EMPTY
Symbol used for empty SiDB cells.
-
enumerator NORMAL
Symbol used for normal SiDB cells.
-
enumerator INPUT
Symbol used for input SiDB cells.
-
enumerator OUTPUT
Symbol used for output SiDB cells.
-
enumerator LOGIC
Symbol used for logic SiDB cells (e.g. canvas SiDBs).
-
enumerator EMPTY
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.
-
enum cell_type