addrmap SynopsysSSI {

addrmap {
    desc = "Generated by RenodeModelsAnalyzer";
    reg {
        name="Control0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_Frame_Size[4:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Frame_Format[7:6];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Serial_Clock_Phase[8:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Serial_Clock_Polarity[9:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transfer_Mode[11:10];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Slave_Output_Enable[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Shift_Register_Loop[13:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Slave_Select_Toggle_Enable[14:14];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Control_Frame_Size[19:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_Frame_Format[23:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_Hyperbus_Frame_format_enable[24:24];
    } Control0 @ 0x0;
    reg {
        name="Control1";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Number_of_Data_Frames[15:0];
    } Control1 @ 0x4;
    reg {
        name="SSIEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SSI_Enable[0:0];
    } SSIEnable @ 0x8;
    reg {
        name="MicrowireControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Microwire_Transfer_Mode[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Microwire_Control[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Microwire_Handshaking[2:2];
    } MicrowireControl @ 0xc;
    reg {
        name="SlaveEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Slave_Select_Enable[31:0];
    } SlaveEnable @ 0x10;
    reg {
        name="BaudRateSelect";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SSI_Clock_Divider[15:0];
    } BaudRateSelect @ 0x14;
    reg {
        name="TransmitFIFOThreshold";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Threshold[15:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transfer_start_FIFO_level[31:16];
    } TransmitFIFOThreshold @ 0x18;
    reg {
        name="ReceiveFIFOThreshold";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Threshold[31:0];
    } ReceiveFIFOThreshold @ 0x1c;
    reg {
        name="TransmitFIFOLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Level[31:0];
    } TransmitFIFOLevel @ 0x20;
    reg {
        name="ReceiveFIFOLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Level[31:0];
    } ReceiveFIFOLevel @ 0x24;
    reg {
        name="Status";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SSI_Busy[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Not_Full[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Empty[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Not_Empty[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Full[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmission_Error[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_Collision_Error[6:6];
    } Status @ 0x28;
    reg {
        name="InterruptMask";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Empty_Interrupt_Mask[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Overflow_Interrupt_Mask[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Underflow_Interrupt_Mask[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Overflow_Interrupt_Mask[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Full_Interrupt_Mask[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Multi_Master_Contention_Interrupt_Mask[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIR_Receive_FIFO_Overflow_Interrupt_Mask[6:6];
    } InterruptMask @ 0x2c;
    reg {
        name="InterruptStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Empty_Interrupt_Status[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Overflow_Interrupt_Status[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Underflow_Interrupt_Status[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Overflow_Interrupt_Status[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Full_Interrupt_Status[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Multi_Master_Contention_Interrupt_Status[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Receive_FIFO_Overflow_Interrupt_Status[6:6];
    } InterruptStatus @ 0x30;
    reg {
        name="RawInterruptStatus";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Empty_Raw_Interrupt_Status[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_FIFO_Overflow_Raw_Interrupt_Status[1:1];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Underflow_Raw_Interrupt_Status[2:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Overflow_Raw_Interrupt_Status[3:3];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_FIFO_Full_Raw_Interrupt_Status[4:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Multi_Master_Contention_Raw_Interrupt_Status[5:5];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Receive_FIFO_Overflow_Raw_Interrupt_Status[6:6];
    } RawInterruptStatus @ 0x34;
    reg {
        name="TransmitFIFOOverflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_Transmit_FIFO_Overflow_Interrupt[0:0];
    } TransmitFIFOOverflowInterruptClear @ 0x38;
    reg {
        name="ReceiveFIFOOverflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_Receive_FIFO_Overflow_Interrupt[0:0];
    } ReceiveFIFOOverflowInterruptClear @ 0x3c;
    reg {
        name="ReceiveFIFOUnderflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_Receive_FIFO_Underflow_Interrupt[0:0];
    } ReceiveFIFOUnderflowInterruptClear @ 0x40;
    reg {
        name="MultiMasterInterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_Multi_Master_Contention_Interrupt[0:0];
    } MultiMasterInterruptClear @ 0x44;
    reg {
        name="InterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_Interrupts[0:0];
    } InterruptClear @ 0x48;
    reg {
        name="DMAControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_DMA_Enable[0:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_DMA_Enable[1:1];
    } DMAControl @ 0x4c;
    reg {
        name="DMATransmitDataLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transmit_Data_Level[31:0];
    } DMATransmitDataLevel @ 0x50;
    reg {
        name="DMAReceiveDataLevel";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_Data_Level[31:0];
    } DMAReceiveDataLevel @ 0x54;
    reg {
        name="Identification";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Identification_Code[31:0];
    } Identification @ 0x58;
    reg {
        name="VersionID";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Synopsys_Component_Version[31:0];
    } VersionID @ 0x5c;
    reg {
        name="Data_0";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Data_registerIndex[31:0];
    } Data_0 [36]@ 0x60 += 4;
    reg {
        name="RXSampleDelay";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_Data_rxd_Sample_Delay[7:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Receive_Data_rxd_Sampling_Edge[16:16];
    } RXSampleDelay @ 0xf0;
    reg {
        name="SPIControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Transfer_format[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Length_of_Address[5:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Mode_Bits_Enable[7:7];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } D_Q_O_instruction_length[9:8];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } D_Q_O_Wait_Cycles[15:11];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_DDR_Enable[16:16];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Instruction_DDR_Enable[17:17];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Read_Data_Strobe_Enable[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Fix_DFS_for_XIP_Transfers[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Instruction_Enable[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Continuous_Transfer_Enable[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_Data_Mast_Enable[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Hypebus_Enable_rxds_Signaling[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Mode_Bits_Length[27:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Enable_XIP_Pre_fetch[29:29];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Enable_Clock_Stretching_in_SPI[30:30];
    } SPIControl @ 0xf4;
    reg {
        name="TransmitDriveEdge";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } TXD_Drive_Edge[7:0];
    } TransmitDriveEdge @ 0xf8;
    reg {
        name="XIPModeBits";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Mode_Bits_To_Send[15:0];
    } XIPModeBits @ 0xfc;
    reg {
        name="XIPINCRTransferOpcode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_INCR_Transfer_Opcode[15:0];
    } XIPINCRTransferOpcode @ 0x100;
    reg {
        name="XIPWRAPTransferOpcode";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_WRAP_Transfer_Opcode[15:0];
    } XIPWRAPTransferOpcode @ 0x104;
    reg {
        name="XIPControl";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_Frame_Format[1:0];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Address_and_Instruction_Transfer_Format[3:2];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Length_of_Address[7:4];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } D_Q_O_Mode_Instruction_Length[10:9];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Mode_Bits_Enable[12:12];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } D_Q_O_Wait_Cycles[17:13];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Transfers_DFS_Fix[18:18];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } SPI_DDR_Enable[19:19];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Instruction_DDR_Enable[20:20];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Read_Data_Strobe_Enable[21:21];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Instruction_Enable[22:22];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Continuous_Transfer_Enable[23:23];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_SPI_Hybperbus_Frame_Format_Enable[24:24];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Hypebus_Enable_rxds_Signaling[25:25];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Mode_Bits_Length[27:26];
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Pre_fetch_Enable[29:29];
    } XIPControl @ 0x108;
    reg {
        name="XIPSlaveEnable";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Slave_Select_Enable[31:0];
    } XIPSlaveEnable @ 0x10c;
    reg {
        name="XIPReceiveFifoOverflowInterruptClear";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } Clear_XIP_Receive_FIFO_Overflow_Interrupt[0:0];
    } XIPReceiveFifoOverflowInterruptClear @ 0x110;
    reg {
        name="XIPTimeOut";
        regwidth=0x20;
            field {
                desc = "The field is a Tag.";
                sw = rw;
            } XIP_Time_Out[7:0];
    } XIPTimeOut @ 0x114;
} Registers_addrmap;


};