diff --git a/applications/lofar2/doc/prestudy/desp_howtools_erko.txt b/applications/lofar2/doc/prestudy/desp_howtools_erko.txt
new file mode 100755
index 0000000000000000000000000000000000000000..458e54aca357f71bf09309c3c58d2416fdcd3184
--- /dev/null
+++ b/applications/lofar2/doc/prestudy/desp_howtools_erko.txt
@@ -0,0 +1,143 @@
+* GIT workflow
+* Confluence
+* Polarion
+* Latex
+
+*******************************************************************************
+* GIT workflow
+*******************************************************************************
+
+difftool ?
+mergetool ?
+
+* Pro Git book by Scott Chacon: https://git-scm.com/book/en/v2
+* YouTube : David Mahler part 1,2,3
+
+Part 1:
+
+# After GIT install
+git version
+git config --global http://user.name "EricKooistra"
+git config --global http://user.email "erkooi@gmail.com"
+git config --list
+touch .gitignore       # create .gitignore if it does not already exist
+.gitignore # file with working tree dirs and files to ignore, must also be commited
+
+# To start a repo
+cd ~/git
+git init  # start new repo at this dir, creates .git/
+git clone # get and start with existing repo
+git clone git@git.astron.nl:desp/args.git
+
+git status # what is in stage area and what is modified
+
+Three areas:
+* working tree # local directory tree
+| git add
+v
+* staging area (index)
+|
+v git commit
+* history # .git repository with entire commit graph
+
+# To use a repo
+git add <dir>/<file>    # add to stage area, set for commit. Cannot add empty dir, need empty file in it
+git add .               # add all new and modified to stageing area
+git diff                # diff between file in working tree and staging area
+git diff --staged # diff between file in staging area and history
+git rm <filename> # remove file from working tree and stage the delete
+git checkout -- <filename> # revert a working tree change
+git reset               # clear stage area
+git reset HEAD <filename> # revert staged change
+git log -- <filename> # show history of file
+git checkout <version hash> -- s2 # retrieve file from history into staged area and working tree
+
+
+Part 2:
+
+git commit -m "" # commit what is in stage area
+git commit -a -m "" # add to stage area and commit what is in stage area
+alias graph="git log --all --decorate --oneline --graph"
+git branch <branch name> # creat branch
+git branch # show branches
+git checkout <branch name> # change working tree and stage area to branch
+git checkout master
+git merge <branch name> # Fast forward merge of branch name to master if there is a direct path
+                        # by moving master to branch name, this is when there have been no updates
+                        # on the master branch since the branch was created.
+                        # Three way merge combine the differences of the branch and the master
+                        # compared to their common version, this can lead to merge conflicts if
+                        # changes on both branches occur at same parts of a file.
+git branch --merged # show branches that ghave been merged to master
+git branch -d <branch name> # remove branch
+git checkout <commit hash> # detached HEAD because it points to a version not a branch
+git branch <branch name> # start a branch from the commit hash, HEAD is attached again
+
+# Stash area to store working tree
+git stash save "comment" # store working tree and stage area to get a clean
+git stash list # show all stashes
+git stash apply <label> # restore stash
+git stash apply # restore last stash
+
+
+Part 3: Remote repositories (Github, Gitlab, Bitbucket, ...)
+
+create repo on Github
+http://README.md # md = mark down
+git clone <url:.../<repo name>.git> # get copy from url
+cd <repo name>
+git config --local http://user.name "EricKooistra"
+git config --local http://user.email "erkooi@gmail.com"
+git remote # origin
+git remote -v # full url
+
+# To align with remote repo
+# update from remote
+git status # shows also origin/master, but not live
+git fetch origin
+git status # shows also origin/master, now with latest remote
+git merge origin/master
+git pull # get latest from remote repo, combines fetch and merge
+
+# upload to remote
+git push
+git push origin master  # put local repo to remote repo
+
+# On Github fork is a copy of the a repo in Github to get a repo on your account
+git clone <url of fork> # get copy of fork repo, will be origin
+git remote add upstream <url of original repo on Github> # will be upstream
+git fetch upstream
+git status
+# commit local change on branch
+# git push origin <branch name> # push to my fork repo on Github
+# pull request on Github
+# delete branch and fetch npstream if the pull request was accepted
+git remote remove <remote name> # remove a remote repo
+
+
+
+*******************************************************************************
+* Confluence:
+*******************************************************************************
+- space tools menu links onder om secties the ordenen.
+
+
+*******************************************************************************
+* Polarion:
+*******************************************************************************
+
+
+*******************************************************************************
+* LaTeX
+*******************************************************************************
+- \sigma \sqrt{}
+- 4.15 \cdot 10^{15}
+- M =
+    \left[ {begin{array}{cc}
+    1 & 2 & 3 & 4\\
+    5 & 6 & 7 & 8\\
+    \end{array} } \right]
+
+
+
+                       .
\ No newline at end of file
diff --git a/applications/lofar2/doc/prestudy/desp_radiohdl_article.txt b/applications/lofar2/doc/prestudy/desp_radiohdl_article.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1f642edc233ea58b78744bf22e4b6f054679a591
--- /dev/null
+++ b/applications/lofar2/doc/prestudy/desp_radiohdl_article.txt
@@ -0,0 +1,259 @@
+*******************************************************************************
+* 1) Article topics
+*******************************************************************************
+
+Title: RadioHDL build environment for FPGA firmware
+
+
+
+*******************************************************************************
+* 2) User guide topics
+*******************************************************************************
+
+a) Introduction:
+
+RadioHDL is a highly flexible automated build environment for HDL source code. The HDL is 
+organized in HDL libraries. The HDL libraries promote code reuse. The top level component
+that can run on an FPGA is also a HDL library. The parameters for HDL libraries, the build
+tools and target FPGA are kept in configuration files. The configuration files and source
+code are the inputs for the RadioHDL tool. The output is a build result that depends on
+which build tool is used. The buil result can e.g. be a project file for Modelsim to 
+simulate the HDL, a project for Quartus to synthesize the HDL, a report log from a 
+regression test that simulated the HDL.
+
+Technology dependent IP for e.g. PLL, RAM, FIFO, transceivers, DDR4 is included via HDL
+libraries as well. The technology dependent IP is pregenerated and instantiated using wrapper
+HDL. The wrapper HDL around the technology dependent IP makes the IP vendor agnostic. The
+wrapper HDL can select one or more vendor IP. The wrapper IP can also select a behavioral
+simulation model of the IP, to speed up the HDL simulation or to simulate without any vendor
+dependence.
+
+Features:
+- Gear scripting based on Pyhton 3.x
+- Configuration files to define the sources and how to build them
+- Separation of source files and build result files
+- All HDL organised in HDL libraries that
+  . provide hierarchical structure and promote reuse
+  . allow separation of technology dependent libraries, board specific libraries, general
+    libraries and application specific libraries
+  . can be used to build different revisions of the same source code based on generics
+  . can include local test benches to verify the library in a regression test
+
+
+b) Quick start:
+
+
+c) Config files:
+  hdllib.cfg :
+    . Each HDL Library has a local hdllib.cfg configuration file that defines the sources and
+      supported tools
+    . many, each local per HDL library in a sub directory of $RADIOHDL_WORK
+  hdl_buildset_<buildset_name>.cfg 
+    . A central hdl_buildset_<name> build configuration file defines the combination of sources,
+      FPGA type and version and tool versions that are needed to build target FPGA type (board)
+      and type and version of the tools for synthesis, simulation.
+    . defines a combination of board, FPGA and tool versions
+    . one central per buildset located at $RADIOHDL_CONFIG
+  hdl_tool_<tool_name>.cfg 
+    . A central hdl_tool_<name>.cfg tool configuration file that defines central setting for
+      that tool. Typical tools are e.g. Modelsim for simulation and Quartus for synthesis, but
+      other tool vendors can also be supported and other tools like a reggression test that
+      runs a set of test benches for a set of HDL libraries.
+    . defines tool specific settings (e.g. modelsim, quartus)
+    . one central per tool located at $RADIOHDL_CONFIG
+
+d) Environment setup
+
+* Operating system
+  RadioHDL supports both Windows and Linux operating systems. The following tools need to be 
+  availabel in order to build target files (TBC):
+  - Make (available in /bin for win32 platforms)
+  - Python 3.x
+  - Pyhton libraries (numpy, pylatex, yaml) 
+
+* Environment variables
+
+  .bashrc
+  - ALTERA_DIR               is set to where Altera tool version is installed (i.e. Quartus)
+  - MENTOR_DIR               is set to where Mentor tool version is installed (i.e. Modelsim)
+  - MODELSIM_ALTERA_LIBS_DIR is set to where the compiled Altera tool versions HDL libraries
+                             for simulation with Modelsim are stored
+
+  init_<my_project>.sh
+  - RADIOHDL_WORK      is set to location of this init_<my_project>.sh and defines the root
+                       directory from where all HDL libraries source files (hdllib.cfg) can be
+                       found
+    
+  - RADIOHDL_BUILD_DIR is set to ${RADIOHDL_WORK}/build and defines where all build results will
+                       be put
+  - HDL_IOFILE_SIM_DIR is set to ${RADIOHDL_BUILD_DIR}/sim and defines where Modelsim simulation
+                       will keep temporary file IO files.
+  
+  init_radiohdl.sh
+  - RADIOHDL_GEAR   is set to location of this init_radiohdl.sh and defines the root directory
+                    of where the RadioHDL tool is installed.
+  - RADIOHDL_CONFIG is set to ${RADIOHDL_GEAR}/config if not already defined by the user and
+                    defines where the central configuration scripts for buildsets (unb1, unb2b)
+                    and tools (modelsim, quartus) are kept.
+                    
+  Environment variables for build tools (e.g. modelsim, quartus) are set automatically (TBC)
+    MODEL_TECH_DIR
+    
+
+* Environment files
+
+  Altera hdl_user_components.ipx:
+  This hdl_user_components.ipx defines where Quartus QSYS searches for user components. The 
+  init_<my_project>.sh copies hdl_user_components.ipx from $RADIOHDL_WORK to
+  ${ALTERA_DIR}/ip/altera/user_components.ipx. 
+
+
+
+f) Directory structure
+
+RadioHDL requires that:
+
+- the HDL source code is organised in one or more HDL libries
+- each HDL library has a dedciated directory and hdllib.cfg file
+- all HDL library directories can be found from a common root directory
+
+Hence a single VHDL file in a single HDL library is enough to get started with RadioHDL. For a
+larger firmware design that contains all source code and configuration settings to build an
+application that can be synthesized and run on an FPGA a the directory structure can be:
+
+- applications/  -- application specific top level HDL libraries and application specific support
+                    HDL libraries
+- boards/        -- board specific HDL top level HDL libraries and board specific support HDL
+                    libraries
+- libraries/     -- general HDL libraries
+      base/        -- common low level functions (FIFO, block RAM, register, multiplexer, 
+                      reordering, packetizing, ..)
+      dsp/         -- digitial processing (FFT, FIR filter, filterbank, beamformer, ...)
+      io/          -- input/output (DDR, transceivers, Ethernet, flash, ADC, I2C, ...)
+      external/    -- RTL style HDL code from other parties
+      technology/  -- Tecnhology wrapper liobraries of vendor IP, vendor IP libraries, behavioral
+                      model IP libraries (clock, memory, IO)
+
+For example the board support package (BSP) firmware of an FPGA on a certain board can be placed
+in the boards/<board name>/libraries/bsp/ directory. 
+Each board is assumed to have a single board support package library that includes all code 
+required to use the FPGA on the board, this includes e.g. a 1GbE interface for control, a flash
+interface for storing the FPGA image.
+This BSP can be instantiated into a minimal firmware image that can run on an FPGA and
+can be placed in the boards/<board name>/designs/<board_name>_minimal/
+A different version of a board will result in a different board_name, escpecially if the new 
+version of the board contains another FPGA type or version or requires a new tool version.
+
+A more elaborate firmware application that runs on the board will instantiate the BSP and a 
+combination of application specific code and general components. The application specific 
+componentts can be grouped in applications/<application_name>/libraries and the application itself
+in applications/<application_name>/designs/<design_name>. If the top level entity of the application
+has generics then it is possible to build different revisions of the same design source code in 
+applications/<application_name>/designs/<design_name>/revisions. The boards and applications build
+upon general HDL libraries. The directories may be structure with sub directories with at the 
+lowest level the sub directory of a HDL library that typically uses that library name <lib_name> or
+an derivative of it as directory name. The HDL library directories are typically organized by
+purpose source (src) or testbench (tb) and by HDL language (vhdl, verilog). However this sub 
+directories are only for convenience, because the hdllib.cfg can refer to the code from anywhere
+within <lib_name>. There is also a doc directory to put any documentation that is relevant for the
+library.
+
+<lib_name>/hdllib.cfg
+          /src/vhdl
+          /tb/vhdl
+          /doc
+          
+When deciding on how to divide HDL code into libraries the following general rules should be
+followed:
+
+- HDL Libraries within the /libraries directories should be single purpose and not associated with
+  a particular hardware platform.
+- Hardware specific functions should be placed into the /boards/<board>/library directory.
+- Small modules that will be frequently reused in other libraries or generic wrappers for vendor
+  specific IP should be placed in /libraries/base/<hdl library>. Higher level libraries should be
+  placed in /libraries/io/<hdl library> or /libraries/dsp/<hdl library> depending on functionality.
+- Externally supported code should be placed in /libraries/external/<hdl library>
+- Vendor IP should be placed into /libraries/technology/<hdl library> and grouped according to
+  function area i.e. memory, fifo, mac_10g.
+
+Technology independence:
+
+The technology/ directory contains several technology dependent libraries of vendor IP that is 
+pre generated and then wrapped by a technology agnostic wrapper entity. These wrapper entities
+are then used by the other libraries.
+      
+      
+g) Top level HDL library:
+
+A top level HDL library is defined as a HDL library that contains a top level entity and 
+configuration parameters to synthesize it to an FPGA image that can run on an FPGA.
+A top level HDL library should not be reused in other HDL libraries, to avoid confusion
+that can occur due to conflicting or dupplciate
+
+
+
+*******************************************************************************
+* Run RadioHDL with GIT
+
+> cd ~/git/hdl
+> . ./init_hdl.sh               # setup development environment for hdl/
+                                # hdl/libraries, hdl/boards and hdl/applications are developed simultaneously and therefor in one git hdl/ repository
+                                # automatically also sources ../radiohdl/init_radiohdl.sh if necessary
+> compile_altera_simlibs unb1   # creates build/unb1/hdl_libraries_ip_stratixiv.txt
+                                # creates build/quartus/<tool version> simulation models that need to be moved to /home/software/modelsim_altera_libs
+> generate_ip_libs unb1         # creates build/unb1/qmegawiz/
+                                # creates build/unb1/quartus_sh --> empty dir, why is it there?
+> quartus_config unb1           # creates build/unb1/quartus/<hdllib libraries> for synthesis
+                                # creates build/unb1/quartus/technology_select_pkg.vhd
+> modelsim_config unb1          # creates build/unb1/modelsim/<hdllib libraries> for simulation
+                                # creates build/unb1/modelsim/modelsim_project_files.txt for Modelsim commands.do
+                                # creates build/unb1/modelsim/technology_select_pkg.vhd
+> run_qsys unb1 unb1_minimal_qsys
+
+
+
+*******************************************************************************
+* Run RadioHDL with SVN
+
+echo "Uniboard trunk is selected"
+export SVN=${HOME}/svnroot/UniBoard_FP7
+#Setup RadioHDL environment for UniBoard2 and and new Uniboard1 applications
+. ${SVN}/RadioHDL/trunk/tools/setup_radiohdl.sh
+# Support old UniBoard environment (including Aarfaac and Paasar)
+. ${SVN}/RadioHDL/trunk/tools/setup_unb.sh
+
+
+
+
+*******************************************************************************
+* 3) Programmers guide topics
+*******************************************************************************
+
+RadioHDL gear directory structure
+$RADIOHDL_GEAR/config   # central config files for buildsets and tools
+              /core     # RadioHDL gear scripts
+              /doc      # manuals
+              /ise      # scripts for Xilinx ISE, Impact tools
+              /modelsim # scripts for Mentor Modelsim tool
+              /quartus  # scripts for Altera Quartus, SOPC, QSYS tools
+              
+              init_radiohdl.sh   # Initialize RadioHDL for a project at $RADIOHDL_WORK
+              
+              generic.sh  # Collection of useful functions
+              
+              # Scripts to adopt RadioHDL configuration parameters as environment variables
+              # or paths
+              set_config_path         # expand config paths
+              set_config_variable     # export config variables
+              set_hdllib_variable     # export hdllib variables
+
+
+*******************************************************************************
+* Open issues:
+*******************************************************************************
+- Support more roots in RADIOHDL_WORK for searching HDL libraries 
+- Central HDL_IO_FILE_SIM_DIR = build/sim --> Project local sim dir
+- avs_eth_coe.vhd per tool version? Because copying avs_eth_coe_<buildset>_hw.tcl to $HDL_BUILD_DIR
+  copies the last <buildset>, using more than one buildset at a time gices conflicts.
+- RadioHDL improvements requested by CSIRO for Vivado
+      
\ No newline at end of file
diff --git a/applications/lofar2/doc/prestudy/station2_opc_ua.txt b/applications/lofar2/doc/prestudy/station2_opc_ua.txt
index 8994049a8de91450503e7785ce2483ad340f6412..db67c5a8e2222658e6e5641ced90c8d899ac5504 100644
--- a/applications/lofar2/doc/prestudy/station2_opc_ua.txt
+++ b/applications/lofar2/doc/prestudy/station2_opc_ua.txt
@@ -14,6 +14,13 @@ https://en.wikipedia.org/wiki/OPC_Unified_Architecture
 - Service oriented architecture (SOA) using asynchronous request/response pattern
 - transport: via TCP in binary or web based
 - data model: more than hierarchy of files/folder/registers, object oriented nodes that can send meta information and data
