Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
[!IMPORTANT] The minimum Python version for Torii and Torii USB is now 3.11
Added¶
Changed¶
Switched from using the old setuptools
setup.pyover to setuptools viapyproject.toml
Deprecated¶
Removed¶
Removed the following modules as they have been moved to torii-usb and were deprecated in
v0.8.0.sol_usb.gateware.architecture.car.PHYResetControllersol_usb.gateware.interface.pipesol_usb.gateware.interface.ulpisol_usb.gateware.interface.utmisol_usb.gateware.interface.gateware_physol_usb.gateware.interface.gateware_phy.physol_usb.gateware.interface.gateware_phy.receiversol_usb.gateware.interface.gateware_phy.transmitter
sol_usb.gateware.interface.serdes_physol_usb.gateware.interface.serdes_phy.ecp5sol_usb.gateware.interface.serdes_phy.lfpssol_usb.gateware.interface.serdes_phy.xc7_gtpsol_usb.gateware.interface.serdes_phy.xc7_gtxsol_usb.gateware.interface.serdes_phy.xc7
sol_usb.gateware.streamsol_usb.gateware.stream.generator
sol_usb.gateware.usbsol_usb.gateware.usb.devicessol_usb.gateware.usb.devices.acm
sol_usb.gateware.usb.requestsol_usb.gateware.usb.request.windowssol_usb.gateware.usb.request.windows.descriptorSet
sol_usb.gateware.usb.request.controlsol_usb.gateware.usb.request.interfacesol_usb.gateware.usb.request.standard
sol_usb.gateware.usb.usb2sol_usb.gateware.usb.usb2.endpointssol_usb.gateware.usb.usb2.endpoints.isochronoussol_usb.gateware.usb.usb2.endpoints.statussol_usb.gateware.usb.usb2.endpoints.stream
sol_usb.gateware.usb.usb2.controlsol_usb.gateware.usb.usb2.descriptorsol_usb.gateware.usb.usb2.deserializersol_usb.gateware.usb.usb2.devicesol_usb.gateware.usb.usb2.endpointsol_usb.gateware.usb.usb2.packetsol_usb.gateware.usb.usb2.requestsol_usb.gateware.usb.usb2.resetsol_usb.gateware.usb.usb2.transfer
sol_usb.gateware.usb.usb3sol_usb.gateware.usb.usb3.applicationsol_usb.gateware.usb.usb3.application.descriptorsol_usb.gateware.usb.usb3.application.request
sol_usb.gateware.usb.usb3.endpointssol_usb.gateware.usb.usb3.endpoints.controlsol_usb.gateware.usb.usb3.endpoints.stream
sol_usb.gateware.usb.usb3.linksol_usb.gateware.usb.usb3.link.commandsol_usb.gateware.usb.usb3.link.crcsol_usb.gateware.usb.usb3.link.datasol_usb.gateware.usb.usb3.link.headersol_usb.gateware.usb.usb3.link.idlesol_usb.gateware.usb.usb3.link.layersol_usb.gateware.usb.usb3.link.ltssmsol_usb.gateware.usb.usb3.link.ordered_setssol_usb.gateware.usb.usb3.link.receiversol_usb.gateware.usb.usb3.link.timerssol_usb.gateware.usb.usb3.link.transmitter
sol_usb.gateware.usb.usb3.physicalsol_usb.gateware.usb.usb3.physical.alignmentsol_usb.gateware.usb.usb3.physical.codingsol_usb.gateware.usb.usb3.physical.ctcsol_usb.gateware.usb.usb3.physical.layersol_usb.gateware.usb.usb3.physical.lpfssol_usb.gateware.usb.usb3.physical.powersol_usb.gateware.usb.usb3.physical.scrambling
sol_usb.gateware.usb.usb3.protocolsol_usb.gateware.usb.usb3.protocol.datasol_usb.gateware.usb.usb3.protocol.endpointsol_usb.gateware.usb.usb3.protocol.layersol_usb.gateware.usb.usb3.protocol.link_managementsol_usb.gateware.usb.usb3.protocol.timestampsol_usb.gateware.usb.usb3.protocol.transaction
sol_usb.gateware.usb.usb3.requestsol_usb.gateware.usb.usb3.request.standard
sol_usb.gateware.usb.usb3.device
sol_usb.gateware.usb.devicesol_usb.gateware.usb.stream
sol_usb.gateware.utilssol_usb.gateware.utils.bussol_usb.gateware.utils.cdc
sol_usb.gateware.memorysol_usb.usb3sol_usb.usb2sol_usb.full_devices
Removed the
sol_usb.gateware.streammodule as it has been moved intotorii.lib.streams.simple.
Fixed¶
0.8.0 - 2025-06-26¶
[!IMPORTANT] This release is post to the split into torii-usb for the core gateware. For information on migrating please see the migration guide
This is a maintenance release, syncs the minimum Torii and torii-usb versions to 0.8.0 in preparation for
the Torii 1.0.0 release in the future.
Changed¶
Deprecated¶
All of the core USB gateware has been deprecated in favor of torii-usb. The following modules have been deprecated.
sol_usb.gateware.architecture.car.PHYResetControllersol_usb.gateware.interface.pipesol_usb.gateware.interface.ulpisol_usb.gateware.interface.utmisol_usb.gateware.interface.gateware_physol_usb.gateware.interface.gateware_phy.physol_usb.gateware.interface.gateware_phy.receiversol_usb.gateware.interface.gateware_phy.transmitter
sol_usb.gateware.interface.serdes_physol_usb.gateware.interface.serdes_phy.ecp5sol_usb.gateware.interface.serdes_phy.lfpssol_usb.gateware.interface.serdes_phy.xc7_gtpsol_usb.gateware.interface.serdes_phy.xc7_gtxsol_usb.gateware.interface.serdes_phy.xc7
sol_usb.gateware.streamsol_usb.gateware.stream.generator
sol_usb.gateware.usbsol_usb.gateware.usb.devicessol_usb.gateware.usb.devices.acm
sol_usb.gateware.usb.requestsol_usb.gateware.usb.request.windowssol_usb.gateware.usb.request.windows.descriptorSet
sol_usb.gateware.usb.request.controlsol_usb.gateware.usb.request.interfacesol_usb.gateware.usb.request.standard
sol_usb.gateware.usb.usb2sol_usb.gateware.usb.usb2.endpointssol_usb.gateware.usb.usb2.endpoints.isochronoussol_usb.gateware.usb.usb2.endpoints.statussol_usb.gateware.usb.usb2.endpoints.stream
sol_usb.gateware.usb.usb2.controlsol_usb.gateware.usb.usb2.descriptorsol_usb.gateware.usb.usb2.deserializersol_usb.gateware.usb.usb2.devicesol_usb.gateware.usb.usb2.endpointsol_usb.gateware.usb.usb2.packetsol_usb.gateware.usb.usb2.requestsol_usb.gateware.usb.usb2.resetsol_usb.gateware.usb.usb2.transfer
sol_usb.gateware.usb.usb3sol_usb.gateware.usb.usb3.applicationsol_usb.gateware.usb.usb3.application.descriptorsol_usb.gateware.usb.usb3.application.request
sol_usb.gateware.usb.usb3.endpointssol_usb.gateware.usb.usb3.endpoints.controlsol_usb.gateware.usb.usb3.endpoints.stream
sol_usb.gateware.usb.usb3.linksol_usb.gateware.usb.usb3.link.commandsol_usb.gateware.usb.usb3.link.crcsol_usb.gateware.usb.usb3.link.datasol_usb.gateware.usb.usb3.link.headersol_usb.gateware.usb.usb3.link.idlesol_usb.gateware.usb.usb3.link.layersol_usb.gateware.usb.usb3.link.ltssmsol_usb.gateware.usb.usb3.link.ordered_setssol_usb.gateware.usb.usb3.link.receiversol_usb.gateware.usb.usb3.link.timerssol_usb.gateware.usb.usb3.link.transmitter
sol_usb.gateware.usb.usb3.physicalsol_usb.gateware.usb.usb3.physical.alignmentsol_usb.gateware.usb.usb3.physical.codingsol_usb.gateware.usb.usb3.physical.ctcsol_usb.gateware.usb.usb3.physical.layersol_usb.gateware.usb.usb3.physical.lpfssol_usb.gateware.usb.usb3.physical.powersol_usb.gateware.usb.usb3.physical.scrambling
sol_usb.gateware.usb.usb3.protocolsol_usb.gateware.usb.usb3.protocol.datasol_usb.gateware.usb.usb3.protocol.endpointsol_usb.gateware.usb.usb3.protocol.layersol_usb.gateware.usb.usb3.protocol.link_managementsol_usb.gateware.usb.usb3.protocol.timestampsol_usb.gateware.usb.usb3.protocol.transaction
sol_usb.gateware.usb.usb3.requestsol_usb.gateware.usb.usb3.request.standard
sol_usb.gateware.usb.usb3.device
sol_usb.gateware.usb.devicesol_usb.gateware.usb.stream
sol_usb.gateware.utilssol_usb.gateware.utils.bussol_usb.gateware.utils.cdc
sol_usb.gateware.memorysol_usb.usb3sol_usb.usb2sol_usb.full_devices
The
sol_usb.gateware.streammodule has been absorbed into Torii’storii.lib.streams.simplemodule forStreamInterfaceandStreamArbiter.
0.5.0 - 2025-03-07¶
[!IMPORTANT] This release is prior to the split into torii-usb for the core gateware.
Changed¶
Fixed¶
Handful of little typing fixes.
Fixed miss-using some of the IO resources, they happened to work, if only by accident.
0.4.1 - 2025-01-06¶
Changed¶
Fixed¶
Fixed a deprecation warning from Python where we used a
~on a boolean value.Fixed a typo in the
gateware.interface.ulpimodule (s/UPLI/ULPI/g)Fixed the
USBStandardRequestHandlerhandling requests directed to things other than the device.Fixed a bug in the
GatewarePHYwhere we used the Record value itself rather than the appropriate subsignal.
0.4.0 - 2024-07-10¶
Added¶
Added test USB data from a real capture to fully test analyzer buffering.
Added fast USB traffic test.
Added type annotations for
SetupPacketAdded test for emptying the packet buffer once every
SOF(Start Of Frame) in tandem with the data input simulation.Added missing dependency
luminary-fpgafor platform functionality.
Changed¶
Finished extracting tests into their own tree out of the implementation files.
Updated minimum python version to match with Torii, it is now 3.10.
Improved analyzer applet overrun handling on the secondary packet buffer side.
Fixed¶
Fixed warnings coming from the CDC tests.
Fixed missing type annotations from the UTMI interface types.
Fixed missing type annotations from the stream interface type.
Fixed missing type annotations for the FIFOs and UTMI interfaces in the analyzer.
Fixed an exception getting thrown in the analyzer when the platform doesn’t support the
power_a_portandpass_through_vbussignals.Fixed missing type annotations for the DUT and UTMI interfaces in the analyzer tests.
Fixed missing type annotations in the test utilities and cleaned up the implementation of
SolGatewareTestCase.wait()Fixed USB analyzer polling interval requested by the exfiltration endpoint.
Fixed missing type annotations on the UTMI translator type in the ULPI interface.
Fixed missing type annotations on the ULPI interface type.
Fixed missing type annotations for
USBAnalyzerStackTest.Fixed the check to see if the bus translator was in use or not.
Fixed improper use of empty Torii
Case()elements as stricter enforcement of usingDefault()has been implemented.Fixed UDEV rules.
0.3.0 - 2023-10-19¶
Added¶
Added
handler_conditionto USB RequestsAdded automatic construction of
StallOnlyRequestHandlerAdded pcapng support for capture applet
Added a
CONTRIBUTING.mdfileAdded support for dynamic capture speed selection in analyzer
Added ability to request supported speeds from analyzer
Added ability to discard invalid/unknown data in the analyzer and restart the capture
Added an
rx_invalidsignal forRequestHandlerInterfaceto indicate invalid reception
Changed¶
Updated from rich
12.6.0to13.0.0Improved Analyzer speed
Updated
SimpleSoCto bring it up to date withtorii.socandlambdasocUpdated torii minimum version to >=0.5.0
Moved the speed test device gateware into the applet gateware library
Fixed¶
Various code formatting cleanups.
Fixed Analyzer capture engine overflow problem
Fixed UTMI/ULPI typo
Fixed Analyzer overflow handling
Fixed overflow handling on the primary analyzer FIFO
Fixed an issue with the return type of USBPacketID.byte()
Fixed signed/unsigned conversion error in USB2 descriptor handling
Implemented missing
.shape()method forECP5DebugSPIBridgeFixed using
Pinobjects as if they were rawSignalsFixed missing
**kwargsin thetoolchain_preparemethod ofLUNAApolloPlatform
0.2.0 - 2022-12-18¶
Added¶
Added preliminary type annotations.
Added the
CHANGELOG.md.
Changed¶
Changed the needed dependencies.
Removed all of the pure git url dependencies to allow us to be packaged for pypi.
Altered the way the
lambdasocdependency was used for theSimpleSoCmodule.Changed the package name from
soltosol_usbto prevent pypi conflict.Changed the name of some documents to fall more in line with expected names.
Changed from a poetry based build to purely using setup.py.
Swapped out tox for nox.
Replaced old Amaranth HDL deps with Torii.
Replaced old python-usb-protocol with usb-construct.
Removed¶
Removed all of the 3rd party platform definitions except for the
LUNAplatforms.Removed the old
requirements.txt
Fixed¶
Fixed a large chunk of code style and formatting.
Fixed the documentation, it should now be more useful.
0.1.0¶
No changelog is provided for this version as it is a hold-over / demarcation of the divergence from LUNA.