Skip to content
Snippets Groups Projects
Commit 55066b3e authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Improved user interface.

parent e63fd944
Branches
Tags
No related merge requests found
############################################################################### ###############################################################################
# #
# Copyright (C) 2018 # Copyright (C) 2019
# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> # ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands # P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
# #
...@@ -20,39 +20,151 @@ ...@@ -20,39 +20,151 @@
############################################################################### ###############################################################################
# Author : Eric Kooistra # Author : Eric Kooistra
# Purpose: Recreate FPGA images for Apertif
# Usage : . $RADIOHDL/applications/apertif/commissioning/apertif_synthesize_all.sh # Usage : . $RADIOHDL/applications/apertif/commissioning/apertif_synthesize_all.sh
# - first use DEMO_RUN = 1 to check the user settings
# - then use DEMO_RUN = 0 to execute the user settings
################################################################################
# User interface
DEMO_RUN=0 # 0 is execute script, else demo run with only echo statements
DEMO_RUN=1
CLEAN=0 # 1 is clean design build dir, else reuse existing design build dir
CLEAN=1
MMM=0 # 1 is do SOPC or QSYS, else skip it
MMM=1
SYNTHESIS=0 # 1 is do synthesis, else skip it
SYNTHESIS=1
DESIGNS='apertif_unb1_bn_filterbank
apertif_unb1_fn_beamformer_trans
apertif_unb1_fn_beamformer_trans_bm6
apertif_unb1_correlator_full
apertif_unb1_correlator_full_bm6'
DESIGNS='apertif_unb1_correlator_full
apertif_unb1_correlator_full_bm6
apertif_unb1_bn_filterbank
apertif_unb1_fn_beamformer_trans
apertif_unb1_fn_beamformer_trans_bm6'
#DESIGNS='apertif_unb1_bn_filterbank'
#DESIGNS='apertif_unb1_fn_beamformer_trans'
#DESIGNS='apertif_unb1_fn_beamformer_trans_bm6'
#DESIGNS='apertif_unb1_correlator_full'
#DESIGNS='apertif_unb1_correlator_full_bm6'
################################################################################
# Create log file
LOG_FILE=apertif_synthesize_all.log
date > $LOG_FILE
###############################################################################
echo ">>> User inputs" >> $LOG_FILE
echo ". Demo run = $DEMO_RUN" >> $LOG_FILE
echo ". Clean design build dir = $CLEAN" >> $LOG_FILE
echo ". Create SOPC or QSYS = $MMM" >> $LOG_FILE
echo ". Do synthesis = $SYNTHESIS" >> $LOG_FILE
echo ". FPGA designs =" >> $LOG_FILE
for design in $DESIGNS; do
echo " $design" >> $LOG_FILE
done
echo "" >> $LOG_FILE
echo "Start"
# Preparations # Preparations
cd $RADIOHDL cd $RADIOHDL
echo ">>> SVN update to get revision" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
svn up # do svn up on trunk to get latest SVN revision number in image system_info svn up # do svn up on trunk to get latest SVN revision number in image system_info
fi
echo "" >> $LOG_FILE
###############################################################################
if [ "$CLEAN" == "1" ]; then
for design in $DESIGNS; do
echo ">>> Remove build dir: $design" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
echo # avoid empty fi,fi in case rm is commented
rm -rf $RADIOHDL/build/unb1/quartus/$design
fi
done
fi
echo "" >> $LOG_FILE
###############################################################################
echo ">>> Update build dir" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
python $RADIOHDL/tools/oneclick/base/quartus_config.py -t unb1 python $RADIOHDL/tools/oneclick/base/quartus_config.py -t unb1
fi
echo "" >> $LOG_FILE
## Create Sopc ###############################################################################
#run_sopc unb1 apertif_unb1_bn_filterbank if [ "$MMM" == "1" ]; then
#run_sopc unb1 apertif_unb1_fn_beamformer_trans for design in $DESIGNS; do
#run_sopc unb1 apertif_unb1_fn_beamformer_trans_bm6 if [ "$design" == "apertif_unb1_bn_filterbank" ]; then
# echo ">>> Create SOPC: $design" >> $LOG_FILE
## Create Qsys if [ "$DEMO_RUN" == "0" ]; then
#run_qsys unb1 apertif_unb1_correlator_full run_sopc unb1 $design
#run_qsys unb1 apertif_unb1_correlator_full_bm6 fi
# fi
#cd $RADIOHDL/applications/apertif/designs/apertif_unb1_correlator/revisions/apertif_unb1_correlator_full if [ "${design:0:32}" == "apertif_unb1_fn_beamformer_trans" ]; then
#./qsys_delete_duplicates_full.sh echo ">>> Create SOPC: $design" >> $LOG_FILE
#cd $RADIOHDL if [ "$DEMO_RUN" == "0" ]; then
# run_sopc unb1 $design
#cd $RADIOHDL/applications/apertif/designs/apertif_unb1_correlator/revisions/apertif_unb1_correlator_full_bm6 fi
#./qsys_delete_duplicates_full_bm6.sh fi
#cd $RADIOHDL if [ "${design:0:28}" == "apertif_unb1_correlator_full" ]; then
echo ">>> Create QSYS: $design" >> $LOG_FILE
# Do synthesis if [ "$DEMO_RUN" == "0" ]; then
#run_qcomp unb1 apertif_unb1_correlator_full --seed=1,2,3,4,5 --clk=unb1_board_clk200 run_qsys unb1 $design
#run_qcomp unb1 apertif_unb1_correlator_full_bm6 --seed=1,2,3,4,5 --clk=unb1_board_clk200 cd $RADIOHDL/applications/apertif/designs/$design/revisions/$design
#run_qcomp unb1 apertif_unb1_bn_filterbank --seed=1 --clk=unb1_board_clk200 ;run_rbf unb1 apertif_unb1_bn_filterbank ./qsys_delete_duplicates_full.sh
run_qcomp unb1 apertif_unb1_fn_beamformer_trans --seed=1 --clk=pll_afi_clk ;run_rbf unb1 apertif_unb1_fn_beamformer_trans cd $RADIOHDL
#run_qcomp unb1 apertif_unb1_fn_beamformer_trans_bm6 --seed=1 --clk=pll_afi_clk ;run_rbf unb1 apertif_unb1_fn_beamformer_trans_bm6 fi
fi
# Create rbf done
#run_rbf unb1 apertif_unb1_correlator_full echo "" >> $LOG_FILE
#run_rbf unb1 apertif_unb1_correlator_full_bm6 fi
echo "Done"
###############################################################################
if [ "$SYNTHESIS" == "1" ]; then
for design in $DESIGNS; do
if [ "$design" == "apertif_unb1_bn_filterbank" ]; then
echo ">>> Do synthesis and create rbf: $design" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
run_qcomp unb1 $design --seed=1 --clk=unb1_board_clk200
run_rbf unb1 $design
fi
fi
if [ "${design:0:32}" == "apertif_unb1_fn_beamformer_trans" ]; then
echo ">>> Do synthesis and create rbf: $design" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
run_qcomp unb1 $design --seed=1 --clk=pll_afi_clk
run_rbf unb1 $design
fi
fi
if [ "${design:0:28}" == "apertif_unb1_correlator_full" ]; then
echo ">>> Do synthesis: $design" >> $LOG_FILE
if [ "$DEMO_RUN" == "0" ]; then
run_qcomp unb1 $design --seed=1,2,3,4,5 --clk=unb1_board_clk200
# No automatic run_rbf, do this manualy for seed with best clock speed. Procedure:
# . rm -rf $design active directory
# . rm -rf the other $design*MHz_r* that achieve < 200 MHz
# . cp -rp the $design*MHz_r* directory with the highest clock speed to the $design active directory
# . run_rbf unb1 $design
# . cp -p $design-r*.rbf $design*MHz_r* directory with the highest clock speed
# . optionally rm -rf the other $design*MHz_r* that are > 200MHz but less than the maximum achieved
fi
fi
done
echo "" >> $LOG_FILE
fi
###############################################################################
echo "Done" >> $LOG_FILE
cat $LOG_FILE
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment