First download the project from git. Requires git >= x.x.x and lfs.
> git lfs install
> git clone https://github.com/slaclab/dev-board-examples.git
> cd dev-board-examples
> git submodule init
> git submodule update --recursive
Alternatively you can download a tarball from here:
A pre-compiled image is included in:
dev-board-examples-v1.0.0/firmware/targets/XilinxKC705DevBoard/Kc705Pgp/images/Kcu105Pgp-0x00000001-20170330105909-ruckman-dirty.bit.gz
Uncompress the bit file with:
> gzip -d Kcu105Pgp-0x00000001-20170330105909-ruckman-dirty.bit.gz
and load into the evaluation board using vivado.
Compile the project. Requires linux and vivado 2016.4
> cd dev-board-examples-v1.0.0/firmware
Our build system requires a local build directory for the compile. You can either
> mkdir build
Or create a link to a scratch area:
> ln -s /u/local/build build
Go to the proper target for a KCU105 board with PGP support:
> cd targets/XilinxKC705DevBoard/Kc705Pgp
Build the project:
> make
The output will be in the images directory.
Download the driver package from github.com
> wget https://github.com/slaclab/aes-stream-drivers/archive/v1.0.1.tar.gz
> tar -xvvzpf v1.0.0.1.tgz
go to the pgpcard directory and build the driver:
> aes-stream-drivers-1.0.1/pgpcard/driver/
> make
You will end up with a file pgpcard.ko
Load the driver as root:
> sudo insmod pgpcard.ko
Verify the card loaded:
> cat /proc/pgpcard_0
You will see a dump of information. With the eval board image loaded and the board fibers properly connected you should see the following lines:
-------------- Lane 0 --------------------
LoopBack : 0
LocLinkReady : 1
RemLinkReady : 1
The aes-stream-drivers/include directory will be needed for the next step. Make note of the full directory path.