NEW PCIe over USB-C Thunderbolt 3/4 interface for SQRL Acorn/Nitefury CLE-215(+) - Page 1
Forum section: electronics / general

author: SMB784
author_rank: Frequent Contributor
timestamp: November 12, 2021, 09:29:44 pm
content: Hey everyone! I have integrated theM.2 format SQRL/Nitefury Artix-7 FPGA boardinto a thunderbolt enclosure so that any computer with a thunderbolt port (most laptops and desktops these days) can use these boards as PCIe connected devices without the need for a dedicated PCIe slot or a PCIe riser board.Using the SQRL_quickstart loadout, these surplus abandonware FPGAs become a really neat development board with DMA access. You can even flash the devices via PCIe without needing to use a JTAG interface (albeit after you first flash my SQRL_quickstart bitstream via JTAG).The SQRL quickstart loadout uses the LiteX litepcie interface the device via PCIe at full x4 lane speed (see attached dma test). It also blinks all user addressable LEDs and outputs unique frequency square waves on all 12 GPIO outputs. This allows you to do perform a full suite of functionality tests on any new SQRL/Nitefury device you may get.All of the aforementioned bitstreams and other software for flashing the devices can be found on my github repo below:https://github.com/SMB784/SQRL_quickstart

author: SMB784
author_rank: Frequent Contributor
timestamp: November 16, 2021, 08:38:24 pm
content: Small update: I tested this with a Thunderbolt 4 board, and it works with that chipset as well. Both are plug&play with the SQRL quickstart bitstream provided on the github link.

author: Cerebus
author_rank: Super Contributor
timestamp: November 17, 2021, 02:41:06 pm
content: Hmm, interesting. (Just so as you know someone is paying attention and the effort is appreciated.)

author: Thorns514
author_rank: Newbie
timestamp: November 20, 2021, 01:44:32 am
content: ditto, this is actually super, super cool, thanks

author: Thorns514
author_rank: Newbie
timestamp: November 20, 2021, 02:07:33 am
content: In fact I just ordered one from ebay, so I can try it out ...

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 23, 2021, 02:32:12 am
content: Any idea if it could emulate a NVMe device so that a NVMe to USB 3 board could be used?

author: SMB784
author_rank: Frequent Contributor
timestamp: November 23, 2021, 12:25:32 pm
content: Quote from: NiHaoMike on November 23, 2021, 02:32:12 amI have no idea, so maybe! I looked into doing that at first, but that was way beyond my skill set. I'm just a simple physicist, not an HDL developer sadly.

author: langwadt
author_rank: Super Contributor
timestamp: November 23, 2021, 12:32:10 pm
content: Quote from: NiHaoMike on November 23, 2021, 02:32:12 amisn't NVMe just protocol used on PCIe ?

author: FenTiger
author_rank: Regular Contributor
timestamp: November 23, 2021, 02:05:29 pm
content: Quote from: langwadt on November 23, 2021, 12:32:10 pmYes, it is. (Well, it can run over TCP and RDMA too, but that's not relevant here.)

author: abyrvalg
author_rank: Frequent Contributor
timestamp: November 23, 2021, 10:38:30 pm
content: NVMe would be rather complicated to implement. It has several levels of indirection: create an “admin” command queue in the host memory, tell the device where is it, populate it with command descriptors, ring the “doorbell”, device processes the queue via DMA. And to do an actual bulk transfer you need to use an admin command to create another queue (“submission queue”) to which you can post reads/writes finally. Plus various device information requests. For example, iPhone’s embedded NVMe has a dedicated Cortex-R handling the host comms.It would be much better to work the other end - make an USB-NVMe enclosure controller to talk some simpler protocol over PCIe, but those manufacturers (JMicron, ASMedia, Realtek) would never release an SDK for their chips.