+- build in models for:
+  . data access
+  . alarm conditions
+  . historic data and events
+  . programs (= methods)
+  . device description (= meta data, properties)
+   
 - expandability via profiles:
   . DI = device integration
   . DA = data access
@@ -21,6 +28,35 @@ https://en.wikipedia.org/wiki/OPC_Unified_Architecture
   . HDA = historical data access
 - security
 - authentication
+- authorisation
+- encryption
+
+Modbus looks like MM protocol, with coils (= releis = bit) and registers (words), but has 
+limited ranges.
+
+XML for data language
+RTD = real time data
+OPC-UA tag = value + properities = information
+properties : units, significatn digits, thresholds
+
+HMI = Human Machine Interface
+ |
+ |
+ |
+OPC-UA client (consume data)
+ |
+ |
+ |
+OPC-UA server (expose data of device)
+ |
+ |
+ |
+driver
+ |
+ |  
+ |
+field devices (one or many data points)
+
 
 Needed:
 - OPC-UA SDK (software development kit)
diff --git a/applications/lofar2/doc/prestudy/station2_sdp_firmware_planning.txt b/applications/lofar2/doc/prestudy/station2_sdp_firmware_planning.txt
index a7533d965fc7b4dd24a07d483ed8b84cfdb10567..eade99e09592eeb6c88b090a4a9dbb3c0d1d3ce6 100755
--- a/applications/lofar2/doc/prestudy/station2_sdp_firmware_planning.txt
+++ b/applications/lofar2/doc/prestudy/station2_sdp_firmware_planning.txt
@@ -1,140 +1,504 @@
-*******************************************************************************
-* SDP Firmware planning
-*******************************************************************************
-Includes design, implementation, verification on HW, technical commissioning.
-
-v1  v2
-       Infrastructure
-10  20   - Development environment using GIT, RadioHDL, updating existing components
-20   .   - BSP using Gemini Protocol, ARGS
-10   .   - Ethernet access (OSI 1-4)
-10  20   - Ring access
-
-       Application:
-15   .   - ADC ingress and time stamp
-20  10   - Subband filterbank (critically sampled)
- 0  30   - Subband filterbank (oversampled)
-10   .   - Beamformer
-20   .   - Subband correlator
-25   .   - Transient buffer (DDR4 interface, subband select and DM >= 0, packet format, M&C, RW access via M&C)
-20   .   - Transient detection
-20   .   - Subband offload
- 0   .   - 160 MHz
-
-35   . Integration
-     5   - FPGA pinning
-    10   - Interface test designs unb2c
-     5   - Design revisions and lab tests
-    15   - Technical commissioning
-
-
-1 week = 100% project allocation, bruto 40 hours, netto 40 * 0.8 = 32 hours = 4 days
-sprint = 100% project allocation, bruto  3 weeks, netto 12 days
-
-v1 : 10 + 20 + 10 + 10 + 15 + 20 + 10 + 20 + 25 + 20 + 20 + 35 = 215 bruto weeks --> 215 / 40 = 5.4 FTE ~ 3 people each 2 years
-v2 : 10 less for critically sampled PFB
-     10 more for updating existing components
-     10 more for ring access
-     30 for oversampled PFB
-      . consider unb2c test part of SDP FW integration and of SDP HW
-     15 technical commisioning relies on proper Systems Engineering, otherwise may become 50 weeks
-
-==> EK, JH: v1 estimate of April 2019 is still valid as v2 on 10 Oct 2019.
-
-v3 :
-
-   Infrastructure
-20   - Development environment using GIT, RadioHDL, updating existing components
- 5   - unb2c FPGA pinning
-10   - unb2c FPGA interface test designs
-20   - Board Support Package using Gemini Protocol and ARGS
-20   - Ring access
-10   - 10GbE access (OSI 1-4)
-
-   Application:
-15   - ADC input and time stamp
-10   - Subband filterbank (critically sampled)
-20   - Subband correlator
-10   - Beamformer
-25   - Transient buffer
-20   - Subband offload for AARTFAAC
-20   - Transient detection
-30   - Oversampled subband filterbank
- 0   - Support 160 MHz
-
-   Integration:
-10   - Lab tests
- 5   - Technical commissioning Dwingeloo
- 5   - Technical commissioning Prototype Station
-
-All:
-20 + 5 + 10 + 20 + 20 + 10 + 15 + 10 + 20 + 10 + 25 + 20 + 20 + 30 +  0 + 10 + 5 + 5 = 255
-
-No oversampled filterbank:
-20 + 5 + 10 + 20 + 20 + 10 + 15 + 10 + 20 + 10 + 25 + 20 + 20 +       0 + 10 + 5 + 5 = 225
-
-
-
-
-*******************************************************************************
-* SDP Workpackage (UniBoard2 HW + FW)
-*******************************************************************************
-
-Changed tasks:
-- T4.6 : 20 weeks booked explicitely for Required documents
-- T4.1 : 10 weeks, because GIT, RadioHDL finished
-- T4.2 : 10 weeks, because some FW done
-- T4.2 : ? weeks, hardware effort
-
-
-Firmware FPGA images:
-- the SDP has one main firmware design unb2c_sdp,
-- the integrated design of SDP is revision unb2c_sdp_station,
-- per task there are revisions of unb2c_sdp that contain subsets of the SDP functionality,
- 
-
-Deliverables (D) = an item, product : items that are needed for a milestone
-Milestones (M) = a moment in time, achievement : 'cake moments' when you demonstrate or review
-                 deliverables as part of a larger system
-- integration passed
-- review passed
-
-Planning for LOFAR2.0 Station Workpackage 4 : Station Digital Processing
-
-Below is the planning in weeks per task, the work includes:
-- UniBoard2 hardware 
-- Firmware that runs on UniBoard2
-
-weeks task   description
-10    T4.1   Maintain firmware development environment (GIT, RadioHDL, HDL libraries)
-10    T4.2   UniBoard2 test firmware (enable mass production of UniBoard2)
- ?    T4.2   UniBoard2 board hardware
-20    T4.3   UniBoard2 board support package (BSP, M&C via Gemini Protocol, use ARGS for doc, C, VHDL)
-10    T4.4   Network access via 10GbE (support ARP and ping)
-20    t4.5   Ring access using test data and BSN monitor (support ring)
-20    T4.6   Required documents (SDP RS, detailed design, ICDs, FW manual)
-15    T4.7   ADC input and timestamp (RCU2 interface, capture timestamped data for offline analysis)
-10    T4.8   Subband filterbank (Fsub, critically sampled, SST)
-20    T4.9   Subband correlator (XC, one subband per 1 s integration)
-10    T4.10  Beamformer (BF, BST, beamlet output to CEP)
-
-10 + 10 + ? + 20 + 10 + 20 + 20 + 15 + 10 + 20 + 10 = 145 + ? weeks
-
-Milestone : SDP ready for CDR:
-All major technical UniBoard2 hardware and SDP firmware risks are mitigated:
-
-- by design
-- SDP hardware and interfaces validated with at least two UniBoard2 using JTAG, firmware for BSP,
-  ring and ADC
-- Station TD validated using BF beamlet output to CEP
-
-The remaining tasks concern completing the applications that the firmware needs to perform.
-
-weeks task   description
-25    T4.11  Transient buffer (TB, ADC data, subband data)
-20    T4.12  Transient detection (TDET)
-20    T4.13  Subband offload (SO) for AARTFAAC2.0
-20    T4.14  Station integration tests (using unb2c_sdp_station)
-
-25 + 20 + 20 + 20 = 85 weeks
-
+
+
+*******************************************************************************
+* Planning defintions
+*******************************************************************************
+
+1 year = 40 weeks = 1600 hours, so each Quarter has 10 weeks.
+1 week = 100% project allocation, bruto 40 hours, netto 40 * 0.8 = 32 hours = 4 days
+sprint = 100% project allocation, bruto  3 weeks, netto 12 days.
+
+The week/hour estimates concern time that is booked on the project. For example if a tasks has
+alloacted 1 week, then:
+- 40 hours will be booked on the project
+- the lead time (doorlooptijd) wiil be about 1/0.8 = 1.25 longer
+ 
+There are 52 / 3 = 17 sprints in a year, so about 4 sprints per Quarter. Hence each sprint can
+contain about 10 / 4 = 2.5 weeks of booked work per person at 100% project allocation.
+
+With e.g. 230 weeks and 3 persons allocated 100%, then the project lead time will be:
+
+  230 (booked weeks) / 40 (weeks/year) / 3 (persons) * 1.25 (netto) = 2.4 years
+  
+This then means that with the SDP work starting 1 jan 2020 it can complete mid 2022.
+
+
+*******************************************************************************
+* L3 integration test platforms towards CDR
+*******************************************************************************
+
+1) Laboratory tests
+Objectives: Verification of (parts of) individyual elements and their interfaces
+- 1 UniBoard2 Rev 2 (use different FPGA on same UniBoard for FW, SW tests)
+Setups for:
+- SW
+- FW
+- Analogue chain
+- Cabinet
+- Complete signal chain
+
+2) Dwingeloo Test Station (DTS) - First-light Sep 2020
+Objectives: Verify that a complete signal chain using the first iteration of L3 hardware design
+            shows no serious issues and that it can be reliably installed in a LOFAR station.
+- 1 UniBoard2 Rev 2
+- First iteration of electronic boards --> 2 UniBoard2 Rev 3a
+
+3) Prototype Test Station (PTS) - First-light Mai 2021
+Objectives: Verify Station L2 requirements through testing and analysis, and provide evidence to
+            the CDR review panel that the designs ensure compliance with all L2 requirements.
+- Second iteration of electronic boards --> 4 UniBoard2 Rev 3b
+- 4 UniBoard2 Rev 3b in two subracks (one for LBA with 32 RCU2, one for HBA with 32 RCU2)
+- Output to CEP for correlation with other stations
+
+
+*******************************************************************************
+* Station reviews
+*******************************************************************************
+
+0) Station PDR close out 31 jan 2020
+
+1) Station DDR ? 2020
+
+2) Station CDR Dec 2021
+Objectives: Compliance with all L2 requirements, all risks mitigated, ready for production
+
+Relevant project dates:
+-  5-2020 Station DDR ?
+-  9-2020 first light DTS (will use Rev 2, and 4 RCUs with JESD ADC)
+- 10-2020 Working UniBoard2 Rev 3a
+-  5-2021 first light PTS (can use 2x Rev 3a, but goal is to use 4x Rev 3b, 32 RCU2_L, 32 RCU2_H)
+-  7-2021 Working UniBoard2 Rev 3b
+- 12-2021 Station CDR
+-  6-2022 Station rollout start
+
+
+
+*******************************************************************************
+* SDP Firmware planning
+*******************************************************************************
+
+Includes design, implementation, verification on HW, technical commissioning.
+
+v1  v2
+       Infrastructure
+10  20   - Development environment using GIT, RadioHDL, updating existing components
+20   .   - BSP using Gemini Protocol, ARGS
+10   .   - Ethernet access (OSI 1-4)
+10  20   - Ring access
+
+       Application:
+15   .   - ADC ingress and time stamp
+20  10   - Subband filterbank (critically sampled)
+ 0  30   - Subband filterbank (oversampled)
+10   .   - Beamformer
+20   .   - Subband correlator
+25   .   - Transient buffer (DDR4 interface, subband select and DM >= 0, packet format, M&C,
+           RW access via M&C)
+20   .   - Transient detection
+20   .   - Subband offload
+ 0   .   - 160 MHz
+
+35   . Integration
+     5   - FPGA pinning
+    10   - Interface test designs unb2c
+     5   - Design revisions and lab tests
+    15   - Technical commissioning
+
+         
+v1 : 10 + 20 + 10 + 10 + 15 + 20 + 10 + 20 + 25 + 20 + 20 + 35 = 215 bruto weeks --> 215 / 40
+     = 5.4 FTE ~ 3 people each 2 years
+v2 : 10 less for critically sampled PFB
+     10 more for updating existing components
+     10 more for ring access
+     30 for oversampled PFB
+      . consider unb2c test part of SDP FW integration and of SDP HW
+     15 technical commisioning relies on proper Systems Engineering, otherwise may become
+        50 weeks
+
+==> EK, JH: v1 estimate of April 2019 is still valid as v2 on 10 Oct 2019.
+
+v3 :
+
+   Infrastructure
+20   - Development environment using GIT, RadioHDL, updating existing components
+ 5   - unb2c FPGA pinning
+10   - unb2c FPGA interface test designs
+20   - Board Support Package using Gemini Protocol and ARGS
+20   - Ring access
+10   - 10GbE access (OSI 1-4)
+
+   Application:
+15   - ADC input and time stamp
+10   - Subband filterbank (critically sampled)
+20   - Subband correlator
+10   - Beamformer
+25   - Transient buffer
+20   - Subband offload for AARTFAAC
+20   - Transient detection
+30   - Oversampled subband filterbank
+ 0   - Support 160 MHz
+
+   Integration:
+10   - Lab tests
+ 5   - Technical commissioning Dwingeloo
+ 5   - Technical commissioning Prototype Station
+
+All:
+20 + 5 + 10 + 20 + 20 + 10 + 15 + 10 + 20 + 10 + 25 + 20 + 20 + 30 +  0 + 10 + 5 + 5 = 255
+
+No oversampled filterbank:
+20 + 5 + 10 + 20 + 20 + 10 + 15 + 10 + 20 + 10 + 25 + 20 + 20 +       0 + 10 + 5 + 5 = 225
+
+
+
+
+*******************************************************************************
+* SDP Workpackage (UniBoard2 HW + FW)
+*******************************************************************************
+
+Changed tasks:
+- T5.6 : 20 weeks booked explicitely for Required documents
+- T5.1 : 10 weeks, because GIT, RadioHDL finished
+- T5.2a : ? weeks, hardware effort
+- T5.2b : 10 weeks, because some FW done
+- T5.3a : FW side of M&C
+- T5.3b : SW side of M&C idendified separately
+
+Firmware FPGA images:
+- the SDP has one main firmware design unb2c_sdp,
+- the integrated design of SDP is revision unb2c_sdp_station,
+- per task there are revisions of unb2c_sdp that contain subsets of the SDP functionality,
+
+
+Deliverables (D) = an item, product : items that are needed for a milestone
+Milestones (M) = a moment in time, achievement : 'cake moments' when you demonstrate or review
+                 deliverables as part of a larger system
+- integration passed
+- review passed
+
+Planning for LOFAR2.0 Station Workpackage 4 : Station Digital Processing
+
+Below is the planning in weeks per task, the work includes:
+- UniBoard2 hardware
+- Firmware that runs on UniBoard2
+
+weeks task   description
+10    T5.1   Maintain firmware development environment (GIT, RadioHDL, HDL libraries)
+30    T5.2a  UniBoard2 board hardware
+10    T5.2b  UniBoard2 test firmware (enable mass production of UniBoard2)
+20    T5.3a  UniBoard2 board support package (BSP, M&C via Gemini Protocol, use ARGS for doc,
+             C, VHDL)                                                               
+      T5.3b  SW driver for GP
+10    T5.4   Network access via 10GbE (support ARP and ping)
+20    T5.5   Ring access using test data and BSN monitor (support ring)
+20    T5.6   Detailed design SDP firmware (Required documents: SDP RS, FW detailed design,
+             ICDs, FW manual)
+15    T5.7   ADC input and timestamp (RCU2 interface, capture timestamped data for offline
+             analysis)
+10    T5.8   Subband filterbank (Fsub, critically sampled, calibrated subbands, SST)
+20    T5.9   Subband correlator (XC, one subband per 1 s integration)
+10    T5.10  Beamformer (BF, BST, beamlet output to CEP)
+25    T5.11  Transient buffer (TB, ADC data, subband data)
+
+10 + ? + 10 + 20 + 10 + 20 + 20 + 15 + 10 + 20 + 10 + 25 = 160 + ? weeks
+
+Milestone : SDP ready for CDR:
+All major technical UniBoard2 hardware and SDP firmware risks are mitigated:
+
+- by design
+- SDP hardware and interfaces validated with at least two UniBoard2 using JTAG, firmware for BSP,
+  ring and ADC
+- Station validated using BF calibrated beamlet output to CEP and correlated with other Stations
+
+The remaining tasks concern completing the applications that the firmware needs to perform.
+
+weeks task   description
+20    T5.12  Transient detection (TDET)
+20    T5.13  Subband offload (SO) for AARTFAAC2.0
+20    T5.14  Station integration tests (using unb2c_sdp_station)
+
+20 + 20 + 20 = 60 weeks
+
+
+
+Weeks Task  Person  Date    Platform  Deliverable description
+10    T5.1                            Maintain firmware development environment (GIT, RadioHDL,
+                                      ARGS, HDL libraries)
+            PD                        * HDL libraries in git/hdl
+            PD                        * RadioHDL in git/radiohdl
+            PD                        * ARGS in git/args
+            PD                        - Maintain ARGS (e.g. for improved document generation)
+            DS                        - HDL libraries regression test in git/hdl repository
+            EK                        - Code review procedure using GIT, branches and Jira
+            EK                        - Updated RadioHDL user guide
+            EK                        - Updated RadioHDL programmers guide
+            EK                        - Paper on RadioHDL
+            EK                        - Updated ARGS user guide
+            EK                        - Design document for ARGS HDL code generation
+            EK                        - General HDL coding
+                                        . Paper on RTL coding style
+                                        . Global reset in sosi record
+                                        . Map between AXI bus and Avalon bus (both MM, ST)
+
+25    T5.2a                           UniBoard2 board hardware
+   1        GS     12-2019            D UniBoard2 Detailed Design document
+   9        GS      4-2020            D Production package proto UniBoard2
+            GS      4-2020            M Design review UniBoard2 Rev 3a
+
+   7        GS     10-2020            D UniBoard2 proto type Rev3a
+            GS,JH  10-2020  Lab       M Working UniBoard2 Rev 3a
+
+            GS     12-2020            M UniBoard2 Rev 3b review
+   5        GS      1-2021            D Production package UniBoard2
+   3        GS      7-2021            D UniBoard2 production version Rev3b
+            GS,JH   7-2021  Lab,PTS   M Working UniBoard2 Rev 3b
+
+10    T5.2b                           UniBoard2 test firmware + lab tests to enable mass
+                                      production of UniBoard2
+            JH      2-2020            D unb2c_test_pinning (using 10GbE)
+            JH      2-2020            D unb2c_test_pinning_jesd (using JESD204b)
+            JH      2-2020            D unb2c_heater (verify speed grade using clk = 256 MHz)
+            JH      2-2020  -         M Complete pinning + heater firmware package for unb2c
+
+                                      Test designs unb2c_test_* can be prepared using UCP BSP, but
+                                      aim to use GP BSP at 7-2020. Converting from UCP to GP
+                                      involves instantiating new GP BSP VHDL and using peek/poke
+                                      via CSIRO GP driver.
+            JH      4-2020            D unb2c_test_ddr4 (both slots)
+            JH      4-2020            D unb2c_test_10GbE (front = QSFP + ring, back)
+            JH      4-2020            D unb2c_test_adc (= lofar2_unb2b_adc_one_node for unb2c)
+            PD      6-2020            D unb2c_minimal_gp (BSP) (= unb2b_minimal_gp for unb2c)
+                                        . 1GbE (two revisions, one for each port)
+                                        . PPS
+                                        . Flash
+                                        . internal FPGA monitor (temperature)
+            JH      6-2020            M Complete test + BSP firmware package for unb2c HW
+
+20    T5.3a                           UniBoard2 FW board support package (BSP, M&C via Gemini
+                                      Protocol (GP), use ARGS for doc, C, VHDL)
+            LH      2-2020            D Gemini LRU board for initial SW M&C tests
+            PD      5-2020            D unb2b_minimal_gp (BSP + M&C)
+            PD      5-2020  Lab       M Working BSP unb2b_minimal_gp + SW M&C
+                                      Aim is to automate using ARGS, fallback is to do by hand:
+                   10-2020            D ARGS for VHDL slave generation (design in Task 5.1)
+
+?     T5.3b                           UniBoard2 SW driver
+                   10-2020            d ARGS for SW driver generation
+                                        . CSIRO generates C header file for Gemini Protocol and
+                                          MM register map.
+
+
+10    T5.4                            Network access via 10GbE (support ARP request and ping
+                                      response)
+            RW      4-2020            D unb2c_network (10GbE + MAC statistics + ARP + ping + M&C)
+
+20    T5.5                            Ring access, transport and alignment (using BG)
+                                      D lofar2_unb2c_ring_sum
+                                      D lofar2_unb2c_ring_mux
+                                        . Control ring transport
+                                        . Monitor ring transport, latency, alignment and timing
+                   12-2020  Lab       M Working ring + SW M&C
+
+20    T5.6                            Detailed design SDP (Required documents: SDP RS, FW detailed
+                                      design, ICDs, FW manual)
+            EK                        D SDP requirements specification (for DDR, CDR)
+            EK                        D SDP architectural design document (for DDR, CDR)
+                                        . toplevel structure of lofar2_unb2c
+                                        . bsp
+                                        . timing (+ ICD STF-SDP)
+                                        . ring
+                                        . adc (+ ICD RCU2S-SDP)
+                                        . subband filterbank
+                                        . beamformer
+                                        . correlator
+                                        . transient buffer
+                                        . transient detection
+                                        . subband offload
+            EK                        D ICD STAT.SDP-CEP
+            EK                        d ICD TM-STAT.SC
+            EK,GS                     d ICD SC-SDP
+            GS                          . SDP UniBoard2 hardware M&C
+            GS                          . UniBoard2 HW representation
+            EK                          . SDP firmware M&C via Gemini protocol
+            EK                          . SDP firmware register map
+            EK                          . FW representation
+            EK                        d ICD RCU2S-SDP
+            GS                        d ICD STF-SDP
+            GS                        D ICD SDP-STCA
+            EK      6-2020  DDR       M Complete SDP document package for Station DDR
+            all    12-2021  CDR       M Complete SDP document package for Station CDR
+
+                                      D Test & verification report per firmware deliverable
+                                        . requirement + test case + result (readme.txt or doc)
+
+15    T5.7                            ADC input and timestamp (RCU2 interface, capture timestamped
+                                      data for offline analysis)
+                    2-2020  Lab       D lofar2_unb2b_adc_one_node (12 ADC + DB + M&C JESD + M&C)
+                                        . use data buffer (DB) to read captured samples via M&C
+                                        . on two nodes and power cycle to verify synchronisation
+                    5-2020  Lab       D lofar2_unb2b_adc_full
+                                        . waveform generator (WG)
+                                        . timestamp (ToD, BSN)
+                                        . delay buffer
+                                        . statistics (mean, power, histogram))
+            JH      9-2020  DTS       M Working ADC input and timestamp + SW M&C
+
+10    T5.8                            Subband filterbank (Fsub, critically sampled, calibrated
+                                      subbands, SST)
+                    6-2020            D lofar2_unb2c_filterbank_sst (12 ADC + SST + M&C)
+                    9-2020            D lofar2_unb2c_filterbank_full (+ calibration weights)
+                    9-2020  DTS       M Working subband filterbank + SW M&C
+                                        . read and plot SST
+                                        . control calibration weights
+
+15    T5.9                            Subband correlator (XC, one subband per 1 s integration)
+                    9-2020            D lofar2_unb2c_correlator_one_node (12 ADC + M&C)
+                                      D lofar2_unb2c_correlator_full (+ ring)
+                    7-2021  PTS       M Working Subband correlator + SW M&C
+                                        . control crosslet selection
+                                        . read and plot crosslet statistics (XST)
+
+15    T5.10                           Beamformer (BF, BST, beamlet output to CEP)
+                    9-2020  DTS       D lofar2_unb2c_output_one_input (1 ADC + output via 10GbE)
+                                        . select subbands from one input
+                                        . packetize subbands into packet
+                                        . control beamlet output (scaling, packetizing)
+            all     9-2020  DTS       M Entire signal chain available at DTS
+                                        . XC for one node
+                                        . BF output for one ADC input
+                                      D lofar2_unb2c_beamformer_output (12 ADC + BST + output via
+                                        10GbE + M&C)
+                                      D lofar2_unb2c_beamformer_full (+ ring)
+                    7-2021  PTS       M Working Station beamformer + SW M&C
+                                        . read and plot beamlet statistics (BST)
+
+25    T5.11                           Transient buffer (TB, ADC data, subband data)
+                                      D lofar2_unb2c_transient_buffer_ddr4_access (direct read and
+                                        write of DDR4 via M&C)
+                                      D lofar2_unb2c_transient_buffer_one_node (12 ADC + setup,
+                                        write ADC data, freeze, read via M&C)
+                   12-2020  Lab       M Working Transient buffer and read DDR4 via M&C
+                    7-2021  Lab       D lofar2_unb2c_transient_buffer_output (+ read out via 10GbE)
+                    7-2021  PTS       D lofar2_unb2c_transient_buffer_full (+ ring)
+                   12-2021  PTS       M Working Transient buffer and read via 10GbE + SW M&C
+
+20    T5.12                           Transient detection (TDET)
+                   12-2021  PTS       D lofar2_unb2c_transient_detection (12 ADC, detection and
+                                        trigger + M&C)
+                   12-2021  Rollout   M Working Transient detection + SW M&C
+
+20    T5.13                           Subband offload (SO) for AARTFAAC2.0
+                   12-2020  Lab       D lofar2_unb2c_subband_offload_output (12 ADC + packetized
+                                        output via 10GbE + M&C)
+                    6-2022  PTS       D lofar2_unb2c_subband_offload_full (+ ring)
+                    6-2022  Rollout   M Working Subband offload + SW M&C
+
+20    T5.14                           Station test and verification
+                   12-2021  PTS       D lofar2_unb2c_sdp_station (all BF, XC, TD, TDET, SO)
+                    6-2022  Rollout   M Operational Station Firmware (all BF, XC, TD, TDET, SO)
+                                        + SW M&C
+
+SDP milestones:
+
+Weeks Task  Person  Date    Platform  Milestone description
+
+            JH      2-2020  -         M Complete pinning + heater firmware package for unb2c
+            GS      4-2020            M Design review UniBoard2 Rev 3a
+            PD      5-2020  Lab       M Working BSP unb2b_minimal_gp + SW M&C
+            JH      6-2020            M Complete test + BSP firmware package for unb2c HW
+
+            EK      6-2020  DDR       M Complete SDP document package for Station DDR
+
+            JH      9-2020  DTS       M Working ADC input and timestamp + SW M&C
+                    9-2020  DTS       M Working subband filterbank + SW M&C
+            all     9-2020  DTS       M Entire signal chain available at DTS
+                                        . XC for one node
+                                        . BF output for one ADC input
+            GS,JH  10-2020  Lab       M Working UniBoard2 Rev 3a
+
+            GS     12-2020            M UniBoard2 Rev 3b review
+                   12-2020  Lab       M Working ring + SW M&C
+                   12-2020  Lab       M Working Transient buffer and read DDR4 via M&C
+
+            GS,JH   7-2021  Lab,PTS   M Working UniBoard2 Rev 3b
+                    7-2021  PTS       M Working Subband correlator + SW M&C
+                    7-2021  PTS       M Working Station beamformer + SW M&C
+
+                   12-2021  PTS       M Working Transient buffer and read via 10gbE + SW M&C
+                   12-2021  PTS       M Working Transient detection + SW M&C
+            all    12-2021  CDR       M Complete SDP document package for Station CDR
+
+                    6-2022  Rollout   M Working Subband offload + SW M&C
+                    6-2022  Rollout   M Operational Station Firmware (all BF, XC, TD, TDET, SO)
+                                        + SW M&C
+
+
+*******************************************************************************
+* Comparision Oct 2018 AAD estimates and dec 2019 PDR estimation
+*******************************************************************************
+
+- PDR estimates (dec 2019)
+  SDP HW : Task 5.2a     :  25 weeks
+  SDP FW : Task 5.1-5.13 : 10 + 10 + 20 + 10 + 20 + 20 + 15 + 10 + 15 + 15 + 25 + 20 + 20 =
+                           210 weeks
+           Task 5.14     :  20 weeks
+
+  ==> HW total  25 weeks
+  ==> FW total 230 weeks
+
+- AAD estimnates (okt 2018)         
+  AAD FW : FW Application   : 4.8 FTE = 4.8 * 40 = 192 weeks
+           FW Commissioning : 35 weeks  --> 192 + 35 = 230 weeks
+           . I/O             20
+           . BSP             30
+           . ADC             30
+           . Fsub            30 (~10 critical, ~30 oversampled)
+           . BF              20
+           . XC              20
+           . TBB             60
+           . FW for control  40
+             Sum: 20 + 30 + 30 + 10 + 20 + 20 + 60 + 40 = 230 with critical Fsub
+                  
+  weeks AAD       task   description
+  10              T5.1   Maintain FW development environment
+  25              T5.2a  UniBoard2 board hardware
+  10    20 I/O    T5.2b  UniBoard2 test firmware (enable mass production of UniBoard2)
+  20    30 BSP    T5.3a  UniBoard2 board support package                                        
+                  T5.3b  SW driver for GP
+  10              T5.4   Network access via 10GbE (support ARP and ping)
+  20       BF/TBB T5.5   Ring access
+  20              T5.6   Detailed design SDP firmware
+  15    30 ADC    T5.7   ADC input and timestamp
+  10    10 Fsub   T5.8   Subband filterbank (Fsub, critically sampled, calibrated subbands, SST)
+  15              T5.9   Subband correlator (XC, one subband per 1 s integration)
+  15    20 BF     T5.10  Beamformer
+  25    60 TBB    T5.11  Transient buffer (TB, ADC data, subband data)
+  20       TBB    T5.12  Transient detection (TDET)
+  20              T5.13  Subband offload (SO) for AARTFAAC2.0
+  20    35 Comm   T5.14  Station test and verification (using unb2c_sdp_station)
+  
+  The AAD estimates for I/O + BSP + ADC + Fsub + BF + TBB + FW control = 
+  20 + 30 + 30 + 10 + 20 + 20 + 60 + 40 = 230 weeks with critical Fsub
+  These tasks include detailed design and TBB includes TB + TDET.
+
+  JH,PD already spend about 30 weeks in 2019. 
+
+  ==> FW total 230 weeks, does not include
+      - PDR work on SDP in relation to rest if Station and LOFAR2.0 for ADD and SDP work package
+        management (EK spend about 30 weeks for this in 2019)
+      - Subband offload for AARTFAAC2.0 (about 20 weeks)
+
+- Comparision
+  
+  The 'corrected' 2019 AAD estimate is:
+    
+    2019 AAD estimate = 2018 AAD estimate - (planned 2019 work JH,PD)
+                                          + (unplanned AARTFAAC2.0)
+                      = 230 - 30 + 20 = 220
+    2019 PDR estimate = 230
+    
+  So the difference is -10 weeks, which means that the 2019 PDR is about -10 / 230 = 5 % more
+  time then the 2018 AAD estimate.
+
+
+
diff --git a/applications/lofar2/doc/prestudy/station2_sdp_icd.txt b/applications/lofar2/doc/prestudy/station2_sdp_icd.txt
index 541cd7b5907c7246f51099c3059f595f86c146db..eae9e9eb74ef969be3faabcfe5dfbd24c6cd3f63 100644
--- a/applications/lofar2/doc/prestudy/station2_sdp_icd.txt
+++ b/applications/lofar2/doc/prestudy/station2_sdp_icd.txt
@@ -1,3 +1,13 @@
+STAT L2 ICDs for SDP
+
+- L1 ICD 11108 STAT-NW
+- L1 ICD 11109 STAT-CEP
+
+- L2 ICD 11211 SC-SDP
+- L2 ICD 11207 RCU2S-SDP
+- L2 ICD 11209 STF-SDP
+- L2 ICD 11218 SDP-STCA
+
 ICD interface types:
     m - Mechanical (structural, loading, tooling, etc)
     f - Fluid (pneumatic, cooling, heating, condensate, fuels, lubricants, waste, exhaust, feedstocks etc)
