Hardware testing on APx Gen0 setup at UW - APxL1TAlgoDev/APx_Gen0_Algo GitHub Wiki

1) Book a slot on dedicated Google calendar before you start testing

https://github.com/APxL1TAlgoDev/APx_Gen0_Algo/wiki/Access-to-test-stands

2) Software setup

In order to configure Gen0 HW setup, upload input patterns, download output patterns, use the software tools hosted in APx_Gen0_SW repo.

a) log into krieger PC via login.hep.wisc.edu (in UW lab)

b) git clone https://github.com/APxL1TAlgoDev/APx_Gen0_SW

c) cd APx_Gen0_SW/pc_client/

d) make

e) ln -sf CTP7Map_UW.xml CTP7Map.xml

f) source env.sh

3) CTP7 card infrastructure and interconnections

Gen0 HW setup at UW consists of 3 cards, 2 cards nominally acting as Layer-1 and 1 card acting as Layer-2 card.

Please see Dylan's talk (page 7) for more details.

https://indico.cern.ch/event/792208/contributions/3303887/attachments/1790915/2917651/correlator_pfpuppi_gen0_05feb2019.pdf

As of Feb 5, 2019, APx Gen0 cards at UW are organized in this fashion:

Logical function CTP7 name CardID
L1a eagle65 0
L1b eagle54 1
L2 eagle50 2

Make sure to consult link mapping table for L1a/L1b -> L2 connectivity:

https://github.com/APxL1TAlgoDev/APx_Gen0_Algo/wiki/APx-Gen0-Demonstrator-Link-Mapping

4) Copy your bitfile onto target CTP7(s)

Copy your bitfile onto a chosen CTP7 using scp (consult the table above):

scp <your_bitfile> uwguest@:/tmp

e.g. scp ctp7_test.bit uwguest@eagle65:/tmp (password: AP7visitor)

5) Configure the card, load input pattern, download output pattern

a) under "pc_client" directory, create "data" directory where test vectors are to be stored

b) copy your input test vector under data directory

c) configure the card (load V7)

./card_config <card_ID> <bitfile name without .bit extension>

e.g. to configure L1b,eagle54,cardID=1 with previously scp'ed bitfile (ctp7_test.bit):

./card_config 1 ctp_test;

Additionally, you need to configure the card in Layer-1 or Layer-2 mode by running one of the two applications as specified below:

./layer1_config <card_ID> (for L1a and L1b card (with card_ID = 0 or 1), to configure these cards in Layer-1 mode)

./layer2_config <card_ID> (for L2 (with card_ID = 2), to configure this card in Layer-2 mode)

Here is an example script that configures all 3 cards (with the same bitfile):

https://github.com/APxL1TAlgoDev/APx_Gen0_SW/blob/master/pc_client/ctp7_gen0_config.sh

In order to upload your previously prepared input test vector (that you copied to data directory), execute:

./upload_inputs <card_ID> <input_test_vector>

e.g. ./upload_input 2 inputs_layer2.txt

In order to download output test vector:

./download_outputs <card_ID> <output_test_vector>

e.g. ./download_outputs 2 outputs_layer2.txt

outputs_layer2.txt will get stored under data directory.

⚠️ **GitHub.com Fallback** ⚠️