Skip to content
Snippets Groups Projects
combpm.rdl 2.82 KiB
Newer Older
BRONES Romain's avatar
BRONES Romain committed
`include "combpm.vh" // Auto generated from FWK
BRONES Romain's avatar
BRONES Romain committed

BRONES Romain's avatar
BRONES Romain committed
/* default values of defined variables */
`ifndef C_ID
`define C_ID 0x507E1710
`endif

BRONES Romain's avatar
BRONES Romain committed
addrmap combpm {
    name="BPM protocol decoder controller";
    desyrdl_interface = "AXI4L";
BRONES Romain's avatar
BRONES Romain committed

BRONES Romain's avatar
BRONES Romain committed

      reg {
        desc="Module Identification Number";
        default sw = r;
        default hw = r;
        field {} data[32] = `C_ID;
      } ID @0x00;

    reg {
        desc="Module version.";
        field {hw=w;sw=r;} data[32];
    } VERSION @0x04;
BRONES Romain's avatar
BRONES Romain committed
    reg {
        desc="SFP module status";
        desyrdl_data_type="bitfields";
BRONES Romain's avatar
BRONES Romain committed

        field {desc="RX lost signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXLOS;
        field {desc="Module is absent";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } MODABS;
    } SFP;

    reg {
        desc="GT transceivers status and control";
        desyrdl_data_type="bitfields";
BRONES Romain's avatar
BRONES Romain committed

        field {desc="Powergood signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } POWERGOOD;

        field {desc="PLL lock signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } QPLLLOCK;

        field {desc="RX clk active signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXCLKACTIVE;

        field {desc="RX CDR lock signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXCDRLOCK;

        field {desc="RX reset done signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXRESETDONE;

        field {desc="RX byte is aligned signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXBYTEISALIGNED;

        field {desc="RX byte realign signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXBYTEREALIGN;

        field {desc="RX comma detected signal";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } RXCOMMADET;

        field {desc="RX comma detection enable signal";hw=r;sw=rw;
BRONES Romain's avatar
BRONES Romain committed
        } RXCOMMADETEN = 1;

        field {desc="Reset RX datapath";hw=r;sw=rw;
BRONES Romain's avatar
BRONES Romain committed
        } RXRSTDATAPATH = 1;
BRONES Romain's avatar
BRONES Romain committed

        field {desc="Reset RX PLL and datapath";hw=r;sw=rw;
        } RXRSTPLLDATAPATH = 1;

BRONES Romain's avatar
BRONES Romain committed
    } GT;

    reg {
        desc="BPM protocol status and control";
        desyrdl_data_type="bitfields";
BRONES Romain's avatar
BRONES Romain committed

        field {desc="Frame error";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } FRAMEERROR;
        field {desc="Sequence frame count mismatch";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } SEQFRAMECNTERROR;

        field {desc="Sequence frame discontinuity";hw=w;sw=r;
BRONES Romain's avatar
BRONES Romain committed
        } SEQFRAMEDISCONT;

        field {desc="Soft reset";hw=r;sw=rw;
BRONES Romain's avatar
BRONES Romain committed
    } PROTOCOL;

BRONES Romain's avatar
BRONES Romain committed
    reg {
        desc="BPM protocol valid frame counters";
        field {hw=w;sw=r;} data[32];
    } VALIDFRAMECNT;
BRONES Romain's avatar
BRONES Romain committed

        desc="BPM protocol invalid frame counters";
        field {hw=w;sw=r;} data[32];
    } INVALIDFRAMECNT;
BRONES Romain's avatar
BRONES Romain committed

    reg {
        desc="BPM protocol valid frame rate";
        field {hw=w;sw=r;} data[32];
    } VALIDFRAMERATE;
BRONES Romain's avatar
BRONES Romain committed

        desc="BPM protocol invalid frame rate";
        field {hw=w;sw=r;} data[32];
    } INVALIDFRAMERATE;
BRONES Romain's avatar
BRONES Romain committed

        desc="BPM protocol frame sequence";
        field {hw=w;sw=r;} data[16];
    external mem {
        desc = "BPM filter table";
        memwidth = 8;
        mementries = 2**`C_W_ADDR_TABLE;
    } TABLE @0x200;
BRONES Romain's avatar
BRONES Romain committed
};