Skip to content
Snippets Groups Projects
combpm.rdl 2.69 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
addrmap combpm {
BRONES Romain's avatar
BRONES Romain committed

    desyrdl_generate_hdl = true;
    desyrdl_interface = "AXI4L";
BRONES Romain's avatar
BRONES Romain committed

    name="BPM protocol decoder controller";
BRONES Romain's avatar
BRONES Romain committed

    reg {
        desc="Module identifier.";
        field {hw=w;sw=r;} data[32];
    } ID;

    reg {
        desc="Module version.";
        field {hw=w;sw=r;} data[32];
    } VERSION;

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;

BRONES Romain's avatar
BRONES Romain committed
};