addrmap STM32_ADC {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Analog_watchdog_flag[0:0];
            field {
                sw = rw;
            } Regular_channel_end_of_conversion[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Injected_channel_end_of_conversion[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Injected_channel_start_flag[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Regular_channel_start_flag[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Overrun[5:5];
    } Status @ 0x0;
    reg {
        name="Control1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Analog_watchdog_channel_select_bits[4:0];
            field {
                sw = rw;
            } Interrupt_enable_for_EOC[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Analog_watchdog_interrupt_enable[6:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Interrupt_enable_for_injected_channels[7:7];
            field {
                sw = rw;
            } Scan_mode[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Enable_the_watchdog_on_a_single_channel_in_scan_mode[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Automatic_injected_group_conversion[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Discontinuous_mode_on_regular_channels[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Discontinuous_mode_on_injected_channels[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Discontinuous_mode_channel_count[15:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Analog_watchdog_enable_on_injected_channels[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Analog_watchdog_enable_on_regular_channels[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Resolution[25:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Overrun_interrupt_enable[26:26];
    } Control1 @ 0x4;
    reg {
        name="Control2";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Change.";
                sw = rw;
            } A_D_Converter_ON_OFF[0:0];
            field {
                sw = rw;
            } Continous_conversion[1:1];
            field {
                sw = rw;
            } Direct_memory_access_mode[8:8];
            field {
                sw = rw;
            } DMA_disable_selection[9:9];
            field {
                sw = rw;
            } End_of_conversion_select[10:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_Alignment[11:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_event_select_for_injected_group[19:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_trigger_enable_for_injected_channels[21:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Start_conversion_of_injected_channels[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_event_select_for_regular_group[27:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } External_trigger_enable_for_regular_channels[29:28];
            field {
                desc = "This field has the following custom Renode callbacks: Write, Provider.";
                sw = rw;
            } Start_Conversion_Of_Regular_Channels[30:30];
    } Control2 @ 0x8;
    reg {
        name="SampleTime1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_10_sampling_time[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_11_sampling_time[5:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_12_sampling_time[8:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_13_sampling_time[11:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_14_sampling_time[14:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_15_sampling_time[17:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_16_sampling_time[20:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_17_sampling_time[23:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_18_sampling_time[26:24];
    } SampleTime1 @ 0xc;
    reg {
        name="SampleTime2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_0_sampling_time[2:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_1_sampling_time[5:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_2_sampling_time[8:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_3_sampling_time[11:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_4_sampling_time[14:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_5_sampling_time[17:15];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_6_sampling_time[20:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_7_sampling_time[23:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_8_sampling_time[26:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Channel_9_sampling_time[29:27];
    } SampleTime2 @ 0x10;
    reg {
        name="InjectedChannelDataOffset1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_offset_for_injected_channel_1[11:0];
    } InjectedChannelDataOffset1 @ 0x14;
    reg {
        name="InjectedChannelDataOffset2";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_offset_for_injected_channel_2[11:0];
    } InjectedChannelDataOffset2 @ 0x18;
    reg {
        name="InjectedChannelDataOffset3";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_offset_for_injected_channel_3[11:0];
    } InjectedChannelDataOffset3 @ 0x1c;
    reg {
        name="InjectedChannelDataOffset4";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_offset_for_injected_channel_4[11:0];
    } InjectedChannelDataOffset4 @ 0x20;
    reg {
        name="WatchdogHigherThreshold";
        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];
    } WatchdogHigherThreshold @ 0x24;
    reg {
        name="WatchdogLowerThreshold";
        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];
    } WatchdogLowerThreshold @ 0x28;
    reg {
        name="RegularSequence1";
        regwidth=0x20;
            field {
                sw = rw;
            } _13th_conversion_in_regular_sequence[4:0];
            field {
                sw = rw;
            } _14th_conversion_in_regular_sequence[9:5];
            field {
                sw = rw;
            } _15th_conversion_in_regular_sequence[14:10];
            field {
                sw = rw;
            } _16th_conversion_in_regular_sequence[19:15];
            field {
                desc = "This field has the following custom Renode callbacks: Write.";
                sw = rw;
            } Regular_channel_sequence_length[23:20];
    } RegularSequence1 @ 0x2c;
    reg {
        name="RegularSequence2";
        regwidth=0x20;
            field {
                sw = rw;
            } _7th_conversion_in_regular_sequence[4:0];
            field {
                sw = rw;
            } _8th_conversion_in_regular_sequence[9:5];
            field {
                sw = rw;
            } _9th_conversion_in_regular_sequence[14:10];
            field {
                sw = rw;
            } _10th_conversion_in_regular_sequence[19:15];
            field {
                sw = rw;
            } _11th_conversion_in_regular_sequence[24:20];
            field {
                sw = rw;
            } _12th_conversion_in_regular_sequence[29:25];
    } RegularSequence2 @ 0x30;
    reg {
        name="RegularSequence3";
        regwidth=0x20;
            field {
                sw = rw;
            } _1st_conversion_in_regular_sequence[4:0];
            field {
                sw = rw;
            } _2nd_conversion_in_regular_sequence[9:5];
            field {
                sw = rw;
            } _3rd_conversion_in_regular_sequence[14:10];
            field {
                sw = rw;
            } _4th_conversion_in_regular_sequence[19:15];
            field {
                sw = rw;
            } _5th_conversion_in_regular_sequence[24:20];
            field {
                sw = rw;
            } _6th_conversion_in_regular_sequence[29:25];
    } RegularSequence3 @ 0x34;
    reg {
        name="InjectedSequence";
        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];
    } InjectedSequence @ 0x38;
    reg {
        name="InjectedData1";
        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];
    } InjectedData1 @ 0x3c;
    reg {
        name="InjectedData2";
        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];
    } InjectedData2 @ 0x40;
    reg {
        name="InjectedData3";
        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];
    } InjectedData3 @ 0x44;
    reg {
        name="InjectedData4";
        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];
    } InjectedData4 @ 0x48;
    reg {
        name="RegularData";
        regwidth=0x20;
            field {
                desc = "This field has the following custom Renode callbacks: Provider.";
                sw = rw;
            } No_name_1[31:0];
    } RegularData @ 0x4c;
} Registers_addrmap;


};