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¶
Added¶
Changed¶
Deprecated¶
Removed¶
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.PHYResetController
sol_usb.gateware.interface.pipe
sol_usb.gateware.interface.ulpi
sol_usb.gateware.interface.utmi
sol_usb.gateware.interface.gateware_phy
sol_usb.gateware.interface.gateware_phy.phy
sol_usb.gateware.interface.gateware_phy.receiver
sol_usb.gateware.interface.gateware_phy.transmitter
sol_usb.gateware.interface.serdes_phy
sol_usb.gateware.interface.serdes_phy.ecp5
sol_usb.gateware.interface.serdes_phy.lfps
sol_usb.gateware.interface.serdes_phy.xc7_gtp
sol_usb.gateware.interface.serdes_phy.xc7_gtx
sol_usb.gateware.interface.serdes_phy.xc7
sol_usb.gateware.stream
sol_usb.gateware.stream.generator
sol_usb.gateware.usb
sol_usb.gateware.usb.devices
sol_usb.gateware.usb.devices.acm
sol_usb.gateware.usb.request
sol_usb.gateware.usb.request.windows
sol_usb.gateware.usb.request.windows.descriptorSet
sol_usb.gateware.usb.request.control
sol_usb.gateware.usb.request.interface
sol_usb.gateware.usb.request.standard
sol_usb.gateware.usb.usb2
sol_usb.gateware.usb.usb2.endpoints
sol_usb.gateware.usb.usb2.endpoints.isochronous
sol_usb.gateware.usb.usb2.endpoints.status
sol_usb.gateware.usb.usb2.endpoints.stream
sol_usb.gateware.usb.usb2.control
sol_usb.gateware.usb.usb2.descriptor
sol_usb.gateware.usb.usb2.deserializer
sol_usb.gateware.usb.usb2.device
sol_usb.gateware.usb.usb2.endpoint
sol_usb.gateware.usb.usb2.packet
sol_usb.gateware.usb.usb2.request
sol_usb.gateware.usb.usb2.reset
sol_usb.gateware.usb.usb2.transfer
sol_usb.gateware.usb.usb3
sol_usb.gateware.usb.usb3.application
sol_usb.gateware.usb.usb3.application.descriptor
sol_usb.gateware.usb.usb3.application.request
sol_usb.gateware.usb.usb3.endpoints
sol_usb.gateware.usb.usb3.endpoints.control
sol_usb.gateware.usb.usb3.endpoints.stream
sol_usb.gateware.usb.usb3.link
sol_usb.gateware.usb.usb3.link.command
sol_usb.gateware.usb.usb3.link.crc
sol_usb.gateware.usb.usb3.link.data
sol_usb.gateware.usb.usb3.link.header
sol_usb.gateware.usb.usb3.link.idle
sol_usb.gateware.usb.usb3.link.layer
sol_usb.gateware.usb.usb3.link.ltssm
sol_usb.gateware.usb.usb3.link.ordered_sets
sol_usb.gateware.usb.usb3.link.receiver
sol_usb.gateware.usb.usb3.link.timers
sol_usb.gateware.usb.usb3.link.transmitter
sol_usb.gateware.usb.usb3.physical
sol_usb.gateware.usb.usb3.physical.alignment
sol_usb.gateware.usb.usb3.physical.coding
sol_usb.gateware.usb.usb3.physical.ctc
sol_usb.gateware.usb.usb3.physical.layer
sol_usb.gateware.usb.usb3.physical.lpfs
sol_usb.gateware.usb.usb3.physical.power
sol_usb.gateware.usb.usb3.physical.scrambling
sol_usb.gateware.usb.usb3.protocol
sol_usb.gateware.usb.usb3.protocol.data
sol_usb.gateware.usb.usb3.protocol.endpoint
sol_usb.gateware.usb.usb3.protocol.layer
sol_usb.gateware.usb.usb3.protocol.link_management
sol_usb.gateware.usb.usb3.protocol.timestamp
sol_usb.gateware.usb.usb3.protocol.transaction
sol_usb.gateware.usb.usb3.request
sol_usb.gateware.usb.usb3.request.standard
sol_usb.gateware.usb.usb3.device
sol_usb.gateware.usb.device
sol_usb.gateware.usb.stream
sol_usb.gateware.utils
sol_usb.gateware.utils.bus
sol_usb.gateware.utils.cdc
sol_usb.gateware.memory
sol_usb.usb3
sol_usb.usb2
sol_usb.full_devices
The
sol_usb.gateware.stream
module has been absorbed into Torii’storii.lib.streams.simple
module forStreamInterface
andStreamArbiter
.
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.ulpi
module (s/UPLI/ULPI/g
)Fixed the
USBStandardRequestHandler
handling requests directed to things other than the device.Fixed a bug in the
GatewarePHY
where 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
SetupPacket
Added test for emptying the packet buffer once every
SOF
(Start Of Frame) in tandem with the data input simulation.Added missing dependency
luminary-fpga
for 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_port
andpass_through_vbus
signals.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_condition
to USB RequestsAdded automatic construction of
StallOnlyRequestHandler
Added pcapng support for capture applet
Added a
CONTRIBUTING.md
fileAdded 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_invalid
signal forRequestHandlerInterface
to indicate invalid reception
Changed¶
Updated from rich
12.6.0
to13.0.0
Improved Analyzer speed
Updated
SimpleSoC
to bring it up to date withtorii.soc
andlambdasoc
Updated 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 forECP5DebugSPIBridge
Fixed using
Pin
objects as if they were rawSignals
Fixed missing
**kwargs
in thetoolchain_prepare
method 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
lambdasoc
dependency was used for theSimpleSoC
module.Changed the package name from
sol
tosol_usb
to 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
LUNA
platforms.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.