@@ -11,6 +21,10 @@ ICD interface types:
     h - Human-Machine Interface (special combination of some of the above) 
 
 
+
+###################################################################################################
+# L1 ICD 11108 STAT-NW
+
 UDP link control
 - flow control = end-to-end
 - congestion control = peer-to-peer within the network
@@ -27,6 +41,18 @@ UDP link control
 > ping <IP address>  # to find MAC address for IP address ?
 
 
+###################################################################################################
+# L1 ICD 11109 STAT-CEP
+
+Included:
+ A) Beamlet data
+ B) Transient buffer read out
+ 
+Not included:
+ . SST, BST, XST, because these are for monitoring and calibration, not for science data
+ . Subband offload for AARTFAAC2.0 will have own EICD
+
+
 LFAA-CSP_Low : OSI (Open Systems Interconnection) layers
 
 7 Application  : Not applicable, this is the level where the STAT and CEP products each perform their
@@ -70,17 +96,9 @@ LFAA-CSP_Low : OSI (Open Systems Interconnection) layers
   - Ethernet standard [IEEE Std 802.3-2015], 40 GbE
 1 Physical  :
   - Ethernet standard [IEEE Std 802.3-2015], 40 GbE
-      
 
-L1 ICD 11109 : STAT - CEP
- . Beamlet data
- . Transient buffer read out
- 
-Not included:
- . SST, BST, XST, because these are for monitoring and calibration, not for science data
- . Subband offload for AARTFAAC2.0 will have own EICD
 
