How to setup KC705-Yarr system

This document covers how to setup a KC705-Yarr system on CentOS 7.

Things to prepare

  • KC705 Evaluation Board
  • PC with CentOS 7 installed (tested with CentOS Linux release 7.4.1708)
  • Xilinx Vivado ver. 2016.2 (same as the development of YARR on XPressK7)

Yarr-FEI4 system

Yarr-RD53A system

Using pre-compiled firmwares

Download firmwares from github

#For FEI4
git clone -b kc705 https://github.com/hrsmnr/Yarr-fw.git
#For RD53A
git clone -b kc705_rd53a https://github.com/hrsmnr/Yarr-fw.git

Write firmware

Open Vivado Hardware Manager and write .bit or .mcs under syn/kc705/[desired version] to your KC705.
(Examples of [desired version] are bram_rd53a_quad_ohio, bram_fei4_octa_revA and so on…)
(Choose the correct one for your adapter card.)

TIPS: How to add a memory device of KC705 in Vivado Hardware Manager

  • Right click on “Hardware window”, then “Add Configuration Memory Device”.
  • Memory type: 28f00ap30t-…

Compilation of the firmware (Optional for firmware developers)

Project making on Vivado

#For FEI4
git clone -b kc705 https://github.com/hrsmnr/Yarr-fw.git
./Yarr-fw/syn/kc705/bram_fei4_octa_revA/mkproject.sh

#For RD53A
git clone -b kc705_rd53a https://github.com/hrsmnr/Yarr-fw.git
cd ./Yarr-fw/syn/kc705/bram_rd53a_quad_ohio
./mkproject.sh

This scripts makes a Vivado project and also generate .bit and .mcs files.

Vivado TIPS

Start Vivado GUI

source /opt/Xilinx/Vivado/2016.2/settings64.sh
vivado Yarr_FEI4_KC705/Yarr_FEI4_KC705.xpr
or
vivado Yarr_RD53A_KC705/Yarr_RD53A_KC705.xpr

Update IP cores

  • Tools->Report IP Status.
  • And then update all IP cores (by the “Upgrade Selected” button).
  • This process is needed when you change the FPGA models (and Vivado versions?).

BIT file generation

  • Click “Generate Bitstream” to generate a .bit file.

MCS file generation

  • Based on GUI:
  • Tools->Generate Memory Configuration File
  • Format: Memory Part: 28f00ap30t-bpi-x16
  • Filename: output_filename.mcs
  • Check “Load bitstream files”, and then choose your .bit file (it’s in [project name].runs/impl_1/top_level.bit by default).
  • (Check “Overwrite” if needed.)
  • or Based on TCL command (inside the vivado tcl console):
  • write_cfgmem -format mcs -size 128 -interface BPIx16 -loadbit {up 0x00000000 “/path/to/your/bit/fileh/top_level.bit” } -file /path/to/your/mcs/file/20YYMMDD.mcs

Write configulation on your KC705

Add a memory device of KC705 in Vivado Hardware Manager

  • Right click on “Hardware window”, then “Add Configuration Memory Device”.
  • Memory type: 28f00ap30t-…

Install a device driver