diff --git a/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt b/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt new file mode 100755 index 0000000000000000000000000000000000000000..c40625380c5bdf0f7a82ead04f3f9fdcdf8844c1 --- /dev/null +++ b/applications/apertif/doc/apertif_fpga_firmware_planning_erko.txt @@ -0,0 +1,152 @@ +############################################################################### +# Arts + +Done) Create single element beam mapping for Arts SC4 and apply in dish_command.sh + +#1274) Arts SC1 beamlet selection for CB 0 also seems to require CB 1 + +#1300) Subband bandpass correction after the channel filterbank in Arts SC4 + + + +############################################################################### +# SR2 : Fringe stopping +# - 8 dishes +# - single element beams +# - 130 MHz BW + +#1298) Complete fringe stopping documentation + +#1101) Switch to do transpose in the beamformer for Apertif (default) or not (for Arts SC1) in FN beamformer. + Pieter verifies dp_switch,vhd. It is missing do_xonoff.vhd at the inputs to support input stimuli that do + not listen to xon themselves. + +Done) #1098, #1105 : Robust flashing + + +#1377) Dish output enable per band based on the active correlator boards + Disable of bands should not be necessary, because we specify list of active --tel with main.y, however + the MAC software assumes that all active dish ouptuts should participate in the measurement. + + + +############################################################################### +# SR3 : Compound beams 1 feb + +Done) Replace test_arts_0.py by DESP python code: setup_arts.py + - Test with setup_arts.py on dish 7 did detect the pulsar (19 oct): + > ssh lcu-rt7 -X "python $RADIOHDL/applications/apertif/commissioning/setup_arts.py --scheme arts_sc1 --unb 0:7 --bn 0:3 --fn 0:3 -v 3 --pol 0,1 --cbeams 0,1 --globalsp 56,56" + +Done) #1275: Debug filterbank image (to have same image for Arts SC1 instead of Hajee's image r16579) + +*) Use new common FB and BF image for Apertif and Arts + +*) #1038: Fringe stopping sign flip in firmware (not sure whether it is active in BF r17352) + +*) #1230: Support PAF calibrator using BF BST + +*) Clarify beamlet mapping + Done: Implement full beamlet mapping control in Python (pi_apertif_system.py) + Done: Program R_beam to support Arts SC1 for single pixel beam in CB 0 (setup_arts.py) + Done: Program R_beam to support Arts SC4 for single pixel beam in CB 0:39 (setup_arts.py) + - Use Apertif R_beam setting and program R_beamout to support Arts SC4 + - For SC4 R_rotate is needed to balance the output load per CB on the 40G link (section 7.4.3), + for SC3 this R_rotate is not needed (section 10.3.3). + - Add support for Arts SC4 offload balancing in R_beamout setting by rotating the selection per FN + - Readback mapping from board + +*) Make Arts beamlet mapping independent of Apertif + - Add R_beamout transpose function in Apertif BF after R_beam but before T_int_x transpose + to support SC3. When available this R_beamout can also be used for SC4 and then it can + include R_rotate + - Inverse R_beamout function on beamlet indices at Apertif X output, to transparently + support SC3. + +*) #1100: ADU lock robustness + - from FB r17502 (8 aug) the ADU handler once in lock, keeps this ADC sample phase forever + +*) #893 : FPGA register map + +*) Flagging for failing links, RFI ? etc. + - Failing links during observation can be handled by MAC + - RFI is detected by astronomers at visibility level. + + +############################################################################### +# SR4 : Include dish C, D + +*) BF output Fiber length compensation in FN beamformer + - This can be set via pi_dp_fifo_monitor.py in dish_commands.py + +*) #895 : PPS cable length compensation in BN filterbank + - This can be set via pi_common_pulse_delay.py in dish_commands.py + + +############################################################################### +# SR5 : Online calibration (Start of Apertizer observations) +# - 200 MHz, 37 CB, 12 dishes + +*) Quantisation + - SST + - BST + - dish beamlet output + - Visibility output + +*) Channel filter + - Enable channel FIR filter in Apertif X + - Verify FIR coefficients + - Decide on subband and channel FIR filter impulse response + +*) End to end WG to DW test + - VHDL simulation of the full chain (not feasible, instead use end to end WG - DW tests on hardware) + - Overwrite statistics before reading to ensure fresh data + - Plot BST per CB + - Compare SST with BST + - Verify dish XST + - Verify visibility output order + +*) Correlator synthesis @ 200 MHz + - channel FIR filter + - 6 bit mode + - Channel offload for Arts SC3 + - Recover beamlet numbering via inverse R_beamout on beamlet indices + + +############################################################################### +# SR-6 : Dual polarization + +*) + +############################################################################### +# SR-7 : Full 300 MHz BW and 40 CB + +*) Clean up generic dependencies to prepare for supproting 6 bit mode. +*) 6-bit mode + - system dynamic range reduces, this can first be verified in 8 bit mode + - parameter ripple through in firmware to support both 8bit and 6bit mode (but not in the same image) + - verify pre-transpose + - repack functions for BF out and X in + - X payload size on mesh increases but will still fit (6/8 * 240/176 = 1.0227) + - Verify X output load balancing to DW + + +############################################################################### +# SR-8 : Anti aliasing filter + + +############################################################################### +# SR-9 : Start of Apertif surveys + +*) Tasks from commissioning and unforeseen work +- Support MAC +- Documentaion update +- Init scripts + +*) Uniboard temperature readings (not needed, because cabinet temp and weather station is used for that) + - FPGA temp can be read out with util_unb_sens.py -n 1 --> strangely FPGA temp range e.g. between -2 and +53 degrees + - ETH temp can be read out with util_unb_sens.py -n 2 --> ETH temp range e.g. between 35 and 40 degrees + - ADU temp can be read out with util_adu_i2c_commander.py -n 0 --> strangely they all read 0 degrees (ask Gijs) + + +############################################################################### +# SR-10 : Commensal Apertif and Arts SC3 observations