addrmap Gaisler_FaultTolerantMemoryController {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="MemoryConfiguration1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promReadWaitStates[3:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promWriteWaitStates[7:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promWidth[9:8];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } promWriteEnable[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promBankSize[16:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ioEnable[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ioWaitStates[23:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } busErrorCode[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ioBusReadyEnable[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ioBusWidth[28:27];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } asynchronousBusReady[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promAreaBusReady[30:30];
    } MemoryConfiguration1 @ 0x0;
    reg {
        name="MemoryConfiguration2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ramReadWaitStates[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ramWriteWaitStates[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ramWidth[5:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } readModifyWrite[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ramBankSize[12:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sramDisable[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramEnable[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramCommand[20:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramColumnSize[22:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramBankSize[25:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramTcas[26:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramTrfc[29:27];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramTrp[30:30];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramRefreshEnable[31:31];
    } MemoryConfiguration2 @ 0x4;
    reg {
        name="MemoryConfiguration3";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } testCheckbits[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } promEdacEnable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } ramEdacEnable[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } edacDiagnosticReadBypass[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } edacDiagnosticWriteBypass[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } sdramRefreshCounterReload[26:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } reedSolomonEdacEnable[28:28];
    } MemoryConfiguration3 @ 0x8;
    reg {
        name="MemoryConfiguration4";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } testCheckbits[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } edacDiagnosticWriteBypass[16:16];
    } MemoryConfiguration4 @ 0xc;
} Registers_addrmap;


};