...
...
...
First download the project from git.
> git lfs install
...
github:
Code Block | ||
---|---|---|
| ||
$ 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:
...
dev-board-examples-v1.0.0/firmware/targets/XilinxKC705DevBoard/Kc705Pgp/images/Kcu105Pgp-0x00000001-2017033010590920170503135204-ruckmanrherbst-dirty123de18.bit.gz
Uncompress Decompress the bit file with:> gzip -d Kcu105Pgp
Code Block | ||
---|---|---|
| ||
$ gzip -d Kcu105Pgp-0x00000001- |
...
20170503135204- |
...
rherbst- |
...
123de18.bit.gz |
and load into the evaluation board using vivado.Vivado's Hardware Manager
...
Compile the project. Requires linux Linux and vivado Vivado 2016.4> cd
Code Block | ||
---|---|---|
| ||
$ cd dev-board-examples-v1.0.0/firmware |
...
# Our build system requires a local build directory for the compile. You |
...
> mkdir build
Or create a link to a scratch area:
...
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
...
$ make
# The output will be in the images directory. |
...
Code Block | ||
---|---|---|
| ||
# Download the driver package from github.com $ wget https://github.com/slaclab/aes-stream-drivers/archive/v1.0.1.tar.gz |
...
$ tar - |
...
zxvf v1.0. |
...
1. |
...
go to the pgpcard directory and build the driver:
...
tar.gz # go to the pgpcard directory and build the driver: $ cd 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:
...
$ 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:
# Scroll up and you will see a dump of information for "lane 0" like this -------------- Lane 0 -------------------- |
...
LoopBack : 0 |
...
LocLinkReady : 1 RemLinkReady : 1 RxReady : 1 TxReady : 1 RxCount : 0 CellErrCnt : 0 LinkDownCnt : 1 LinkErrCnt : 0 FifoErr : 0 RemData : 0x00 RemBuffStatus : 0x00 # "LocLinkReady : 1 |
...
" means Link up on local side # "RemLinkReady : 1 |
...
" means Link up on remote side # The aes-stream-drivers/include directory will be needed for the next step. # Make note of the full directory |
...
path (used for "AES_INCLUDE") |
...
To compile the test software go to the following directory in the firmware download:> cd dev
Code Block | ||
---|---|---|
| ||
$ cd dev-board-examples-v1.0.0/software/standalone/ |
Edit the following line in the makefile Makefile to point to the location of the aes stream driver directory:
Code Block | ||
---|---|---|
| ||
Change from: AES_INCLUDE := ../../../aes-stream-drivers-1.0.1/include/ |
...
To full path:
AES_INCLUDE := $(PATH_TO_AES)/aes-stream-drivers-1.0.1/include/
Where $(PATH_TO_AES) is your full path |
Build the test software:>
Code Block | ||
---|---|---|
| ||
$ make |
First dump the status register. This will include the firmware version and build string:
...