-STAT-CEP Beamlet data interface:
+A) STAT-CEP Beamlet data interface:
 
 - VERSION_ID 8b
   . 2,3,4 for LOFAR1
@@ -154,4 +172,60 @@ STAT-CEP Beamlet data interface:
 - Data 
   . X, Y paired dual polarization beamlets
   
+
+B) STAT-CEP Transient data read out
+
+
+
+
+###################################################################################################
+# L2 ICD 11211 SC-SDP
+
+1) Uniboard2 board
+a) I2C via PCC
+b) actuators, sensors
+
+2) Firmware
+a) 1GbE per 4 FPGA / 10GbE at SCU
+b) FPGA register access via Gemini Protocol/UDP/IPv4
+c) FPGA register map:
+  - BSP : info, PPS, flash
+  - ring 
+  - adc : JESD, WG, timestamp, input buffer, data buffer (DB), statistics (mean, power, histogram)
+  - Fsub : subband weights, SST
+  - XC : subband selection, XST
+  - BF : subband selection, beamlet weigths, BST, beamlet output header
+  - TB : recording, direct DDR4 access, reading
+  - TDET : setup, release, info
+  - SO : subband selection, subband offload header
+
+d) Concepts
+   - firmware runs on array of FPGA[]
+   - all FPGA run the same firmware image, they can behave differently dependent on:
+     . their static location (node ID)
+     . the dynamic setup via M&C
+   - no need to be aware of UniBoard2 or that there are 4 FPGAs per UniBoard2
+   
+   
+d) OPC-UA representation (by OPC-UA servers)
+  - arrays of signal inputs, subbands, beamlets, no need to be aware of FPGA[] array
+  - per device, there are devices for (fig 3.3.1-1):
+    . HBA analogue beamformer
+    . Station digital beamformer
+    . Subband correlator
+    . Transient buffer
+    . Transient detection
+
+
+
+###################################################################################################
+# L2 ICD 11207 RCU2S-SDP
+
+###################################################################################################
+# L2 ICD 11209 STF-SDP
+
+###################################################################################################
+# L2 ICD 11218 SDP-STCA
+
+
  
