From c60c637cb62fe120fd8b6ae37edf475810ceb78f Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Tue, 24 Jul 2018 10:07:57 +0000 Subject: [PATCH] Updated after summer holiday. --- .../apertif_fpga_firmware_planning_erko.txt | 71 +++++++++---------- 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt b/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt index f716782d1e..5b78f339b5 100755 --- a/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt +++ b/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt @@ -4,20 +4,7 @@ Done) #1274: Arts SC1: Beamlet selection for CB 0 also seems to require CB 1 --> fixed in BF 18316 by using dp_block_resize.vhd Done) #1654: Arts SC1: Run Arts SC1 with MAC controling the Apertif BF using cold Apertif start and warm Arts start in main.py - -*) #1658: Implement beamlet or channel offload by Apertif X to Arts on UniBoard2 - - See section 9 in SP-062: output channels for SC3 or beamlets for SC2 - -*) #1648: Arts SC1: Support TAB1 weights gain control dependent on number of dishes in main.py --> Daniel - -*) #1300: Arts SC4: Subband bandpass correction after the channel filterbank? - -*) #1484: Additional fringe stopping for TAB within CB --> not necessary for SC3,4, only for SC2 - WontFix) #1593: Arts SC4: Apply TAB weights per channel instead of per beamlet? --> WontFix, see #1484 - -) #1660: Arts SC4: TAB BF driver support in MAC --> not needed anymore - -) #1691: Arts SC4: Provide Python script to control TAB beamformer weights --> Pieter - -*) #1515: Make Arts beamlet mapping independent of Apertif +Done) #1515: Make Arts beamlet mapping independent of Apertif Done) Create single element beam mapping for Arts SC4 and apply in dish_command.sh: python /home/kooistra/svnroot/UniBoard_FP7/UniBoard/trunk/Software/python/base/unb_apertif.py @@ -26,7 +13,22 @@ Done) #1654: Arts SC1: Run Arts SC1 with MAC controling the Apertif BF using col therefore also for the BF weights and the fringe stopping. The R_beamout reorders the beamlets to route the CB to the PN for Arts. For Apertif X it does not matter which PN processes the beamlets, because they all arrive via the 1/10GbE network at the same DW. + +Done) #1484: Additional fringe stopping for TAB within CB --> not necessary for SC3,4, only for SC2 + WontFix) #1593: Arts SC4: Apply TAB weights per channel instead of per beamlet? --> WontFix, see #1484 + Rejected) #1660: Arts SC4: TAB BF driver support in MAC --> not needed anymore + Done) #1691: Arts SC4: Provide Python script to control TAB beamformer weights --> Pieter + +*) #1648: Arts SC1: Support TAB1 weights gain control dependent on number of dishes in main.py --> Daniel + +*) #1300: Arts SC4: Subband bandpass correction after the channel filterbank? --> better make status Rejected (= Wontfix) + +*) #2090: SC4 6-bit mode (relates to #1651) +*) #2055: Add SC3 support logic to apertif-unb1_correlator_full + -) #1658: Implement beamlet or channel offload by Apertif X to Arts on UniBoard2 + See section 9 in SP-062: output channels for SC3 or beamlets for SC2 + -) #1650 Inverse R_beamout function on beamlet indices at Apertif X output, to transparently support SC3 --> add method in pi_apertif_system.py, add firmware function in X @@ -157,19 +159,13 @@ Done) #1518: 135 --> 200 MHz On 20 June 2018 --cmd 53 --scheme 300MHz_37CB was PASSED, so the MAC software programs 300MHz_37CB when at 200MHz. *) #1510: Integrate main.py into MAC software, purpose is to have MAC control and thus know all settings (one captain). + - Use ARGS to created ICD of LCU - MM registers interface for the Apertif FB, BF and X FPGAs + - Use ARGS to created ICD of LCU - MM registers interface for the for the Arts SC1, 4, 3 FPGAs *) #1860: Use beamlet clipping for correlator and TAB - - dish beamlet output --> - . clip instead of wrap is better for Apertif X, see email 17 apr 2017 (Work in progress) and correlator_null_clip_or_wrap.m - . for SR3,4 IAB using clip is preferred, similar as for X - . for voltage TAB (even after F_chan) using wrap can cancel from some amount of overflow due to RFI - . advantage of using clip is that it also kind of flags the data, whereas wrap kind of scrambles the data - . advantage of only using clip is that we do not have to select between clip and wrap per Apertif X and Arts SC - --> Conclusion: Use clip in node_apertif_unb1_fn_beamformer - . however if clipping occurs then there is RFI, so the visibility will not be useful anyway - --> Conclusion: Keep wrap in node_apertif_unb1_fn_beamformer *) #1931: Confirm complex format of BF weights: is it (Im,Re) or (Re,Im). + *) #1999: Use Apertif X image as factory image to avoid too much flash writing and to speed up main.py ############################################################################### @@ -212,18 +208,31 @@ Done) Compare SST with BST Done) #1276: Plot BST per CB - Supported by pi_apertif_system.py --cmd 71 -Done) #1163, #397: Flagging for failing links, RFI ? etc. +Done) #1163, #397, #1937: Flagging for failing links, RFI ? etc. - Support MAC - Failing links during observation can be handled by MAC - RFI is detected by astronomers at visibility level. +Done) Correlator synthesis @ 200 MHz + - For r 17830 4 out of 5 synthesis achieved timing > 200 MHz + - Enable channel FIR filter in Apertif X --> fits and achieves > 200MHz with r 18042 + - Read back channel FIR coefficients in Python ok + Done) #1543: End to end VHDL simulations using MM file IO (20 story points) +*) #1542: End to end WG to Correlator output test (8 story points) + - Intermediate verification points are the SST, BST, but finally the visibilities should be verified given WG for single element BF + - Overwrite statistics before reading to ensure fresh data + - Verify visibility output order and output load to DW using a databuffer in the correlator output, see also #1543 + *) #1655: Finalize quantisation (8 story points) - SST - BST - Visibility output +*) #1243: Channel ghosts in channel 16 and 48 + +*) #818: Commisioning verify channel filter using the test code of busy week 2 (Feb 2017) *) #1657: Finalize subband and channel FIR filter coefficients (8 story points) - Decide on subband and channel FIR filter impulse response - Adapt Lofar subband filter with no DC per polyphase, as compromise between having no DC and still the high @@ -234,26 +243,12 @@ Done) #1543: End to end VHDL simulations using MM file IO (20 story points) - Fchan SST is already disabled, because there are N_blk sync per t_int_x, so not enough time to read the SST anyway. - Fchan reorder needed for SC3, so then do not reorder in Apertif X output. -*) #1243 Channel ghosts in channel 16 and 48 - *) #676: FPGA register map with number of instances, ready in firmware, to do in MAC. -*) Correlator synthesis @ 200 MHz - - For r 17830 4 out of 5 synthesis achieved timing > 200 MHz - - Enable channel FIR filter in Apertif X --> fits and achieves > 200MHz with r 18042 - - Verify channel FIR coefficients in Python - - 6 bit mode - - #1650) Restore Apertif beamlet numbering via inverse R_beamout on beamlet indices - ############################################################################### # SR-6: Dual polarization -*) #1542: End to end WG to Correlator output test (8 story points) - - Intermediate verification points are the SST, BST, but finally the visibilities should be verified given WG for single element BF - - Overwrite statistics before reading to ensure fresh data - - Verify visibility output order and output load to DW using a databuffer in the correlator output, see also #1543 - *) #1868: wpfb_unit_dev force Fchan channel output data to 0 for first N_tap bin samples after sync -- GitLab