Difference: YugeNorthwestern (7 vs. 8)

Revision 82019-09-04 - unknown

Line: 1 to 1
META TOPICPARENT name="TWiki.WebPreferences"

YUGE at Northwestern University

Line: 105 to 105

Chip-to-chip example with EMP framework




Build firmware using IPbus Builder (IPBB)



Set up some environment variables.

export PATH=/scratch/python2.7/bin:${PATH}
export PYTHONPATH=/scratch/python2.7/lib
export LD_LIBRARY_PATH=/scratch/boost_1_53_0/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/cactus/lib:${LD_LIBRARY_PATH}
source ~xilinx/Vivado/2018.2/settings64.sh

Create an IPBB work area p2fwk-work:

ipbb init p2fwk-work
cd p2fwk-work

Checkout the EMP framework (our working version is a particular commit):

ipbb add git ssh://git@gitlab.cern.ch:7999/p2-xware/firmware/emp-fwk.git
cd src/emp-fwk
git checkout 91f277b392d4387e4fd2a54d9ef7662ea9bf0b91
cd -

Checkout the MP7 repo:

ipbb add git ssh://git@gitlab.cern.ch:7999/cms-cactus/firmware/mp7.git -b ephemeral/phase2-vC

Checkout the IPbus firmware repo (our working version is a particular commit)

cd src/ipbus-firmware
cd -

Download a zip file containing YUGE board-specific files. The directory hierarchy of the files assumes you are in the IPBB work area.

wget http://nuhep.northwestern.edu/~ksung/YUGE/yuge_overlay.tgz
tar -xf yuge_overlay.tgz

Create the Vivado project, then perform synthesis, implementation, and generate bit file.

ipbb proj create vivado yuge_c2c emp-fwk:projects/examples/yuge_c2c -t top.dep
cd proj/yuge_c2c/
ipbb vivado project
ipbb vivado synth -j4 impl -j4
ipbb vivado package

A copy of the output bit file can be found at package/src/top.bit.

uHAL software example

A uHAL code for testing data transmission and reception through the QSFP can be found here. The example sends word patterns to the transmit (tx) buffer and captures snapshots of the receive (rx) buffer, and can operate in loopback mode at each transceiver, or communicate between the two. The directory contains a Makefile and a C++ source file. In order to compile, the ipbus-software package for cross compilation (see above) must also be present.


-- KevinSung - 2019-07-15 \ No newline at end of file

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback