addrmap Allegro_E310 {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Head";
        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];
    } Head @ 0x0;
    reg {
        name="Tail";
        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];
    } Tail @ 0x4;
    reg {
        name="Data";
        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];
    } Data @ 0x8;
} MailboxRegisters_addrmap;
addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="McuInterruptHandler";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } instruction[31:0];
    } McuInterruptHandler @ 0x10;
    reg {
        name="CommandMailbox";
        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];
    } CommandMailbox @ 0x7000;
    reg {
        name="StatusMailbox";
        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];
    } StatusMailbox @ 0x7800;
    reg {
        name="McuReset";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } reset[0:0];
    } McuReset @ 0x9000;
    reg {
        name="McuResetMode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } reset_mode[0:0];
    } McuResetMode @ 0x9004;
    reg {
        name="McuStatus";
        regwidth=0x20;
            field {
                sw = rw;
                reset=1'b1;
            } sleeping[0:0];
    } McuStatus @ 0x9008;
    reg {
        name="McuWakeup";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } wakeup[0:0];
    } McuWakeup @ 0x900c;
    reg {
        name="IcacheAddrOffsetMsb";
        regwidth=0x20;
            field {
                sw = rw;
            } icache_addr_high[31:0];
    } IcacheAddrOffsetMsb @ 0x9010;
    reg {
        name="IcacheAddrOffsetLsb";
        regwidth=0x20;
            field {
                sw = rw;
            } icache_addr_low[31:0];
    } IcacheAddrOffsetLsb @ 0x9014;
    reg {
        name="DcacheAddrOffsetMsb";
        regwidth=0x20;
            field {
                sw = rw;
            } dcache_addr_high[31:0];
    } DcacheAddrOffsetMsb @ 0x9018;
    reg {
        name="DcacheAddrOffsetLsb";
        regwidth=0x20;
            field {
                sw = rw;
            } dcache_addr_low[31:0];
    } DcacheAddrOffsetLsb @ 0x901c;
    reg {
        name="McuInterruptTrigger";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } interrupt[0:0];
    } McuInterruptTrigger @ 0x9100;
    reg {
        name="McuInterruptMask";
        desc = "This register has the following custom Renode callbacks: Change";
        regwidth=0x20;
            field {
                sw = rw;
            } interrupt_mask[0:0];
    } McuInterruptMask @ 0x9104;
    reg {
        name="McuInterruptClear";
        desc = "This register has the following custom Renode callbacks: Write";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = w;
                onwrite = woclr;
            } interrupt_clr[0:0];
    } McuInterruptClear @ 0x9108;
    reg {
        name="McuInterruptStatus";
        regwidth=0x20;
            field {
                sw = r;
            } MCU_IRQ_STA[0:0];
    } McuInterruptStatus @ 0x910c;
    reg {
        name="AxiAddressOffset";
        regwidth=0x20;
            field {
                sw = rw;
            } axi_addr_offset_ip[31:0];
    } AxiAddressOffset @ 0x9208;
} Registers_addrmap;


};