Skip to content

Releases: VLSIDA/cocotbext-ams

v0.1.0 — Xyce simulator support

19 Mar 03:33

Choose a tag to compare

What's New

  • Xyce simulator support — Use simulator="xyce" on AnalogBlock to run co-simulation with Xyce instead of ngspice
  • SimulatorInterface abstraction — Common base class for ngspice and Xyce backends
  • Simulator-aware netlist generation — Xyce netlists use YDAC devices, .TRAN, .PRINT TRAN
  • simulator_lib parameter on MixedSignalBridge (replaces ngspice_lib, which is now deprecated)
  • Removed deprecated sync_period_ns parameter

Usage

# ngspice (unchanged, default)
block = AnalogBlock(name="dut", spice_file="circuit.sp", subcircuit="my_block", ...)

# Xyce
block = AnalogBlock(name="dut", spice_file="circuit.sp", subcircuit="my_block",
                    simulator="xyce", ...)
bridge = MixedSignalBridge(dut, [block], simulator_lib="/path/to/libxycecinterface.so")

All existing tests pass. Xyce integration testing requires Xyce installed.

v0.0.4

19 Mar 02:08

Choose a tag to compare

  • Fix PEP 639 license classifier conflict that broke pip install
  • Fix PLL example convergence (tanh VCO, charge pump guard)
  • Add PyPI classifiers for Python version badges

v0.0.3

19 Mar 02:01

Choose a tag to compare

  • Add PyPI classifiers for Python version badges
  • Fix PLL example convergence (tanh VCO, charge pump guard)

v0.0.2

19 Mar 01:52

Choose a tag to compare

What's new

  • CI pipeline: GitHub Actions with unit tests (Python 3.10-3.12), mypy, ruff, and integration tests
  • Better error messages: Platform-specific install instructions when libngspice is not found, improved signal resolution errors, SPICE file/subcircuit validation
  • Crossing detection logging: Debug-level logs with timestamps when analog outputs cross digital thresholds
  • Thread safety docs: Documented GIL-based safety guarantees in MixedSignalBridge
  • VCD robustness: try/finally ensures analog VCD is closed even on simulation errors
  • Easier ngspice install: README now lists package manager commands (apt, dnf, brew, conda) before build-from-source
  • Troubleshooting guide: Added sections for common issues (ngspice not found, signal not found, sawtooth output, simulation hangs)

v0.0.1

18 Mar 23:15

Choose a tag to compare

Initial release of cocotbext-ams.

ngspice bridge for cocotb — open-source mixed-signal co-simulation.

Features

  • AnalogBlock / DigitalPin / MixedSignalBridge API for wiring digital RTL to SPICE subcircuits
  • Automatic voltage-source bridging (digital→analog) and threshold-crossing detection (analog→digital)
  • Analog VCD export ($var real) for viewing SPICE waveforms alongside digital signals
  • Tutorial: SAR ADC with PWM DAC, RC filter, and sky130 latch comparator