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 UTMI PHY |
complete, needs testing |
high-/full-speed with ULPI PHY |
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 |
IN stream helpers |
feature complete | |
OUT stream helpers |
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 |
IN transfer helpers |
complete; needs examples and testing | |
OUT transfer helpers |
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 |