Physical Simulation
Write cell-level layouts into physical simulator files for various technologies.
QCADesigner
Header: fiction/io/write_qca_layout.hpp
-
struct write_qca_layout_params
Parameters for writing QCADesigner layouts.
Public Members
-
bool create_inter_layer_via_cells = true
Create via cells in between each layer.
-
bool create_inter_layer_via_cells = true
-
template<typename Lyt>
void fiction::write_qca_layout(const Lyt &lyt, std::ostream &os, write_qca_layout_params ps = {}) Writes a cell-level QCA layout to a qca file that is used by QCADesigner (https://waluslab.ece.ubc.ca/qcadesigner/), a physical simulator for the QCA technology platform.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – Cell-level QCA layout type.
- Parameters:
lyt – The layout to be written.
os – The output stream to write into.
ps – Parameters.
-
template<typename Lyt>
void fiction::write_qca_layout(const Lyt &lyt, const std::string_view &filename, write_qca_layout_params ps = {}) Writes a cell-level QCA layout to a qca file that is used by QCADesigner (https://waluslab.ece.ubc.ca/qcadesigner/), a physical simulator for the QCA technology platform.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – Cell-level QCA layout type.
- Parameters:
lyt – The layout to be written.
filename – The file name to create and write into. Should preferably use the
.qca
extension.ps – Parameters.
- class mnt.pyfiction.write_qca_layout_params
Parameters for writing QCADesigner layouts.
- property create_inter_layer_via_cells
Create via cells in between each layer.
- mnt.pyfiction.write_qca_layout(layout: mnt.pyfiction.pyfiction.qca_layout, filename: str, params: mnt.pyfiction.pyfiction.write_qca_layout_params = <mnt.pyfiction.pyfiction.write_qca_layout_params object at 0x7b94bc8c04b0>) None
Writes a cell-level QCA layout to a qca file that is used by QCADesigner (https://waluslab.ece.ubc.ca/qcadesigner/), a physical simulator for the QCA technology platform.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level QCA layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
- Parameter
ps
: Parameters.
- Template parameter
QCA-STACK
Header: fiction/io/write_fqca_layout.hpp
-
struct write_fqca_layout_params
Parameters for writing FQCA layouts.
Public Members
-
bool create_inter_layer_via_cells = false
Create via cells in between each layer.
-
bool create_inter_layer_via_cells = false
-
template<typename Lyt>
void fiction::write_fqca_layout(const Lyt &lyt, std::ostream &os, write_fqca_layout_params ps = {}) Writes a cell-level QCA layout to an fqca file provided as an output stream. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
Might throw an out_of_cell_names_exception in case there are more I/O cells in the layout than lowercase + uppercase letters in the English alphabet.
- Template Parameters:
Lyt – The layout type to be written. Must be a clocked cell-level QCA layout.
- Parameters:
lyt – The cell-level QCA layout.
os – The output stream to write into.
ps – Parameters.
-
template<typename Lyt>
void fiction::write_fqca_layout(const Lyt &lyt, const std::string_view &filename, write_fqca_layout_params ps = {}) Writes a cell-level QCA layout to an fqca file provided as a file name. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
Might throw an out_of_cell_names_exception in case there are more I/O cells in the layout than lowercase + uppercase letters in the English alphabet.
- Template Parameters:
Lyt – The layout type to be written. Must be a clocked cell-level QCA layout.
- Parameters:
lyt – The cell-level QCA layout.
filename – The file name to create and write into. Should preferably use the
.fqca
extension.ps – Parameters.
-
class out_of_cell_names_exception : public std::out_of_range
- class mnt.pyfiction.write_fqca_layout_params
Parameters for writing FQCA layouts.
- property create_inter_layer_via_cells
Create via cells in between each layer.
- mnt.pyfiction.write_fqca_layout(layout: mnt.pyfiction.pyfiction.qca_layout, filename: str, params: mnt.pyfiction.pyfiction.write_fqca_layout_params = <mnt.pyfiction.pyfiction.write_fqca_layout_params object at 0x7b94bc71b270>) None
Writes a cell-level QCA layout to an fqca file provided as an output stream. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
Might throw an out_of_cell_names_exception in case there are more I/O cells in the layout than lowercase + uppercase letters in the English alphabet.
- Template parameter
Lyt
: The layout type to be written. Must be a clocked cell-level QCA layout.
- Parameter
lyt
: The cell-level QCA layout.
- Parameter
os
: The output stream to write into.
- Parameter
ps
: Parameters.
- Template parameter
- class mnt.pyfiction.out_of_cell_names_exception
Header: fiction/io/read_fqca_layout.hpp
-
template<typename Lyt>
Lyt fiction::read_fqca_layout(std::istream &is, const std::string_view &layout_name = "") Reads a cell-level QCA layout from an fqca file provided as an input stream. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
May throw an unsupported_character_exception, undefined_cell_label_exception, or unrecognized_cell_definition_exception.
- Template Parameters:
Lyt – The layout type to be created from an input. Must be a clocked cell-level QCA layout.
- Parameters:
is – The input stream to read from.
layout_name – The name to give to the generated layout.
-
template<typename Lyt>
Lyt fiction::read_fqca_layout(const std::string_view &filename, const std::string_view &layout_name = "") Reads a cell-level QCA layout from an fqca file provided as a file name. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
May throw an unsupported_character_exception, undefined_cell_label_exception, or unrecognized_cell_definition_exception.
- Template Parameters:
Lyt – The layout type to be created from an input. Must be a clocked cell-level QCA layout.
- Parameters:
filename – The file name to open and read from.
layout_name – The name to give to the generated layout.
-
class unsupported_character_exception : public std::exception
-
class undefined_cell_label_exception : public std::exception
-
class unrecognized_cell_definition_exception : public std::exception
- mnt.pyfiction.read_fqca_layout(filename: str, layout_name: str = '') mnt.pyfiction.pyfiction.qca_layout
Reads a cell-level QCA layout from an fqca file provided as an input stream. The format is used by QCA-STACK by Willem Lambooy (https://github.com/wlambooy/QCA-STACK).
May throw an unsupported_character_exception, undefined_cell_label_exception, or unrecognized_cell_definition_exception.
- Template parameter
Lyt
: The layout type to be created from an input. Must be a clocked cell-level QCA layout.
- Parameter
is
: The input stream to read from.
- Parameter
layout_name
: The name to give to the generated layout.
- Template parameter
- class mnt.pyfiction.unsupported_character_exception
- class mnt.pyfiction.undefined_cell_label_exception
- class mnt.pyfiction.unrecognized_cell_definition_exception
ToPoliNano
Header: fiction/io/write_qcc_layout.hpp
-
struct write_qcc_layout_params
Parameters for writing QCC layouts.
-
template<typename Lyt>
void fiction::write_qcc_layout(const Lyt &lyt, std::ostream &os, write_qcc_layout_params ps = {}) Writes a cell-level iNML layout to a qcc file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – Cell-level iNML layout type.
- Parameters:
lyt – The layout to be written.
os – The output stream to write into.
ps – Parameters.
-
template<typename Lyt>
void fiction::write_qcc_layout(const Lyt &lyt, const std::string_view &filename, write_qcc_layout_params ps = {}) Writes a cell-level iNML layout to a qcc file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – Cell-level iNML layout type.
- Parameters:
lyt – The layout to be written.
filename – The file name to create and write into. Should preferably use the
.qcc
extension.ps – Parameters.
- mnt.pyfiction.write_qcc_layout(layout: mnt.pyfiction.pyfiction.inml_layout, filename: str) None
Writes a cell-level iNML layout to a qcc file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level iNML layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
- Parameter
ps
: Parameters.
- Template parameter
MagCAD & SCERPA
Header: fiction/io/write_qll_layout.hpp
-
template<typename Lyt>
void fiction::write_qll_layout(const Lyt &lyt, std::ostream &os) Writes a cell-level QCA or iNML layout to a qll file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform as well as SCERPA (https://ieeexplore.ieee.org/document/8935211), a physical simulator for the mQCA technology platform.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – Cell-level QCA or iNML layout type.
- Parameters:
lyt – The layout to be written.
os – The output stream to write into.
ps – Parameters.
-
template<typename Lyt>
void fiction::write_qll_layout(const Lyt &lyt, const std::string_view &filename) Writes a cell-level QCA or iNML layout to a qll file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform as well as SCERPA (https://ieeexplore.ieee.org/document/8935211), a physical simulator for the mQCA technology platform.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – Cell-level iNML layout type.
- Parameters:
lyt – The layout to be written.
filename – The file name to create and write into. Should preferably use the
.qll
extension.ps – Parameters.
- mnt.pyfiction.write_qll_layout(*args, **kwargs)
Overloaded function.
write_qll_layout(layout: mnt.pyfiction.pyfiction.qca_layout, filename: str) -> None
Writes a cell-level QCA or iNML layout to a qll file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform as well as SCERPA (https://ieeexplore.ieee.org/document/8935211), a physical simulator for the mQCA technology platform.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level QCA or iNML layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
- Parameter
ps
: Parameters.
write_qll_layout(layout: mnt.pyfiction.pyfiction.inml_layout, filename: str) -> None
Writes a cell-level QCA or iNML layout to a qll file that is used by ToPoliNano & MagCAD (https://topolinano.polito.it/), an EDA tool and a physical simulator for the iNML technology platform as well as SCERPA (https://ieeexplore.ieee.org/document/8935211), a physical simulator for the mQCA technology platform.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level QCA or iNML layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
- Parameter
ps
: Parameters.
SiQAD
Header: fiction/io/write_sqd_layout.hpp
-
template<typename Lyt>
void fiction::write_sqd_layout(const Lyt &lyt, std::ostream &os) Writes a cell-level SiDB or QCA layout to an sqd file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
If the provided cell-level layout type can represent SiDB defects, they will be written to the file as well.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – Cell-level SiDB or QCA layout type.
- Parameters:
lyt – The layout to be written.
os – The output stream to write into.
-
template<typename Lyt>
void fiction::write_sqd_layout(const Lyt &lyt, const std::string_view &filename) Writes a cell-level SiDB or QCA layout to an sqd file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
If the provided cell-level layout type can represent SiDB defects, they will be written to the file as well.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – Cell-level SiDB or QCA layout type.
- Parameters:
lyt – The layout to be written.
filename – The file name to create and write into. Should preferably use the
.sqd
extension.
Header: fiction/io/write_sqd_sim_result.hpp
-
template<typename Lyt>
void fiction::write_sqd_sim_result(const sidb_simulation_result<Lyt> &sim_result, std::ostream &os) Writes an SiDB simulation result to an XML file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – SiDB cell-level SiDB layout type.
- Parameters:
sim_result – The simulation result to write.
os – The output stream to write into.
-
template<typename Lyt>
void fiction::write_sqd_sim_result(const sidb_simulation_result<Lyt> &sim_result, const std::string_view &filename) Writes an SiDB simulation result to an XML file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – SiDB cell-level SiDB layout type.
- Parameters:
sim_result – The simulation result to write.
filename – The file name to create and write into. Should preferably use the
.xml
extension.
Header: fiction/io/write_location_and_ground_state.hpp
-
template<typename Lyt>
void fiction::write_location_and_ground_state(const sidb_simulation_result<Lyt> &sim_result, std::ostream &os) Writes the coordinates of all SiDBs of a layout together with the charge distribution of the ground state(s) to a file.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – SiDB cell-level SiDB layout type.
- Parameters:
sim_result – The simulation result to write.
os – The output stream to write into.
-
template<typename Lyt>
void fiction::write_location_and_ground_state(const sidb_simulation_result<Lyt> &sim_result, const std::string_view &filename) Writes the coordinates of all SiDBs of a layout together with the charge distribution of the ground state(s) to a file.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – SiDB cell-level SiDB layout type.
sim_result – The simulation result to write.
- Parameters:
filename – The file name to create and write into.
Header: fiction/io/read_sqd_layout.hpp
-
template<typename Lyt>
Lyt fiction::read_sqd_layout(std::istream &is, const std::string_view &name = "") Reads a cell-level SiDB layout from an sqd file provided as an input stream. The format is used by SiQAD (https://github.com/siqad/siqad).
If the provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an
sqd_parsing_exception
if the sqd file is malformed.- Template Parameters:
Lyt – The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameters:
is – The input stream to read from.
name – The name to give to the generated layout.
- Returns:
The cell-level SiDB layout read from the sqd file.
-
template<typename Lyt>
void fiction::read_sqd_layout(Lyt &lyt, std::istream &is) Reads a cell-level SiDB layout from an sqd file provided as an input stream. The format is used by SiQAD (https://github.com/siqad/siqad).
If The provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an
sqd_parsing_exception
if the sqd file is malformed.This is an in-place version of read_sqd_layout that utilizes the given layout as a target to write to.
- Template Parameters:
Lyt – The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameters:
lyt – The layout to write to.
is – The input stream to read from.
-
template<typename Lyt>
Lyt fiction::read_sqd_layout(const std::string_view &filename, const std::string_view &name = "") Reads a cell-level SiDB layout from an sqd file provided as a file name. The format is used by SiQAD (https://github.com/siqad/siqad).
If The provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an
sqd_parsing_exception
if the sqd file is malformed.- Template Parameters:
Lyt – The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameters:
filename – The file name to open and read from.
name – The name to give to the generated layout.
-
template<typename Lyt>
void fiction::read_sqd_layout(Lyt &lyt, const std::string_view &filename) Reads a cell-level SiDB layout from an sqd file provided as a file name. The format is used by SiQAD (https://github.com/siqad/siqad).
If The provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an
sqd_parsing_exception
if the sqd file is malformed.This is an in-place version of
read_sqd_layout
that utilizes the given layout as a target to write to.- Template Parameters:
Lyt – The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameters:
lyt – The layout to write to.
filename – The file name to open and read from.
-
class sqd_parsing_error : public std::runtime_error
Exception thrown when an error occurs during parsing of an SQD file.
- mnt.pyfiction.write_sqd_layout(*args, **kwargs)
Overloaded function.
write_sqd_layout(layout: mnt.pyfiction.pyfiction.sidb_111_lattice, filename: str) -> None
Writes a cell-level SiDB or QCA layout to an sqd file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
If the provided cell-level layout type can represent SiDB defects, they will be written to the file as well.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level SiDB or QCA layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
write_sqd_layout(layout: mnt.pyfiction.pyfiction.sidb_100_lattice, filename: str) -> None
Writes a cell-level SiDB or QCA layout to an sqd file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
If the provided cell-level layout type can represent SiDB defects, they will be written to the file as well.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level SiDB or QCA layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
write_sqd_layout(layout: mnt.pyfiction.pyfiction.sidb_layout, filename: str) -> None
Writes a cell-level SiDB or QCA layout to an sqd file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
If the provided cell-level layout type can represent SiDB defects, they will be written to the file as well.
This overload uses an output stream to write into.
- Template parameter
Lyt
: Cell-level SiDB or QCA layout type.
- Parameter
lyt
: The layout to be written.
- Parameter
os
: The output stream to write into.
- mnt.pyfiction.write_sqd_sim_result(layout: fiction::sidb_simulation_result<fiction::cell_level_layout<fiction::sidb_technology, fiction::clocked_layout<fiction::tile_based_layout<fiction::cartesian_layout<fiction::offset::ucoord_t> > > > >, filename: str) None
Writes an SiDB simulation result to an XML file that is used by SiQAD (https://github.com/siqad/siqad), a physical simulator for the SiDB technology platform.
This overload uses an output stream to write into.
- Template parameter
Lyt
: SiDB cell-level SiDB layout type.
- Parameter
sim_result
: The simulation result to write.
- Parameter
os
: The output stream to write into.
- Template parameter
- mnt.pyfiction.read_sqd_layout_100(filename: str, layout_name: str = '') mnt.pyfiction.pyfiction.sidb_100_lattice
Reads a cell-level SiDB layout from an sqd file provided as a file name. The format is used by SiQAD (https://github.com/siqad/siqad).
If The provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an sqd_parsing_exception if the sqd file is malformed.
- Template parameter
Lyt
: The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameter
filename
: The file name to open and read from.
- Parameter
name
: The name to give to the generated layout.
- Template parameter
- mnt.pyfiction.read_sqd_layout_111(filename: str, layout_name: str = '') mnt.pyfiction.pyfiction.sidb_111_lattice
Reads a cell-level SiDB layout from an sqd file provided as a file name. The format is used by SiQAD (https://github.com/siqad/siqad).
If The provided cell-level layout type can represent SiDB defects, they will be parsed from the sqd file as well.
May throw an sqd_parsing_exception if the sqd file is malformed.
- Template parameter
Lyt
: The layout type to be created from an input. Must be an SiDB lattice cell-level SiDB layout.
- Parameter
filename
: The file name to open and read from.
- Parameter
name
: The name to give to the generated layout.
- Template parameter
- class mnt.pyfiction.sqd_parsing_error
SiDB Operational Domain
Header: fiction/io/write_operational_domain.hpp
-
struct write_operational_domain_params
Parameters for writing an operational domain to a CSV file.
Public Types
-
enum class sample_writing_mode : uint8_t
Mode selector for writing samples to file.
Values:
-
enumerator ALL_SAMPLES
Write all samples, including non-operational ones. This may lead to large file sizes.
-
enumerator OPERATIONAL_ONLY
Write operational samples only. This can drastically reduce file size and help with visibility in 3D plots.
-
enumerator ALL_SAMPLES
Public Members
-
std::string_view operational_tag = "1"
The tag used to represent the operational value of a parameter set.
-
std::string_view non_operational_tag = "0"
The tag used to represent the non-operational value of a parameter set.
-
sample_writing_mode writing_mode = sample_writing_mode::ALL_SAMPLES
Whether to write non-operational samples to the CSV file. If set to
OPERATIONAL_ONLY
, operational samples are written exclusively. This yields a significantly smaller CSV file. It is recommended to set this option for 3D plots because the non-operational samples would shadow the operational samples anyway.
-
enum class sample_writing_mode : uint8_t
Warning
doxygenfunction: Unable to resolve function “fiction::write_operational_domain<OpDomain>” with arguments “(const OpDomain& opdom, std::ostream& os,”. Could not parse arguments. Parsing error is Invalid C++ declaration: Expected identifier in nested name. [error at 41] (const OpDomain& opdom, std::ostream& os, —————————————–^
Warning
doxygenfunction: Unable to resolve function “fiction::write_operational_domain<OpDomain>” with arguments “(const OpDomain& opdom, const std::string_view& filename,”. Could not parse arguments. Parsing error is Invalid C++ declaration: Expected identifier in nested name. [error at 57] (const OpDomain& opdom, const std::string_view& filename, ———————————————————^
- class mnt.pyfiction.write_operational_domain_params
Parameters for writing an operational domain to a CSV file.
- property non_operational_tag
The tag used to represent the non-operational value of a parameter set.
- property operational_tag
The tag used to represent the operational value of a parameter set.
- property writing_mode
Whether to write non-operational samples to the CSV file. If set to OPERATIONAL_ONLY, operational samples are written exclusively. This yields a significantly smaller CSV file. It is recommended to set this option for 3D plots because the non-operational samples would shadow the operational samples anyway.
- mnt.pyfiction.write_operational_domain(opdom: mnt.pyfiction.pyfiction.operational_domain, filename: str, params: mnt.pyfiction.pyfiction.write_operational_domain_params) None
Writes a CSV representation of an operational domain to the specified output stream. The data are written as rows, each corresponding to one set of simulation parameters and their corresponding operational status.
The output CSV format is e.g. as follows: verbatim embed:rst .. code- block:: RST
epsilon_r, lambda_tf, operational status 0.0, 0.0, 0 0.1, 0.0, 1 … subsequent rows for each set of simulation parameters endverbatim
The operational status is a binary value represented by specified tags in params indicating whether the simulation parameters are within the operational domain or not.
- Template parameter
OpDomain
: The type of the operational domain.
- Parameter
opdom
: The operational domain to be written. It represents a mapping between sets of simulation parameters (defined as a pair of sweep parameters for the X, Y, and Z dimensions) and a tuple containing detailed information about the SiDB layout associated with those simulation parameters.
- Parameter
os
: The output stream where the CSV representation of the operational domain is written to.
- Parameter
params
: The parameters used for writing, including the operational and non-operational tags. Defaults to an empty write_operational_domain_params object, which provides standard tags.
- Throws:
std::invalid_argument if the number of dimensions in the operational domain is 0 or greater than 3.
- Template parameter
- mnt.pyfiction.write_critical_temperature_domain(opdom: mnt.pyfiction.pyfiction.critical_temperature_domain, filename: str, params: mnt.pyfiction.pyfiction.write_operational_domain_params) None
The critical_temperature_domain class collects the critical temperature and the operational status for a range of different physical parameters of a given SiDB layout. It allows for the evaluation of how the critical temperature depends on variations in the underlying parameter points. This enables simulations to explore the critical temperature’s behavior across different conditions and configurations.
Technology-independent Gate-level Layouts
Can be used to generate gate-level layout files (.fgl
) as offered by MNT Bench.
Header: fiction/io/write_fgl_layout.hpp
-
template<typename Lyt>
void fiction::write_fgl_layout(const Lyt &lyt, std::ostream &os) Writes an FGL layout to a file.
This overload uses an output stream to write into.
- Template Parameters:
Lyt – Layout.
- Parameters:
lyt – The layout to be written.
os – The output stream to write into.
-
template<typename Lyt>
void fiction::write_fgl_layout(const Lyt &lyt, const std::string_view &filename) Writes an FGL layout to a file.
This overload uses a file name to create and write into.
- Template Parameters:
Lyt – Layout.
- Parameters:
lyt – The layout to be written.
filename – The file name to create and write into. Should preferably use the .fgl extension.
-
class fgl_parsing_error : public std::runtime_error
Exception thrown when an error occurs during parsing of a .fgl file containing a gate-level layout.
Public Functions
-
inline explicit fgl_parsing_error(const std::string_view &msg) noexcept
Constructs a
fgl_parsing_error
object with the given error message.- Parameters:
msg – The error message describing the parsing error.
-
inline explicit fgl_parsing_error(const std::string_view &msg) noexcept
- mnt.pyfiction.write_fgl_layout(*args, **kwargs)
Overloaded function.
write_fgl_layout(layout: mnt.pyfiction.pyfiction.cartesian_gate_layout, filename: str) -> None
Writes an FGL layout to a file.
This overload uses a file name to create and write into.
- Template parameter
Lyt
: Layout.
- Parameter
lyt
: The layout to be written.
- Parameter
filename
: The file name to create and write into. Should preferably use the .fgl extension.
write_fgl_layout(layout: mnt.pyfiction.pyfiction.shifted_cartesian_gate_layout, filename: str) -> None
Writes an FGL layout to a file.
This overload uses a file name to create and write into.
- Template parameter
Lyt
: Layout.
- Parameter
lyt
: The layout to be written.
- Parameter
filename
: The file name to create and write into. Should preferably use the .fgl extension.
write_fgl_layout(layout: mnt.pyfiction.pyfiction.hexagonal_gate_layout, filename: str) -> None
Writes an FGL layout to a file.
This overload uses a file name to create and write into.
- Template parameter
Lyt
: Layout.
- Parameter
lyt
: The layout to be written.
- Parameter
filename
: The file name to create and write into. Should preferably use the .fgl extension.
- class mnt.pyfiction.fgl_parsing_error