xbtorch.devices.presets

Predefined device model presets for analog crossbar simulations.

This module provides ready-to-use instances of analytical and tabular device models with fixed parameters for benchmarking, testing, or hardware-aware training. Each preset wraps a specific device configuration and provides attribute forwarding to the underlying device instance.

Classes

Notes

All preset devices wrap the corresponding AnalyticalDevice or TabularDevice and forward attribute access using __getattr__ and __setattr__. This allows presets to behave like normal device instances while keeping the preset parameters fixed.

Classes

AnalyticalIdeal()

Ideal analytical device with zero device-to-device (d2d) and cycle-to-cycle (c2c) variations.

AnalyticalReal()

Realistic analytical device with typical cycle-to-cycle variations.

TabularAnalyticalReal()

Synthetic tabular device simulating realistic analytical behavior.

TabularCompactFeFETKriging(name)

Compact FeFET tabular device using Kriging interpolation.

TabularExperimentalFemFETKriging(name)

Experimental FeFET tabular device model based on measured data.

class xbtorch.devices.presets.AnalyticalIdeal[source]

Bases: AnalyticalDevice

Ideal analytical device with zero device-to-device (d2d) and cycle-to-cycle (c2c) variations.

Conductance range: 3 nS to 38 nS. Nonlinearity: set to zero. Maximum pulse level: 500.

class xbtorch.devices.presets.AnalyticalReal[source]

Bases: AnalyticalDevice

Realistic analytical device with typical cycle-to-cycle variations.

Conductance range: 3 nS to 38 nS. Nonlinearity: set = 2.4, reset = -4.88. c2c variation: 0.035. Maximum pulse level: 500.

class xbtorch.devices.presets.TabularAnalyticalReal[source]

Bases: TabularDevice

Synthetic tabular device simulating realistic analytical behavior.

Uses predefined target tables with linear mean and constant standard deviation. Equivalent to NeuroSim synthetic dataset with 10,000 samples. Maximum pulse level: 500.

class xbtorch.devices.presets.TabularCompactFeFETKriging(name)[source]

Bases: TabularDevice

Compact FeFET tabular device using Kriging interpolation.

Parameters:

name (str) – Name encoding voltage and standard deviation, e.g., ‘fefet_reset_1.2V_32_SD’.

Notes

Uses 10,000 data points to construct the tabular model, consistent with synthetic Neuromorphic simulations. Maximum pulse level: 32.

class xbtorch.devices.presets.TabularExperimentalFemFETKriging(name)[source]

Bases: TabularDevice

Experimental FeFET tabular device model based on measured data.

Parameters:

name (str) – Name encoding gate voltage, e.g., ‘femfet_vg3’.

Notes

Uses experimental data for reset/set conductances, dG, and CDF tables. Maximum pulse level: 50.