Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | Testing 0x4049 | |||||||
> > |
Testing 0x4049 | |||||||
>en 1-12 f t | ||||||||
Line: 143 to 145 | ||||||||
Moving to 86/258 so I can use AMC fake data. | ||||||||
Added: | ||||||||
> > | NOTES:
Test procedure and resultsThis is a relatively simple test which runs at 100kHz random trigger rate using one AMC13 in slot 13 and one additional AMC13 in slot 12 running 0x1000 series firmware. The script below must be edited so that 0x17 of the second AMC13 is set to 0 for CMS firmwares and 0x8000000 for HCAL firmwares. Here is a script: random_high_rate.amc13![]() $ AMC13Tool2.exe -c 86/c -c 258/c -X random_high_rate.amc13 | tee random.log $ ~/work/arcaro/cms/trunk/tools/dump -c -e 4 test.dat | head File 1:test.dat EvN 000001 (000001) BcN 188 ID 0000 Evt_ty=1 [4 blocks, 0x3c87 words] EvN 000002 (000002) BcN 2e0 ID 0000 Evt_ty=1 [8 blocks, 0x7ebb words] EvN 000003 (000003) BcN 2ff ID 0000 Evt_ty=1 [3 blocks, 0x3355 words] EvN 000004 (000004) BcN 393 ID 0000 Evt_ty=1 [7 blocks, 0x6b5b words] EvN 000005 (000005) BcN 7d6 ID 0000 Evt_ty=1 [2 blocks, 0x15cd words] EvN 000006 (000006) BcN 9cc ID 0000 Evt_ty=1 [1 blocks, 0x1283 words] EvN 000007 (000007) BcN a9d ID 0000 Evt_ty=1 [1 blocks, 0x5db words] EvN 000008 (000008) BcN bbd ID 0000 Evt_ty=1 [1 blocks, 0xddb words] EvN 000009 (000009) BcN d13 ID 0000 Evt_ty=1 [3 blocks, 0x310d words] .. EvN 000128 (000296) BcN 37d ID 0000 Evt_ty=1 [3 blocks, 0x2c93 words] EvN 000129 (000297) BcN 4e6 ID 0000 Evt_ty=1 [1 blocks, 0x19a words] EvN 00012a (000298) BcN 619 ID 0000 Evt_ty=1 [3 blocks, 0x2ea0 words] End of fileHere are outputs from a successful test: | |||||||
-- EricHazen - 30 Mar 2016 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
>en 1-12 f t >lt 1000 10 >st Board| FED| SERIALNO| T1_VER| T2_REV| T2_SERNO| --|-------|---------|-------|-------|---------| INFO| | 43| 0x4049| 0x2E| 0x2B| OUTPUT| 0x1234| | | | | Config| FAKE_SIZE| SRCID| --|----------|------| AMC_LINKS| 0x400| | ID| | 0| OUTPUT| | 0| Control| DAQ| FAKE| LTRIG| RUN| TTCLOOP| --|----|-----|------|----|--------| REG_1| 0| 1| 1| 1| 1| AMC_Links| AMC01| AMC02| AMC03| AMC04| AMC05| AMC06| AMC07| AMC08| AMC09| AMC10| AMC11| AMC12| --|------|------|------|------|------|------|------|------|------|------|------|------| AMC_LINK_READY| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| LINK_OK| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| LINK_VERS_WRONG| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| 1| DT_Trig| TRIG0| TRIG1| VALUE| --|------|------|------| INPUT_DELAY| 0| 0| | LUT_WORD| | | 0| SAMPLE_BUFFER_ENABLE| | | 0| TRIGGER_ENABLE| | | 0| Event_Builder| COUNT| PCT_NO_BP| --|------|----------| L1A| 0x3E8| | SFP0| | 100| SFP1| | 100| SFP2| | 100| Monitor_Buffer| COUNT| --|------| UNREAD_BLK| 0x300| State_Timers| COUNT| PERCENT| --|------------|--------| BUSY| 0x 100001| | OVERFLOW_WARNING| 1| | READY| 0x178EFD5D0| 100| RUN| 0x178FFD5C9| | T2_TTC| BCNTERR| --|--------| VALUE| 1| TTC_Rx| ENC| RAW| --|----------|----------| STATE| RDY (0x0)| RDY (0x8)| SVN: 44111 >df test.dat ... Wrote 768 events to test.dat >q [hazen@cmssun1 firmware_test_tools]$ ~/work/arcaro/cms/trunk/tools/dump -e 4 -c -v 0 test.dat File 1:test.dat End of file [hazen@cmssun1 firmware_test_tools]$OK. Not sure why the buffer fills at 0x300 events. Now test the boundary between 1 and 2 blocks. According to the table here: DebugLog the magic size is 0x13fc where we should see 2 blocks. >wv CONF.AMC.FAKE_DATA_SIZE 0x13fb Write to register CONF.AMC.FAKE_DATA_SIZE > >include mon.amc General reset Sending 1 local triggers Trigger: 0 left STATUS.MONITOR_BUFFER.UNREAD_BLOCKS: 0x00000001 STATUS.MONITOR_BUFFER.WORDS_SFP0: 0x00002806 CONF.AMC.FAKE_DATA_SIZE: 0x000013fb >wv CONF.AMC.FAKE_DATA_SIZE 0x13fc Write to register CONF.AMC.FAKE_DATA_SIZE >include mon.amc General reset Sending 1 local triggers Trigger: 0 left STATUS.MONITOR_BUFFER.UNREAD_BLOCKS: 0x00000001 STATUS.MONITOR_BUFFER.WORDS_SFP0: 0x00002808 CONF.AMC.FAKE_DATA_SIZE: 0x000013fc >wv CONF.AMC.FAKE_DATA_SIZE 0x13fd Write to register CONF.AMC.FAKE_DATA_SIZE >include mon.amc General reset Sending 1 local triggers Trigger: 0 left STATUS.MONITOR_BUFFER.UNREAD_BLOCKS: 0x00000002 STATUS.MONITOR_BUFFER.WORDS_SFP0: 0x00002008 CONF.AMC.FAKE_DATA_SIZE: 0x000013fdContents of mon.amc: rg lt sleep 0.1 rv STATUS.MONITOR_BUFFER.UNREAD_BLOCKS rv STATUS.MONITOR_BUFFER.WORDS_SFP0 rv CONF.AMC.FAKE_DATA_SIZEReported this bug to Mr Wu. Onward! >wv CONF.AMC.FAKE_DATA_SIZE 0x1400 # two blocks >en 1-12 f t >lt 100 10 >df test.datCheck the data: $ ~/work/arcaro/cms/trunk/tools/dump -e 4 -c test.dat ... EvN 000062 (000098) BcN 1f4 ID 0000 Evt_ty=1 [2 blocks, 0xf042 words] EvN 000063 (000099) BcN 1f4 ID 0000 Evt_ty=1 [2 blocks, 0xf042 words] EvN 000064 (000100) BcN 1f4 ID 0000 Evt_ty=1 [2 blocks, 0xf042 words] End of fileLooks OK. Moving to 86/258 so I can use AMC fake data. -- EricHazen - 30 Mar 2016 |