-
BRONES Romain authoredBRONES Romain authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
corr_matrixpi.rdl 1.83 KiB
`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 = rw;
field {} data [32];
} VERSION @0x04;
reg {
desc="Global control of the corrector.";
field {sw = rw; hw = r;} ENABLE_CORR;
field {sw = rw; hw = r;} RST_ACC;
field {sw = rw; hw = r;} ENABLE_ACCU;
} 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;
reg {
desc="Number of ID to count for matrix multiplication.";
field {sw = rw; hw = r;} data[`C_W_MM_IDCNT] = `C_N_MM_BPM;
} MM_ID_CNT;
mem {
desc = "X Reference orbit.";
memwidth = 32;
mementries = 2**`C_W_MM_IDCNT;
} external REFORBITX;
mem {
desc = "Y Reference orbit.";
memwidth = 32;
mementries = 2**`C_W_MM_IDCNT;
} external REFORBITY;
mem {
desc = "PSC identifier table.";
memwidth = 32;
mementries = 2**`C_W_PSCID;
} external PSCIDTABLE;
mem {
desc = "Matrix multiplication coefficients.";
memwidth = 32;
mementries = 2**`C_W_MM_IDCNT;
} external MATRIXCOEF[`C_N_MM_PSC];
};