diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e77dc052869e8c289d4b9caca3ca518d2a2ab801..69190f24460f704fdcdc0641c1dc9018f010b882 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,25 +31,88 @@ stages: - synthesis - hardware -lint-vhdl-libraries: +lint-vhdl-lib-base: tags: - hdl stage: linting allow_failure: true before_script: - - DEBIAN_FRONTEND=noninteractive apt-get update - - DEBIAN_FRONTEND=noninteractive apt-get install -y python3 python3-pip python3-ipython - pip3 install vsg --use-pep517 script: - - cd libraries - - find . -name "*.vhd" -exec vsg -f {} \; + - cd libraries/base + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; +lint-vhdl-lib-dsp: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd libraries/dsp + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; + +lint-vhdl-lib-io: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd libraries/io + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; + +lint-vhdl-lib-technology: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd libraries/technology + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; + +lint-vhdl-boards-uniboard2b: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd boards/uniboard2b + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; + +lint-vhdl-boards-uniboard2c: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd boards/uniboard2c + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; + +lint-vhdl-applications-lofar2: + tags: + - hdl + stage: linting + allow_failure: true + before_script: + - pip3 install vsg --use-pep517 + script: + - cd applications/lofar2 + - find . -name "*.vhd" -exec vsg -c ../../vsg_config.yaml -f {} \; ############################################################################### # HDL simulation stage ############################################################################### sim-compile: - tags: + tags: - fpga stage: simulation script: @@ -61,12 +124,12 @@ sim-compile: - build/ sim-run: - tags: + tags: - fpga stage: simulation script: - echo "Running simulations" -# - test -f "build/info.txt" # This fails despite having artifact (see +# - test -f "build/info.txt" # This fails despite having artifact (see # sim-compile code block where a folder and # file are generated and preserved by using # 'artifacts'). @@ -75,21 +138,21 @@ sim-run: # HDL synthesis stage ############################################################################### synth-compile: - tags: + tags: - fpga stage: synthesis script: - echo "Compiling for synthesis" synth-check-fmax: - tags: + tags: - fpga stage: synthesis script: - echo "Checking achieved fMax" synth-check-programming-files: - tags: + tags: - fpga stage: synthesis script: diff --git a/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt b/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt index 9a54def39092dd7ed5021298802a2956d79552a0..a04243e671ad514f506f57ccd9d657bb83b87d06 100644 --- a/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt +++ b/applications/lofar2/doc/prestudy/station2_sdp_transient_buffer.txt @@ -575,7 +575,7 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y . N_remaining == 0, else something went wrong in SDPFW . N_dumped = N_read - N_dropped, else something went wrong in SDPFW . N_dropped == 0, else packets got lost due to DDR4 memory access errors - . N_lost == 0, else packets got lost on the ring + . N_lost == 0, else packets got lost on the ring --> check ring MP for details . N_read == FPGA_tbuf_dump_nof_packets_R * nof active ai, else something went wrong in SDPFW . N_output == N_read - N_dropped - N_lost, else something went wrong in SDPFW @@ -607,23 +607,22 @@ The CP FPGA_beamlet_output_nof_beamlets_RW is not supported in SDPTR and SDPFW y . 8b version_id - 32b observation_id --> like for beamlets, may be useful for cosmic ray piggy back, not in LOFAR1 . 16b station_info - - 4b antenna_field_index (e.g. HBA-0, HBA-1) + - 4b antenna_field_index (e.g. HBA-0, HBA-1, Nenufar) - 12b station_id - . 16b source_info (as in beamlet packet) + . 16b source_info - 1b antenna_band_index (LB, HB) - 2b nyquist_zone_index - 1b f_adc --> sample clock rate, period is 5 ns or 6.25 ns - - 3b reserved - 4b sample_width --> 14b, where 16b is represented by 0 - - 5b gn_index --> purpose fault analysis + - 8b gn_index --> purpose fault analysis . 32b reserved . 8b antenna_input_index --> 0..95 - . 16b nof_samples_per_packet --> (8kB - 16) / 14b = 4672 (= 1022 words of 64b) --> log2() = 13b + . 16b nof_samples_per_packet --> log2(2000) = 12b . 64b RSN = Sample Sequence Number --> is prefered over a BSN, because RSN can start at any sample, whereas a BSN has to fit start at 1970. -??? 4b antenna_field_index in station_info -??? 8b gn_index -??? 2 Byte antenne_input_index +??? 4b antenna_field_index in station_info --> L2SDP-917 +??? 8b gn_index --> Ja voor TBuf, L2SDP-930 voor beamlets +??? 2 Byte of 12b antenne_input_index --> Nee houdt eerst 8b, L2SDP-931 voor SST, XST - headers: 14 + 20 + 8 + 24 = 66 bytes diff --git a/readme.md b/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..596433603b54df86df2a5ffaad5c34fe7cc161f3 --- /dev/null +++ b/readme.md @@ -0,0 +1,18 @@ +# Gitlab CI/CD + +HDL linting is using *gitlab-runners* on *dop349*. + +Linting tool used is *vhdl-style-guide* (VSG) + +link: https://vhdl-style-guide.readthedocs.io/en/latest/index.html + +##### Linting settings. + +By default all rules are disabled in de *vsg_config.yaml* file. + +The only active rule on this moment is *case.keyword* and is set to *upper*. + + + + + diff --git a/vsg_config.yaml b/vsg_config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3c6e3bc83c6a0ece2c1a858a8c833377dc84edec --- /dev/null +++ b/vsg_config.yaml @@ -0,0 +1,7 @@ +rule: + global: + disable: True + group: + case::keyword: + disable: False + case: 'upper'