From fb10dfb1073e7762d5012db87511b67f4b079280 Mon Sep 17 00:00:00 2001 From: Daniel van der Schuur <schuur@astron.nl> Date: Wed, 6 Dec 2017 19:38:30 +0000 Subject: [PATCH] -Created outline of ARTS SC1 BF weight upload script. --- .../arts_unb1_sc1/src/python/pi_bf_sc1.py | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py diff --git a/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py b/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py new file mode 100644 index 0000000000..ffa12a20d5 --- /dev/null +++ b/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py @@ -0,0 +1,58 @@ + ############################################################################### +# +# Copyright (C) 2017 +# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################### + +# Author: +# . Daniel van der Schuur +# Purpose: +# . Write lists of complex weights to SC1 beamformer registers +# Description: +# . This example writes complex(1,0) to every weight address. +# . The SC1 gateware design uses 2 beamformer units: +# . Beamformer unit for X pol +# . 12 (dishes) inputs +# . 24 (subbands) weights per input +# . Beamformer unit for Y pol +# . 12 (dishes) inputs +# . 24 (subbands) weights per input +# . The weights to upload are contained in an array of the following dimensions: +# . [16 bands][2 pols x,y][12 inputs 0..11][24 subbands 0..23] +# . Inputs 0..11 map to telescopes RT2..RTD +# . The 24 subbands make up Compound Beam 0 = the central PAF compound beam. +# . The 24 subbands per UniBoard belong to a global subband range of 384 +# subbands (300MHz) divided across 16 UniBoards (only 1 FPGA, FN0, per +# UniBoard is used to provide CB0). +# . Subband 0 of central UniBoard 0 = subband 0 of 0..383 +# . Subband 23 of central UniBoard 15 = subband 383 of 0..383 +# . The weights are 16b complex (32b per weight). +# . The beamformer input data is 8b complex (16b total). + +NOF_POLS = 2 +NOF_DISHES = 12 +NOF_SUBBANDS = 24 +NOF_BANDS = 16 # Central UniBoards + +############################################################################### +# Create a list of unit weights (complex 1,0) +############################################################################### +weights_complex = NOF_BANDS*[NOF_POLS*[NOF_DISHES*[NOF_SUBBANDS*[complex(1,0)]]]] + +print weights_complex + -- GitLab