Skip to content
Snippets Groups Projects
Commit 522c7ff3 authored by BRONES Romain's avatar BRONES Romain
Browse files

Merge branch 'dev-doc' into dev

* Remove temporary mirror on DESY_VHDL
parents 3cdf73b0 8d10f068
No related branches found
No related tags found
No related merge requests found
[submodule "fwk"]
path = fwk
url = git@gitlab.desy.de:fpgafw/fwk.git
url = https://gitlab.desy.de/fpgafw/fwk.git
branch = main
[submodule "src/fmc_4sfp"]
path = src/fmc_4sfp
......@@ -30,14 +30,14 @@
url = git@gitlab.synchrotron-soleil.fr:dg/fofb/comcorr.git
[submodule "src/bsp_msk"]
path = src/bsp_msk
url = git@gitlab.desy.de:fpgafw/mod/bsp/bsp_fmc2zup.git
url = https://gitlab.desy.de/fpgafw/mod/bsp/bsp_fmc2zup.git
branch = dev-soleil-rbt
[submodule "src/pscgen"]
path = src/pscgen
url = git@gitlab.synchrotron-soleil.fr:dg/fofb/pscgen.git
[submodule "src/lib/desy_vhdl"]
path = src/lib/desy_vhdl
url = git@gitlab.desy.de:fpgafw/lib/desy_vhdl.git
url = https://gitlab.desy.de/fpgafw/lib/desy_vhdl.git
branch = main
[submodule "src/daq"]
path = src/daq
......
// Referencing the true README inside the modules.
// This README on the front page just includes it.
:imagesdir: doc/images
include::doc/main.adoc[]
doc/images/synoptique_application_blocsdetailled.png

62.4 KiB

doc/images/synoptique_application_topo.png

91.7 KiB

doc/images/synoptique_platform.png

80.4 KiB

= Documentation
= FOFB Node Documentation
// ================================================================================
== Description
This FWK project is used to build the two configuration of FOFBNodes : CellNode and CentralNode.
The target system is a DAMC-FMC2ZUP board with a FMC-4SFP+ equiped.
The next figure gives a global idea of the Fofb Nodes integration to SOLEIL Fast Orbit Feedback.
Beam Position Monitors (BPM) output the position data, and Power Supply Controller (PSC) drive the steering magnets to move the beam with the correction values.
image::synoptique_application_topo.png[Topology,350]
// ================================================================================
== Overview
The built firmware will sit in the PL (FPGA) part of a Xilinx SoC.
image::synoptique_platform.png[Platform,500]
Details of the processing blocs are given in the next figure.
image::synoptique_application_blocsdetailled.png[Detailed Application Blocs, 500]
=== Modules used
|===
| FMC2ZUP BSP (desy msk) | BSP for the main board
| FMC4-SFP interface | Simple interface layer
| DAQ (desy msk) | DAQ used to record data and forward in on board DDR
| CCN Ethernet | Communication CellNodes, transmit and receive ethernet frames from/to AXI-Stream
| CCN Packet | Communication CellNodes, packeter and unpacketer for the frames
| COMBPM | (CellNode only) Receive frames from BPMs, filter and put packets on a AXI-Stream
| COMCORR | (CellNode only) Transmit frames to PSC
| CORR Matrix | (CentralNode only) Compute correction from BPM position data
| DESY LIB (desy msk) | Several basic components and interfaces
|===
// ================================================================================
== Generation
=== System requirements
* Vivado version targeted : Vivado 2020.2.
The TCL interpreter shall be accessible in the environment PATH.
(Use the script `settings64.sh` provided by Xilinx)
* Python3.8 shall be installed with venv
=== Building firmware
==== Checking out the source code
git clone git@gitlab.synchrotron-soleil.fr:dg/fofb/cellnode_fpga.git prod_fofbnode
cd prod_fofbnode/
git submodule update --init --recursive
==== Quick tour
Taking a look in the checked out files, we can see the different modules used in the `src` directory.
FWK will use information set in the different `.cfg` and `.tcl` files.
├── cfg
│ ├── cellnode.cfg
│ ├── centralnode.cfg
│ └── default.cfg
├── doc
├── fwk
├── Makefile
├── README.adoc
├── src
│ ├── app_fofbnode
│ ├── bsp_msk
│ ├── ccn_packet
│ ├── combpm
│ ├── comcellnode_ethernet
│ ├── comcorr
│ ├── corr_matrix
│ ├── daq
│ ├── fmc_4sfp
│ ├── lib
│ └── pscgen
└── tcl
└── project.tcl
==== Building
The build process is handled by FWK makefile.
Install dependency in a local environment (fwk).
This is required only once.
make env
Create the project then build it, for both configurations (default is CellNode)
make project && make project cfg=centralnode
make build && make build cfg=centralnode
==== Getting output files
All output files are located in the `out` directory.
`.xsa` and `.mapt` files are then to be forwarded to the YOCTO build system: https://gitlab.synchrotron-soleil.fr/dg/fofb/fofb-yocto
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment