XC18V04 Serial Prom IDCODE not recognized by Impact

SIS3100, SIS3300, SIS3301 SIS3820 and several other Struck boards use the Xilinx XC18V04 Serial PROM to hold the firmware that is uploaded to the FPGA at power up.

Depending on the Impact version and the Silicon of the XC18V04  you may get an error message indicating, that the IDCODE of your PROM does not meet the expectance.

INFO:iMPACT:583 – ‘2’: The idcode read from the device does not match the idcode   in the bsdl File.
INFO:iMPACT:1578 – ‘2’:  Device IDCODE :        00000101000000100110000010010011
INFO:iMPACT:1579 – ‘2’: Expected IDCODE:    00000101000000110110000010010011

You will want to locate and modify the xc18v04.bsd file:

..\ISE_DS\ISE\xc18v00\data\ xc18v04.bsd


attribute IDCODE_REGISTER of XC18V04: entity is

“XXXX” &                — version

“0101000000110110” &    — part number

“00001001001” &         — manufacturer’s id

“1”;                    — required by standard


attribute IDCODE_REGISTER of XC18V04: entity is

“XXXX” &                — version

“01010000001X0110” &    — part number

“00001001001” &         — manufacturer’s id

“1”;                    — required by standard

You may want to refer to the URLs below also:

Xilinx Forum 1

Xilinx Forum 2

Posted in Firmware | Tagged , , , , | Leave a comment

SIS8300-L2 Firmware with PME_turn_off Workaround

The (non AXI) PCI Express endpoint of the Virtex 6 can be rendered inaccessible after a PME_turn_off command (from a CPU reboot). A core reset was added to the pcie_interface.vhd as a workaround in that situation with minor firmware revision 0x0E.

The ready to use PROM files for the DWC and SIS8900 versions can be dowloaded from:

SIS8300-L2 firmware page

URLs for the macro versions will be emailed on request.

We would like to thank the team at N.A.T for the support in locating the issue and testing the workaround implementation.

Posted in Digitizer, Firmware | Tagged , , , , | Leave a comment

TAMU SHE SIS3316 Si/YAP Readout Using HE and Trigger Mask Functionality

Super Heavy Element (SHE) production imposes stringent requirements on trigger generation. TAMU uses a set of four 16 channel 250 MSPS 14-bit SIS3316 digitizers to read out a setup consisting of YAP and Silicon detectors.

An advanced triggering scheme utilizing the more recent SIS3316 high energy trigger in combination with trigger mask functionality  is employed.


Link to TAMU SHE Blog entry

Thanks to Sara Wuenschel-Horn for the description of the setup.

Posted in Digitizer, Firmware | Tagged , , | Leave a comment

SIS8300-L2 Windows Labview Support

Fini Jastrow of DESY has developed a SIS8300-L2 VI, which is based on Struck’s single read, single write, DMA read and DMA write Windows Driver calls.

It is available to interested parties under the Lesser Gnu Public License (LGPL).

Screenshots of the menu, the running code and the block diagram are shown below.

sis8300-l2-lvmenue sis8300-l2-lvfront sis8300-l2-lvcode

Thanks a lot to Fini Jastrow for the contribution.

Posted in Digitizer, Driver, Labview | Tagged , , , | Leave a comment

Multiple SIS3316 Digitizer Readout Performance over 10G Ethernet Switch

GBit/s Ethernet readout of a 16 channel SIS3316 125/250 MSPS digitizer yields a block transfer throughput in excess of 80 MByte/s. Parallel readout of multiple SIS3316s over a 10 GBit/s (10G) switch into a computer with 10G Ethernet card is a method to build data acquisition setups with several 100 MByte/s of sustained throughput.

Note: both optical and copper SFP transceivers are supported on the SIS3316

The PDF below describes the performance of a 5 SIS3316 readout speed demonstration  setup with a Zyxel 10G Ethernet switch and a readout PC with 10G Ethernet card. Data rates in excess of 400 MByte/s are demonstrated.


Posted in Digitizer | Tagged , , , | Leave a comment

Windows (and LabVIEW) Support for SIS8300-x, SIS8325 and SIS8800 MTCA.4 cards

A signed Windows driver with the following functions is available:

open, close, single word read, single word write, DMA read, DMA write.

So far it is tested under Windows 7.

Mininmalistic LabVIEW VIs are available for that function set too.

A more extensive SIS8300-L2 VI is currently under development at a user site (we’ll keep you posted)

Posted in Digitizer, Driver, Labview | Tagged , , , | Leave a comment

Helmholtz Association gives Green light for industrial alliance “MicroTCA.4 Tech Lab”

Helmholtz Association promotes development of high-speed electronics Standard.


Struck Innovative Systeme is proud to be one of the Partners of the  MicroTCA.4 Tech Lab

and is looking  forward to enable new applications and technologies on the base of the MTCA.4 Standard.


Posted in Uncategorized | Leave a comment

How to make the arp command resistant to reboot on OS X.

For SIS3316 Ethernet operation you may want your OS X system to execute an arp command at startup.

Thanks to Bela Farago from ILL for pointing us to the link below:


Needs a launchd daemon, which waits until the network is up and then executes arp -s…

Note, OS X does not like (take) the -i option, thus the scripts given there are the good ones.

Posted in Digitizer | Leave a comment

IHEP Beijing reports stable ADS LINAC 1 operation with MTCA.4 based LLRF

IHEP Beijing reports stable operation of the ADS injector 1 at 10.7 mA beam current. The Proton LINAC is the first large scale accelerator in China based on a MTCA.4 LLRF system.

Struck furnished SIS8300-L and L2 digitizer AMCs with SIS8900 RTMs including infrastructure (crates, MCH’s and SBC’s) for the project and would like to congratulate the IHEP team on its success.

IHEP Beijing ADS LINAC 1 operation announcement

Posted in Digitizer, LLRF | 1 Comment

Fix for compilation error for SIS1100 Linux driver under kernel 4.2.x

Used Driver:


Error Description:

Building errors:
CC [M]
In function ‘sis1100_ddma_unmap_block’:
error: implicit declaration of function ‘vfree’
In function ‘sis1100_ddma_map_block’:
error: implicit declaration of function ‘vmalloc’
block->desc_pages=vmalloc(block->dsegs* sizeof(struct sis1100_dmapage));
warning: assignment makes pointer from integer without a cast
block->desc_pages=vmalloc(block->dsegs* sizeof(struct sis1100_dmapage));


Fixing is simple, just add the missing include “#include <linux/vmaclloc.h>” to “compat_linux.h”.
+++ b/vme/sis3100/driver/src/compat_linux.h
@@ -41,6 +41,7 @@
#include <linux/kthread.h>
#include <linux/delay.h>
#include <linux/time.h>
+#include <linux/vmalloc.h>
#include <asm/poll.h>
#include <asm/uaccess.h>

Thanks and DKMS option:

Thanks to Exaos Lee from China Institute of Atomic Energy for bringing this to our attention.

Eaxos generated a DKMS version of the 2.13-9 also, which can be emailed to interested parties.

Posted in Driver | Tagged , , , | Leave a comment