\ No newline at end of file
diff --git a/applications/lofar2/doc/prestudy/station2_to_do_erko.txt b/applications/lofar2/doc/prestudy/station2_to_do_erko.txt
index bc761bcd553fadb341f5d9234dcafd3dc4a08719..76043159f701ae18e62399459f2c6925d4b30db5 100755
--- a/applications/lofar2/doc/prestudy/station2_to_do_erko.txt
+++ b/applications/lofar2/doc/prestudy/station2_to_do_erko.txt
@@ -1,3 +1,16 @@
+*******************************************************************************
+* Netherlandse Code of conduct for research integrety:
+*******************************************************************************
+
+Vijf principes:
+- Eerlijkheid
+- Zorgvuldigheid
+- Transparantie
+- Onafhankelijkheid
+- Verantwoordelijkheid
+
+
+
 *******************************************************************************
 * SKA experience:
 *******************************************************************************
@@ -15,177 +28,6 @@
   . analogue complex gain calibration (temperature dependent)
   . beam shape tapering? (fixed)
 
-*******************************************************************************
-* LaTeX
-*******************************************************************************
-- \sigma \sqrt{}
-- 4.15 \cdot 10^{15}
-- M =
-    \left[ {begin{array}{cc}
-    1 & 2 & 3 & 4\\
-    5 & 6 & 7 & 8\\
-    \end{array} } \right]
-
-
-*******************************************************************************
-* Run RadioHDL with SVN
-*******************************************************************************
-echo "Uniboard trunk is selected"
-export SVN=${HOME}/svnroot/UniBoard_FP7
-#Setup RadioHDL environment for UniBoard2 and and new Uniboard1 applications
-. ${SVN}/RadioHDL/trunk/tools/setup_radiohdl.sh
-# Support old UniBoard environment (including Aarfaac and Paasar)
-. ${SVN}/RadioHDL/trunk/tools/setup_unb.sh
-
-
-*******************************************************************************
-* Run RadioHDL with GIT
-*******************************************************************************
-
-> cd ~/git/hdl
-> . ./init_hdl.sh               # setup development environment for hdl/
-                                # hdl/libraries, hdl/boards and hdl/applications are developed simultaneously and therefor in one git hdl/ repository
-                                # automatically also sources ../radiohdl/init_radiohdl.sh if necessary
-> compile_altera_simlibs unb1   # creates build/unb1/hdl_libraries_ip_stratixiv.txt
-                                # creates build/quartus/<tool version> simulation models that need to be moved to /home/software/modelsim_altera_libs
-> generate_ip_libs unb1         # creates build/unb1/qmegawiz/
-                                # creates build/unb1/quartus_sh --> empty dir, why is it there?
-> quartus_config unb1           # creates build/unb1/quartus/<hdllib libraries> for synthesis
-                                # creates build/unb1/quartus/technology_select_pkg.vhd
-> modelsim_config unb1          # creates build/unb1/modelsim/<hdllib libraries> for simulation
-                                # creates build/unb1/modelsim/modelsim_project_files.txt for Modelsim commands.do
-                                # creates build/unb1/modelsim/technology_select_pkg.vhd
-> run_qsys unb1 unb1_minimal_qsys
-
-
-*******************************************************************************
-* GIT workflow
-*******************************************************************************
-
-difftool ?
-mergetool ?
-
-* Pro Git book by Scott Chacon: https://git-scm.com/book/en/v2
-* YouTube : David Mahler part 1,2,3
-
-Part 1:
-
-# After GIT install
-git version
-git config --global http://user.name "EricKooistra"
-git config --global http://user.email "erkooi@gmail.com"
-git config --list
-touch .gitignore       # create .gitignore if it does not already exist
-.gitignore # file with working tree dirs and files to ignore, must also be commited
-
-# To start a repo
-cd ~/git
-git init  # start new repo at this dir, creates .git/
-git clone # get and start with existing repo
-git clone git@git.astron.nl:desp/args.git
-
-git status # what is in stage area and what is modified
-
-Three areas:
-* working tree # local directory tree
-| git add
-v
-* staging area (index)
-|
-v git commit
-* history # .git repository with entire commit graph
-
-# To use a repo
-git add <dir>/<file>    # add to stage area, set for commit. Cannot add empty dir, need empty file in it
-git add .               # add all new and modified to stageing area
-git diff                # diff between file in working tree and staging area
-git diff --staged # diff between file in staging area and history
-git rm <filename> # remove file from working tree and stage the delete
-git checkout -- <filename> # revert a working tree change
-git reset               # clear stage area
-git reset HEAD <filename> # revert staged change
-git log -- <filename> # show history of file
-git checkout <version hash> -- s2 # retrieve file from history into staged area and working tree
-
-
-Part 2:
-
-git commit -m "" # commit what is in stage area
-git commit -a -m "" # add to stage area and commit what is in stage area
-alias graph="git log --all --decorate --oneline --graph"
-git branch <branch name> # creat branch
-git branch # show branches
-git checkout <branch name> # change working tree and stage area to branch
-git checkout master
-git merge <branch name> # Fast forward merge of branch name to master if there is a direct path
-                        # by moving master to branch name, this is when there have been no updates
-                        # on the master branch since the branch was created.
-                        # Three way merge combine the differences of the branch and the master
-                        # compared to their common version, this can lead to merge conflicts if
-                        # changes on both branches occur at same parts of a file.
-git branch --merged # show branches that ghave been merged to master
-git branch -d <branch name> # remove branch
-git checkout <commit hash> # detached HEAD because it points to a version not a branch
-git branch <branch name> # start a branch from the commit hash, HEAD is attached again
-
-# Stash area to store working tree
-git stash save "comment" # store working tree and stage area to get a clean
-git stash list # show all stashes
-git stash apply <label> # restore stash
-git stash apply # restore last stash
-
-
-Part 3: Remote repositories (Github, Gitlab, Bitbucket, ...)
-
-create repo on Github
-http://README.md # md = mark down
-git clone <url:.../<repo name>.git> # get copy from url
-cd <repo name>
-git config --local http://user.name "EricKooistra"
-git config --local http://user.email "erkooi@gmail.com"
-git remote # origin
-git remote -v # full url
-
-# To align with remote repo
-# update from remote
-git status # shows also origin/master, but not live
-git fetch origin
-git status # shows also origin/master, now with latest remote
-git merge origin/master
-git pull # get latest from remote repo, combines fetch and merge
-
-# upload to remote
-git push
-git push origin master  # put local repo to remote repo
-
-# On Github fork is a copy of the a repo in Github to get a repo on your account
-git clone <url of fork> # get copy of fork repo, will be origin
-git remote add upstream <url of original repo on Github> # will be upstream
-git fetch upstream
-git status
-# commit local change on branch
-# git push origin <branch name> # push to my fork repo on Github
-# pull request on Github
-# delete branch and fetch npstream if the pull request was accepted
-git remote remove <remote name> # remove a remote repo
-
-
-
-*******************************************************************************
-* Confluence:
-*******************************************************************************
-- space tools menu links onder om secties the ordenen.
-
-
-*******************************************************************************
-* RadioHDL
-*******************************************************************************
-Open issues:
-- Central HDL_IO_FILE_SIM_DIR = build/sim --> Project local sim dir
-- avs_eth_coe.vhd per tool version? Because copying avs_eth_coe_<buildset>_hw.tcl to $HDL_BUILD_DIR
-  copies the last <buildset>, using more than one buildset at a time gices conflicts.
-
-
 
 *******************************************************************************
 * To do:
