addrmap Cadence_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
                reset=1'b1;
            } stopTxBreak[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } startTxBreak[7:7];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                onwrite = woclr;
            } restartRxTimeout[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
                reset=1'b1;
            } txDisabled[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } txEnabled[4:4];
            field {
                sw = rw;
                reset=1'b1;
            } rxDisabled[3:3];
            field {
                sw = rw;
            } rxEnabled[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } txReset[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } rxReset[0:0];
    } Control @ 0x0;
    reg {
        name="Mode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } accessSize[13:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } channelMode[9:8];
            field {
                sw = rw;
            } stopBits[7:6];
            field {
                sw = rw;
            } parityType[5:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } characterLength[2:1];
            field {
                sw = rw;
            } clockSourceSelect[0:0];
    } Mode @ 0x4;
    reg {
        name="InterruptEnable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxBreakDetectInterruptEnable[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoOverflowInterruptEnable[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoNearlyFullInterruptEnable[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoTriggerInterruptEnable[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } deltaModemStatusInterruptEnable[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxTimeoutErrorInterruptEnable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxParityErrorInterruptEnable[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxFramingErrorInterruptEnable[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoOverflowInterruptEnable[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoFullInterruptEnable[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoEmptyInterruptEnable[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoFullInterruptEnable[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoEmptyInterruptEnable[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoTriggerInterruptEnable[0:0];
    } InterruptEnable @ 0x8;
    reg {
        name="InterruptDisable";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxBreakDetectInterruptDisable[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoOverflowInterruptDisable[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoNearlyFullInterruptDisable[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoTriggerInterruptDisable[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } deltaModemStatusInterruptDisable[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxTimeoutErrorInterruptDisable[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxParityErrorInterruptDisable[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxFramingErrorInterruptDisable[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoOverflowInterruptDisable[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } txFifoFullInterruptDisable[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } txFifoEmptyInterruptDisable[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoFullInterruptDisable[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoEmptyInterruptDisable[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } rxFifoTriggerInterruptDisable[0:0];
    } InterruptDisable @ 0xc;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxBreakDetectInterruptMask[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } txFifoOverflowInterruptMask[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } txFifoNearlyFullInterruptMask[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } txFifoTriggerInterruptMask[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } deltaModemStatusInterruptMask[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxTimeoutErrorInterruptMask[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxParityErrorInterruptMask[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxFramingErrorInterruptMask[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoOverflowInterruptMask[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } txFifoFullInterruptMask[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoEmptyInterruptMask[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoFullInterruptMask[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoEmptyInterruptMask[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoTriggerInterruptMask[0:0];
    } InterruptMask @ 0x10;
    reg {
        name="ChannelInterruptStatus";
        desc = "This register has the following custom Renode callbacks: Read, Write";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxBreakDetectInterruptStatus[13:13];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoOverflowInterruptStatus[12:12];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoNearlyFullInterruptStatus[11:11];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoTriggerInterruptStatus[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } deltaModemStatusInterruptStatus[9:9];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxTimeoutErrorInterruptStatus[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxParityErrorInterruptStatus[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxFramingErrorInterruptStatus[6:6];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoOverflowInterruptStatus[5:5];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoFullInterruptStatus[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } txFifoEmptyInterruptStatus[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoFullInterruptStatus[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoEmptyInterruptMStatus[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Read, Write, Provider.";
                sw = rw;
            } rxFifoTriggerInterruptStatus[0:0];
    } ChannelInterruptStatus @ 0x14;
    reg {
        name="BaudRateGenerator";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
                reset=16'b1010001011;
            } baudRateGenerator[15:0];
    } BaudRateGenerator @ 0x18;
    reg {
        name="RxTimeout";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } RxTimeout @ 0x1c;
    reg {
        name="RxFifoTriggerLevel";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                reset=6'b100000;
            } No_name_1[5:0];
    } RxFifoTriggerLevel @ 0x20;
    reg {
        name="ModemControl";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ModemControl @ 0x24;
    reg {
        name="ModemStatus";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } ModemStatus @ 0x28;
    reg {
        name="ChannelStatus";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoTriggerStatus[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxFlowDelayTriggerStatus[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } txStateMachineActiveStatus[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } rxStateMachineActiveStatus[10:10];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoFullStatus[4:4];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } txFifoEmptyStatus[3:3];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoFullStatus[2:2];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoEmptyStatus[1:1];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } rxFifoTriggerStatus[0:0];
    } ChannelStatus @ 0x2c;
    reg {
        name="RxTxFifo";
        desc = "This register has the following custom Renode callbacks: Read, Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } No_name_2[7:0];
    } RxTxFifo @ 0x30;
    reg {
        name="BaudRateDivider";
        regwidth=0x20;
            field {
                sw = rw;
                reset=8'b1111;
            } baudRateDivider[7:0];
    } BaudRateDivider @ 0x34;
    reg {
        name="FlowDelay";
        desc = "Could not determine register's width, guessed 8 bits.";
        regwidth=0x8;
            field {
                desc = "This is a dummy r/w field, generated just to show the register in specs";
                sw = rw;
            } DUMMY[7:0];
    } FlowDelay @ 0x38;
    reg {
        name="TxFifoTriggerLevel";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                sw = rw;
                reset=6'b100000;
            } No_name_3[5:0];
    } TxFifoTriggerLevel @ 0x44;
    reg {
        name="RxFifoByteStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte3_break[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte3_frm_err[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte3_par_err[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte2_break[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte2_frm_err[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte2_par_err[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte1_break[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte1_frm_err[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte1_par_err[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte0_break[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte0_frm_err[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } byte0_par_err[0:0];
    } RxFifoByteStatus @ 0x48;
} Registers_addrmap;


};