Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
`include "corr_matrixpi.vh" //automatically created and added by fwk with conf variables such a C_VERSION ...
/* default values of defined variables */
`ifndef C_ID
`define C_ID 0x507E1730
`endif
`ifndef C_VERSION
`define C_VERSION 0x00000000
`endif
addrmap corr_matrixpi {
name = "PI corrector with matrix multiplier";
desyrdl_interface = "AXI4L";
reg {
desc="Module Identification Number.";
default sw = r;
default hw = r;
field {} data[32] = `C_ID;
} ID @0x00;
reg {
desc="Module Version Number.";
default sw = r;
default hw = r;
field {} data [32];
} VERSION @0x04;
reg {
desc="Global control of the corrector.";
field {sw = rw; hw = r;} ENABLE;
field {sw = rw; hw = r;} RST_ACC;
} CONTROL;
reg {
desc="Correction proportionnal coefficient.";
field {sw = rw; hw = r;} data[`C_W_COR_KP];
} CORR_KP;
reg {
desc="Correction intergral coefficient.";
field {sw = rw; hw = r;} data[`C_W_COR_KI];
} CORR_KI;
mem {
desc = "X Reference orbit.";
memwidth = `C_W_BPMID;
mementries = `C_N_MM_BPM;
} external REFORBITX;
mem {
desc = "Y Reference orbit.";
memwidth = `C_W_BPMID;
mementries = `C_N_MM_BPM;
} external REFORBITY;
mem {
desc = "PSC identifier table.";
memwidth = `C_W_PSCID;
mementries = `C_N_MM_PSC;
} external PSCIDTABLE;
mem {
desc = "Matrix multiplication coefficients.";
memwidth = `C_W_MM_COEF;
mementries = `C_N_MM_BPM;
} external MATRIXCOEF[`C_N_MM_PSC];
};