@@ -220,6 +62,8 @@ Open issues:
 
 - Use GIT
 - Understand AXI4 streaming (versus avalon, RL =0)
+  . wrap between AXI4 - Avalon for MM and DP
+- Global reset only on sosi info not on sosi data
 - Use ARGS to define peripherals
   . check docs and article
 - Learn how gmi_minimal HDL code works to prepare for porting to unb2b_minimal_gmi
@@ -232,8 +76,6 @@ Open issues:
   . cause of reboot (power cycle, overtemperature, ...)
 
 
-
-
 - RCU2S-SDP signal input allocation:
   Decided:
   . LBA and HBA on seperate RCUs and also on seperate subracks and on independent rings, so SDP is independent
@@ -260,7 +102,6 @@ Open issues:
 
 *******************************************************************************
 * System engineering:
-*
 *******************************************************************************
 
 - Requirements,
@@ -269,6 +110,7 @@ Open issues:
   Requirements map to functions at any level
 - Products
 - ICDs
+- Roles
 
 Polarion:
 - Maintain hierarchy of functions and link them to products
@@ -482,17 +324,20 @@ STIN
 *******************************************************************************
 
 - H4
-  . SDP dynamisch bereik figure versimpelen + formule + simuleer processing gain van FFT voor real input
+  . SDP dynamisch bereik figure versimpelen + formule + simuleer processing gain van FFT voor real
+    input
   . Check timing dither with PK, because this would require detailed timing control for SDP and RCU2
-  . In SDP JESD details maybe too detailed design, purpose here is to explain JESD in own words to understand it without
-    having to read references.
+  . In SDP JESD details maybe too detailed design, purpose here is to explain JESD in own words to
+    understand it without having to read references.
   . Check that +48 v is mentioned (not -48 V)
-  . io_ddr in FN beamformer uses 26 M9K waarvan 10 in de IP. De IP gebruikt ook 1 M144K (~= 16 M9K). De FN beamformer gebruikt 1 DDR3 module.
-    --> voor twee DDR modules zou je ongeveer (26 + 10) * 2 = 72 block RAM verwachten, terwijl TBB-base in LOFAR1 maar 6 gebruikt volgens MP
-        syntesis report.
+  . io_ddr in FN beamformer uses 26 M9K waarvan 10 in de IP. De IP gebruikt ook 1 M144K (~= 16 M9K).
+    De FN beamformer gebruikt 1 DDR3 module.
+    --> voor twee DDR modules zou je ongeveer (26 + 10) * 2 = 72 block RAM verwachten, terwijl
+        TBB-base in LOFAR1 maar 6 gebruikt volgens MP syntesis report.
   . Timimg fixed op interne sync of op single or periodic timestamp set by SC.
-    - let SDP send event for each interne sync, to help SC align its time critical control and monitoring
-    - possibly use linear interpolation for BF weights to relieve SC from tigth 1 Hz control and to allow fast tracking of satellites
+    - let SDP send event for each interne sync, to help SC align its time critical M&C
+    - possibly use linear interpolation for BF weights to relieve SC from tigth 1 Hz control and to
+      allow fast tracking of satellites
     - define timestamp as 32b seconds and 32b blocks within second
 
 
