Status & Support
The LUNA library is a work in progress; but many of its features are usable enough for inclusion in your own designs. More testing of our work – and more feedback – is always appreciated!
Support for Device Mode
Feature |
Status |
|
---|---|---|
USB Communications |
high-/full-speed with |
complete, needs testing |
high-/full-speed with |
feature complete |
|
full-speed using raw gpio / pull resistors |
feature complete |
|
super-speed using PIPE PHY |
basic support complete; still experimental |
|
super-speed using SerDes PHY |
in progress |
|
low speed, via ULPI/UTMI PHY |
untested |
|
low speed, using raw gpio / pull resistors |
unsupported, currently |
|
Control Transfers / Endpoints |
user-defined |
feature complete |
fully-gateware-implemented, with user vendor request handler support |
complete, could use improvements |
|
CPU interface |
working; needs more interfaces & examples |
|
Bulk Transfers / Endpoints |
user-defined |
feature complete |
|
feature complete |
|
|
feature complete |
|
CPU interface |
working; needs more interfaces & examples |
|
Interrupt Transfers / Endpoints |
user-defined |
feature complete |
status-to-host helper |
complete, needs testing |
|
status-from-host helper |
planned |
|
CPU interface |
working; needs more interfaces & examples |
|
Isochronous Transfers / Endpoints |
user-defined |
planned |
|
complete; needs examples and testing |
|
|
planned |
|
CPU interface |
planned |
|
USB Analysis |
basic analysis |
basic analysis working, in progress |
full analysis support |
planned |
Support for Host Mode
The LUNA library currently does not provide any support for operating as a USB host; though the low-level USB communications interfaces have been designed to allow for eventual host support. Host support is not currently a priority, but contributions are welcome.
“Reference” Boards
The LUNA library is intended to work on any FPGA with sufficient fabric performance and resources; but testing is only performed on a collection of reference boards.
Board |
FPGA Family |
PHY |
Status |
---|---|---|---|
LUNA Hardware |
ECP5 |
ULPI x3 (USB3343) |
Fully Supported |
OpenVizsla USB Analyzer |
Spartan 6 |
ULPI (USB3343) |
Fully Supported |
LambdaConcept ECPIX-5 |
ECP5 |
ULPI (USB3300), SerDes PHY |
High-Speed Fully Supported / Super-Speed In Progress |
TinyFPGA Ex |
ECP5 |
SerDes PHY |
Planned Super-Speed Device Mode |
Logicbone |
ECP5 |
SerDes PHY |
Full-Speed Fully Supported / Super-Speed In Progress |
Daisho |
Cyclone IV |
PIPE (TUSB1310A) |
Planned Super-Speed Device Mode |
PHYWhisperer-USB |
Spartan 7 |
UTMI |
Planned Device Mode Support |
LambdaConcept USB2Sniffer |
Artix 7 |
ULPI x2 (USB3300) |
Fully Supported |
OrangeCrab |
ECP5 |
no hardware PHY |
Full-Speed/Device Mode Support |
ULX3S |
ECP5 |
no hardware PHY |
Full-Speed/Device Mode Support |
Fomu PVT/Hacker |
iCE40 UP |
no hardware PHY |
Full-Speed/Device Mode Support |
Fomu EVT3 |
iCE40 UP |
no hardware PHY |
Full-Speed/Device Mode Support |
iCEBreaker Bitsy |
iCE40 UP |
no hardware PHY |
Full-Speed/Device Mode Support |
Glasgow |
iCE40 HX |
no hardware PHY |
Planned Full-Speed Support |
TinyFPGA Bx |
iCE40 LP |
no hardware PHY |
Full-Speed/Device Mode Support |
Digilent Nexys Video (SS with add-on board) |
Artix 7 |
FMC for PIPE (TUSB1310A) add-on boards |
Super-Speed Fully Supported |
Digilent Genesys2 (SS with add-on board) |
Kintex 7 |
ULPI (TUSB1210), FMC for PIPE (TUSB1310A) add-on boards |
High/Super-Speed Fully Supported |