Linux software support for the Simple VME FMC Carriec (SVEC) module
described at the hardware project
svec-sw comes with:
a kernel module (driver for SVEC carriers)
a set of configuration utilities
documentation for the above
In the image below you can see overview of the architecture behind this
The components developed within this project are in dark blue, the
necessary components from other projects are shown in light
Architecture of the SVEC software project*
svec-sw is based on the fmc-bus concept; theoretically it allows to
manage FMC devices (FPGA bitstream)
in a carrier-independent way. In other words, the svec-sw implements the
fmc-bus API, so the
FPGA driver will act on the FPGA without caring about the carrier board
(SVEC in this case).
Actually, it is not completely true due to the dependencies with the
vmebridge, so the FPGA driver
cannot be completely detached from the carrier board.
The basic software for the SVEC carrier configures the board,
pre-programs it with a
basic golden bitstream to bootstrap identification of FMC mezzanines,
the SVEC with the required application gateware and registers the FMC
Thanks to the fmc-bus abstraction, FPGA drivers (sometimes erroneously
FMC drivers) can remain (almost) agnostic about their mezzanines'
In order to retrieve information about the VME bus, as shown in the
above picture, the svec-sw
has a little dependency with the vmebridge (also known as vmebus).
Currently, this project
is not part of OHWR and we cannot include it as sub-module of this
project. But, you can find
the source code at http://repo.or.cz/w/tsi148vmebridge.git