You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Required Hardware

  • PGP Generation 3 Card (available from SLAC)
  • Xilinx KCU105 evaluation board

Getting Firmware From GIT

First download the project from git. 

> 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.tgz

Pre-Compiled Firmware

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.

Build Your Own Firmware

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. 

PGPCard Driver

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.

Test Software Compile

To compile the test software go to the following directory in the firmware download:

> cd dev-board-examples-v1.0.0/software/standalone/

Edit the following line in the makefile to point to the location of the aes stream driver directory:

AES_INCLUDE := ../../../aes-stream-drivers-1.0.1/include/  

Build the test software:

> make

Run The Test Code

First dump the status register. This will include the firmware version and build string:

> bin/dumpStatus

The output should look like:
FwVersion   = 0x00000001 
BuildStamp  = Kcu105Pgp: Vivado v2016.4, x86_64, Built Wed May  3 13:52:04 PDT 2017 by rherbst
HeartBeat   = 0x00000000
Scratchpad  = 0x00000000
PRBS Length = 255

In one terminal start the data dump process:

> bin/dumpData

In another terminal start the routine which periodically writes a register to generate a data frame:

> bin/genData

The output of the dumpData terminal show show:

Got Data. Size=1024, error=0 
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
Got Data. Size=1024, error=0
...

Additional Links

Git hub repositories for firmware and drivers:

https://github.com/slaclab/dev-board-examples

https://github.com/slaclab/aes-stream-drivers

Information about the register access protocol used in the CPIX camera and development board:

SLAC Register Protocol (SRP) Version 0

 

 

 

 

 

 

  • No labels