@@ -501,9 +346,11 @@ STIN
   PK:
   . Write design decision on dithering (meant to make ADC effectively more linear):
     1) none
-    2) level using additative CW --> suppress RFI harmonics already at ADC by making the ADC sampling more linear by crossing more levels
-    3) time using delays --> does this work anyway, because the digital BF already suppresses RFI from all directions in which it does not point.
-       The dithering makes that it looks like the RFI comes from all directions, this does not help, does it?
+    2) level using additative CW --> suppress RFI harmonics already at ADC by making the ADC
+       sampling more linear by crossing more levels
+    3) time using delays --> does this work anyway, because the digital BF already suppresses RFI
+       from all directions in which it does not point. The dithering makes that it looks like the
+       RFI comes from all directions, this does not help, does it?
 
 PDR:
 - Polarization correction at station via subband weights, via BF weights?
@@ -516,11 +363,12 @@ PDR:
 - TB size
 - S_sub_bf = 488
 - Subband weights update rate > 10 min is sufficient?
-- There are >= 488 independent Station beams per polarization. This also implies that the polarizations can have independent
-  Station beams, so different frequencies and pointings. In LOFAR 1.0 a subband and a beamlet are defined as a X,Y tuple.
-  For LOFAR 2.0 the beamlets are still output as tuples but the X and Y are treated independently, so beamlet index i for X
-  may use a different subband frequency and pointing than beamlet index i for Y. Therefore in LOFAR 2.0 define a subband and
-  a beamlet per single polarization.
+- There are >= 488 independent Station beams per polarization. This also implies that the
+  polarizations can have independent Station beams, so different frequencies and pointings. In
+  LOFAR1 a subband and a beamlet are defined as a X,Y tuple. For LOFAR2.0 the beamlets are still
+  output as tuples but the X and Y are treated independently, so beamlet index i for X may use
+  a different subband frequency and pointing than beamlet index i for Y. Therefore in LOFAR2.0
+  define a subband and a beamlet per single polarization.
 - How to continue SE after PDR:
   . Update ADD with OAR answers and internal remarks from team
   . Mapping of function tree, L2 requirements and L3 products in ADD
@@ -528,7 +376,8 @@ PDR:
   . Add station functions from ADD to function tree in Polarion?
     - what is the purpose of the function tree, does it provide a check list?
     - how deep will the function tree go, till the lowest level products?
-  . Do we need more SE views then that we already have with states/modes, requirements, functions and products?
+  . Do we need more SE views then that we already have with states/modes, requirements, functions
+    and products?
   . ICDs
   . L4 requirements?
   . L4 products?
diff --git a/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd b/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd
index 0554a39199ed98e8978adc9c9b948adf1db07bb2..df979c50d6399d4f9b3b0b1ea33b536025b8cf28 100644
--- a/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd
+++ b/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd
@@ -229,17 +229,18 @@ BEGIN
   );  
   
   ---------------------------------------------------------------------------------------
-  -- TX: FIFO: dp_clk -> tx_clk and with fill level so we can deliver packets to the MAC fast enough
+  -- TX: FIFO: dp_clk -> tx_clk and with fill level/eop trigger so we can deliver packets to the MAC fast enough
   ---------------------------------------------------------------------------------------
-  gen_dp_fifo_fill_dc : FOR i IN 0 TO g_nof_macs-1 GENERATE
-    u_dp_fifo_fill_dc : ENTITY dp_lib.dp_fifo_fill_dc
+  gen_dp_fifo_fill_eop : FOR i IN 0 TO g_nof_macs-1 GENERATE
+    u_dp_fifo_fill_eop : ENTITY dp_lib.dp_fifo_fill_eop
     GENERIC MAP (
-      g_technology  => g_technology,
-      g_data_w      => c_xgmii_data_w,
-      g_empty_w     => c_tech_mac_10g_empty_w,
-      g_use_empty   => TRUE,
-      g_fifo_fill   => g_tx_fifo_fill,
-      g_fifo_size   => g_tx_fifo_size
+      g_technology     => g_technology,
+      g_use_dual_clock => TRUE,
+      g_data_w         => c_xgmii_data_w,
+      g_empty_w        => c_tech_mac_10g_empty_w,
+      g_use_empty      => TRUE,
+      g_fifo_fill      => g_tx_fifo_fill,
+      g_fifo_size      => g_tx_fifo_size
     )
     PORT MAP (
       wr_rst      => dp_rst,