addrmap SiFive_UART {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="TransmitData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
            } DATA[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[30:8];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } FULL[31:31];
    } TransmitData @ 0x0;
    reg {
        name="ReceiveData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } EMPTY[31:31];
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = r;
            } DATA[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[30:8];
    } ReceiveData @ 0x4;
    reg {
        name="TransmitControl";
        regwidth=0x20;
            field {
                sw = rw;
            } TXEN[0:0];
            field {
                sw = rw;
            } NSTOP[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[15:2];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } TXCNT[18:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED_[31:19];
    } TransmitControl @ 0x8;
    reg {
        name="ReceiveControl";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } RXEN[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[15:1];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } RXCNT[18:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED_[31:19];
    } ReceiveControl @ 0xc;
    reg {
        name="InterruptEnable";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } TXWM[0:0];
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } RXWM[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[31:2];
    } InterruptEnable @ 0x10;
    reg {
        name="InterruptPending";
        regwidth=0x20;
            field {
                sw = r;
            } TXWM[0:0];
            field {
                sw = r;
            } RXWM[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[31:2];
    } InterruptPending @ 0x14;
    reg {
        name="BaudrateDivisor";
        regwidth=0x20;
            field {
                sw = rw;
                reset=16'b1111111111111111;
            } DIV[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } RESERVED[31:16];
    } BaudrateDivisor @ 0x18;
} Registers_addrmap;


};