Releases: VLSIDA/cocotbext-ams
Releases · VLSIDA/cocotbext-ams
v0.1.0 — Xyce simulator support
What's New
- Xyce simulator support — Use
simulator="xyce"onAnalogBlockto 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_libparameter onMixedSignalBridge(replacesngspice_lib, which is now deprecated)- Removed deprecated
sync_period_nsparameter
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
v0.0.3
v0.0.2
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
Initial release of cocotbext-ams.
ngspice bridge for cocotb — open-source mixed-signal co-simulation.
Features
AnalogBlock/DigitalPin/MixedSignalBridgeAPI 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