Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
combpm
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DG
FOFB
combpm
Commits
d1610982
Commit
d1610982
authored
5 months ago
by
BRONES Romain
Browse files
Options
Downloads
Patches
Plain Diff
Fix and update documentation
parent
b02e1334
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
README.adoc
+3
-0
3 additions, 0 deletions
README.adoc
doc/main.adoc
+1
-44
1 addition, 44 deletions
doc/main.adoc
doc/regmap.adoc
+2
-0
2 additions, 0 deletions
doc/regmap.adoc
with
6 additions
and
44 deletions
README.adoc
+
3
−
0
View file @
d1610982
:imagesdir: doc/images
include::doc/main.adoc[]
include::doc/main.adoc[]
This diff is collapsed.
Click to expand it.
doc/main.adoc
+
1
−
44
View file @
d1610982
...
@@ -41,42 +41,6 @@ _The actual __top_combpm_electron.vhd__ file provides these three blocs configur
...
@@ -41,42 +41,6 @@ _The actual __top_combpm_electron.vhd__ file provides these three blocs configur
.Basic overview of combpm module
.Basic overview of combpm module
image::images/overview.svg[]
image::images/overview.svg[]
=== Package
A package describing the AXIS packet at the module output is present.
It helps to automatically pack or unpack the packet (functions _bpmpacket2slv()_ or _slv2bpmpacket()_ ).
A zero packet (_C_BPMPACKET_ZERO) is also declared.
.t_bpmpacket record type
[cols="1,1,1"]
[%autowidth]
|===
|Member name | Type | Description
|pos_x | std_logic_vector(31 downto 0) | X position
|pos_y | std_logic_vector(31 downto 0) | Y position
|bpm_id | std_logic_vector(15 downto 0) | ID of the source BPM
|mc_timestamp | std_logic_vector(39 downto 0) | Timestamp at machine clock frequency
|fa_seq | std_logic_vector(7 downto 0) | FA sequence number, LSB only
|===
.Some usage of pkg_bpmpacket.vhd
[example]
[source,vhdl]
----
signal my_packet : t_bpmpacket;
(...)
my_packet <= slv2bpmpacket(axis_tdata); -- Convert from AXIS tdata to a BPM packet
id <= my_packet.bpm_id; -- Access packet fields
pos_x <= my_packet.pos_x;
axis_tdata_o <= bpmpacket(my_packet); -- Convert back to logic vector for AXIS tdata
----
// ================================================================================
// ================================================================================
== Details
== Details
...
@@ -89,9 +53,6 @@ A zero packet (_C_BPMPACKET_ZERO) is also declared.
...
@@ -89,9 +53,6 @@ A zero packet (_C_BPMPACKET_ZERO) is also declared.
=== BPM packet AXIS stream
=== BPM packet AXIS stream
The AXIS data provided by the protocol decoder is descibed in the file _pkg_bpmpacket_stream.vhd_.
See this file to have up to date fields info.
* Packets are not cut into packets (TLAST always '1').
* Packets are not cut into packets (TLAST always '1').
* No FIFO on output (TREADY is not used).
* No FIFO on output (TREADY is not used).
The application needs to either implement FIFO or accepts every packet (AXIS packet).
The application needs to either implement FIFO or accepts every packet (AXIS packet).
...
@@ -125,9 +86,5 @@ include::regmap.adoc[]
...
@@ -125,9 +86,5 @@ include::regmap.adoc[]
// ================================================================================
// ================================================================================
== TODO/Future of this module
== TODO/Future of this module
* Remove the pkg bpm stream. It is not that handy.
* This module will fade out of usage as SOLEIL moves to the next generation of BPM electronics
* Add configuration feature to allow the choice of the transceiver (for now only X0Y4 GTH).
* The application should be able to instanciate several transceiver interface, with one decoder for each.
* At SOLEIL, the BPM electronics will change by 2025.
At that point, it will be necessary to change the *Transceivers* and *Protocol decoder* blocs to match the new equipments.
This diff is collapsed.
Click to expand it.
doc/regmap.adoc
+
2
−
0
View file @
d1610982
...
@@ -25,12 +25,14 @@
...
@@ -25,12 +25,14 @@
_FRAMEERROR_ [0:0] sw:RO uint : +++Frame error+++ +
_FRAMEERROR_ [0:0] sw:RO uint : +++Frame error+++ +
_SEQFRAMECNTERROR_ [1:1] sw:RO uint : +++Sequence frame count mismatch+++ +
_SEQFRAMECNTERROR_ [1:1] sw:RO uint : +++Sequence frame count mismatch+++ +
_SEQFRAMEDISCONT_ [2:2] sw:RO uint : +++Sequence frame discontinuity+++ +
_SEQFRAMEDISCONT_ [2:2] sw:RO uint : +++Sequence frame discontinuity+++ +
| RESET_ERROR | 1 | 1 | uint | RW | +++None+++ +
| RESET | 1 | 1 | uint | RW | +++None+++ +
| RESET | 1 | 1 | uint | RW | +++None+++ +
| VALIDFRAMECNT | 1 | 32 | uint | RO | +++BPM protocol valid frame counters+++ +
| VALIDFRAMECNT | 1 | 32 | uint | RO | +++BPM protocol valid frame counters+++ +
| INVALIDFRAMECNT | 1 | 32 | uint | RO | +++BPM protocol invalid frame counters+++ +
| INVALIDFRAMECNT | 1 | 32 | uint | RO | +++BPM protocol invalid frame counters+++ +
| VALIDFRAMERATE | 1 | 32 | uint | RO | +++BPM protocol valid frame rate+++ +
| VALIDFRAMERATE | 1 | 32 | uint | RO | +++BPM protocol valid frame rate+++ +
| INVALIDFRAMERATE | 1 | 32 | uint | RO | +++BPM protocol invalid frame rate+++ +
| INVALIDFRAMERATE | 1 | 32 | uint | RO | +++BPM protocol invalid frame rate+++ +
| FRAMESEQ | 1 | 16 | uint | RO | +++BPM protocol frame sequence+++ +
| FRAMESEQ | 1 | 16 | uint | RO | +++BPM protocol frame sequence+++ +
| SEQ_OFFSET | 1 | 16 | int16 | RW | +++Sequence numbering offset+++ +
| FILTERTABLE | 256 | 32 | uint | RW | +++BPM filter table+++ +
| FILTERTABLE | 256 | 32 | uint | RW | +++BPM filter table+++ +
|===
|===
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment