Supported SSDs
Selecting SSDs
The FPGA Drive FMC is an adapter that has been designed to support PCIe Gen1 to Gen3. If you are using an M2 SSD that supports PCIe Gen1,2 or 3, then it terms of the physical hardware, it is fully compatible with the FPGA Drive FMC. In reality there are other layers involved that can cause incompatibility or usage issues (eg. the version of PetaLinux used, the version of NVMe built into the SSD, the transceiver settings in the Vivado design, etc).
To minimize your chances of running into incompatibility issues, we recommend always using the latest reference designs in our Github repository. We also recommend using newer SSDs rather than older models that are no longer available, or that are likely to have older versions of the NVMe protocol built into them.
List of tested SSDs
The following is a list of SSDs that have been tested with the FPGA Drive FMC and the reference design. This is by no means a comprehensive list and we have intentionally not provided web links to the specific SSDs as the market for M2 SSDs is constantly changing. We rely to some degree on customer experiences to keep this list as up-to-date and as useful as possible.
SSD (brand and model) | Keying |
---|---|
Crucial P5 | M |
Delkin Industrial M2 SSD (PN: MB1HFRCFD-80000-2) | B+M |
Intel Optane Memory | B+M |
Kingston KC2500 | M |
Samsung 950 PRO | M |
Samsung 970 EVO | M |
Western Digital Black SN750 | M |
You can help us maintain this list by communicating your experiences to us or by simply contributing to the documentation on our Github repo.
List of supported boards
Carrier board | FMC | No. SSDs |
---|---|---|
Zynq-7000 PicoZed FMC Carrier Card V2 with PicoZed 7030 | LPC | Single SSD |
Kintex-7 KC705 Evaluation board | LPC | Single SSD |
HPC | Single SSD | |
Kintex UltraScale KCU105 Evaluation board | LPC | Single SSD |
HPC | Single & dual SSD | |
Virtex-7 VC707 Evaluation board | HPC1 | Single SSD |
HPC2 | Single SSD | |
Virtex-7 VC709 Evaluation board | HPC | Single SSD |
Zynq-7000 ZC706 Evaluation board | LPC | Single SSD |
HPC | Single SSD | |
Zynq UltraScale+ ZCU104 Evaluation board | LPC | Single SSD |
Zynq UltraScale+ ZCU106 Evaluation board | HPC0 | Single & dual SSD |
HPC1 | Single SSD | |
Zynq UltraScale+ ZCU111 Evaluation board | FMC+ | Single & dual SSD |
Zynq UltraScale+ UltraZed EV Carrier Card | HPC | Dual SSD design |
Unlisted boards
If you need more information on whether the FPGA Drive FMC is compatible with a carrier that is not listed above, please first check the compatibility list. If the carrier is not listed there, please contact Opsero, provide us with the pinout of your carrier and we’ll be happy to check compatibility and generate a Vivado constraints file for you.
Board specific notes
AC701 and KC705
-
These designs use the AXI EthernetLite IP for their onboard Ethernet ports. This IP does not require a license, but limits the link speed to 100Mbps.
KCU105, VC707, VC709
-
The on-board Ethernet port for these boards is not connected in these designs because they are not supported by the free AXI EthernetLite IP. The block design build script (design_1-mb.tcl) contains the code to add the AXI Ethernet IP for these boards and can be uncommented if Ethernet is desired.
KCU105
-
This design uses the Quad SPI flash in dual mode with SPIx8 interface (64MB total storage).
PicoZed and UltraZed-EV
Installation of board definition files
To use this project on the PicoZed or UltraZed-EV, you must first install the board definition files for these boards into your Vivado installation.
The following folders contain the board definition files and can be found in this project repository at this location:
https://github.com/fpgadeveloper/fpga-drive-aximm-pcie/tree/master/Vivado/boards/board_files
-
picozed_7015_fmc2
-
picozed_7030_fmc2
-
ultrazed_7ev_cc
Copy those folders and their contents into the C:\Xilinx\Vivado\2020.2\data\boards\board_files
folder (this may be different on your machine, depending on your Vivado installation directory).
PicoZed FMC Carrier Card V2
On this carrier, the GBTCLK0 of the LPC FMC connector is routed to a clock synthesizer/MUX, rather than being directly connected to the Zynq. In order to use the FPGA Drive FMC on the PicoZed FMC Carrier Card V2, you will need to reconfigure the clock synthesizer so that it feeds the FMC clock through to the Zynq. To change the configuration, you must reprogram the EEPROM (U14) where the configuration is stored. Avnet provides an SD card boot file that can be run to reprogram the EEPROM to the configuration we need for this project. The boot files have been copied to the links below for your convenience:
Just boot up your PicoZed FMC Carrier Card V2 using one of those boot files, and the EEPROM will be reprogrammed as required for this project. For more information, see the PicoZed Hardware User Guide for the PicoZed FMC Carrier Card V2.
ZCU106
The ZCU106 has two HPC FMC connectors, HPC0 and HPC1. The HPC0 connector has enough connected gigabit transceivers to support 2x SSDs, each with an independent 4-lane PCIe interface. The HPC1 connector has only 1x connected gigabit transceiver, so it can only support 1x SSD (SSD1) with a 1-lane PCIe interface. This project contains designs for both of these connectors.
ZCU111
The ZCU111 has a single FMC+ connector that can support 2x SSDs, each with an independent 4-lane PCIe interface.