User Tools

Site Tools


Screamer M.2

Buy it on our shop:


Features & Specifications

  • FPGA Chipset: Xilinx 7 Series XC7A35T
  • Memory:
    • 256Mb SPI Flash for FPGA self-configuration
  • USB Chipset: USB 3.0 FTDI FT601
  • PCIe Bandwidth: PCIe x4 Gen 2.0: 5GT/s
  • System Clock: Frequency: 100 MHz
  • User Interfaces:
    • 2 x LED
    • 1 x reset button
  • JTAG: 6 pins JTAG connector for FPGA programming
  • Input Voltage: 3.3V supplied from PCIe/M.2
  • GPIO (Testpoints): 2 pins + GND
  • Dimensions: M.2 2280: 22 mm x 80 mm
  • M.2 key: Key M

Adapter cards

The Screamer M.2 comes with 2 PCIe adapter cards:

  • PCIe x4 to M.2:

  • PCIe x1 to M.2:


  • SW1: FPGA Program/Reset


  • LD1: User Led (Green)
  • LD2: User Led (Green)
  • LD3: FPGA Prog Done (Green)

Quick Start

1. Insert the Screamer M.2

Optionally use the provided adapter cards to fit your target.

2. Power the target system

Once booted, FPGA prog done LED LD3 will be green.

3. Connect with USB 3

Plug the USB 3 cable to the Screamer M.2 and to your control computer.

Gateware & Software

Program the SPI Flash

Refer to the SPI Flash Programming section of JTAG+Serial Programmer for detailed instructions.

In short:

1. Power the Screamer from the PCIe M.2 connector ! (JTAG cable alone does not provide all the voltage required)

2. Connect the JTAG cable to the corresponding pins on the Screamer board.

3. Get the latest version of openocd from:

4. Get the proxy bitstream “bscan_spi_xc7a35t.bit” from:

5. Program the SPI Flash using this configuration file:

interface ftdi
ftdi_vid_pid 0x0403 0x6011
ftdi_channel 0
ftdi_layout_init 0x0098 0x008b
reset_config none
source [find cpld/xilinx-xc7.cfg]
source [find cpld/jtagspi.cfg]
adapter_khz 10000
proc fpga_program {} {
    global _CHIPNAME
    xc7_program $_CHIPNAME.tap
jtagspi_init 0 bscan_spi_xc7a35t.bit
jtagspi_program pcileech_screamer_m2_top.bin 0x0
openocd -f flash_screamer.cfg


In case of programming error, refer to Troubleshooting

Error: the FPGA does not boot

The programming went well but the FPGA Prog Done LED is not green.

You may have an issue with the Flash SPI Quad Enable bit. This bit should have been set on the Screamer M.2 at the factory, but maybe your board got skipped in the process. You can reenable the bit this way:

1. Apply this patch on OpenOCD:


cd openocd
git apply qe_command.patch
sudo make install

2. In the flash_screamer.cfg file, replace the “fpga_program” fonction by this one:

proc fpga_program {} {
    jtagspi set_qe 0 1
    global _CHIPNAME
    xc7_program $_CHIPNAME.tap

3. Run OpenOCD again:

openocd -f flash_screamer.cfg
products/screamer_m2.txt · Last modified: 2020/07/07 20:11 by po

Page Tools