Table Of Contents

Register Map Components

Version:
    Last Modified: November 23, 2020

    Refer to the following information to successfully execute a register map in Digital Pattern Editor.

    Read Pattern

    The read pattern must be designed to read register values from the DUT. In most protocols this involves sending the register address and other bits like command bits and parity bits to the DUT, and receiving the register values and other bits from the DUT. To achieve this, the read pattern sources bits to send from a source waveform and captures bits received in a capture waveform.

    Digital Pattern Editor packs the source waveform and parses the capture waveform based on the SourceWaveformRegisterPacket and CaptureWaveformRegisterPacket elements specified in the register map file ReadTemplate. If you do not specify a SourceWaveformRegisterPacket element, Digital Pattern Editor packs register addresses contiguously in chunks of length defined by addressBitWidth.

    spd-note-note
    Note  

    It is invalid to reference more than one source and one capture waveform in the read pattern.

    When initiating a read operation in the register map document, Digital Pattern Editor populates the source waveform and bursts the read pattern after setting the following pattern sequencer registers:
    • reg0-- number of registers to read.
    • reg1-- register address bit width. The addressBitWidth attribute in the register map file defines this value.
    • reg2-- register value bit width. The valueBitWidth attribute in the register map file defines this value.
    • reg3-- number of bits sent to the DUT to read one register. The SourceWaveformRegisterPacket element specified in the register map file ReadTemplate defines this value. If you do not specify this element, this is equal to the addressBitWidth attribute.
    • reg4-- number of bits received from the DUT to read one register. The CaptureWaveformRegisterPacket element specified in the register map file ReadTemplate defines this value. If you do not specify a this element, this is equal to the valueBitWidth attribute.

    The read pattern uses these pattern sequencer registers to iteratively send bits from the source waveform and receive bits in the capture waveform. On completion of the read pattern execution, Digital Pattern Editor parses the received register values from the capture waveform and updates affected fields in the register map document with new values.

    Write Pattern

    You must design the write pattern to write register values to the DUT. In most protocols, this involves sending the register address, register value, and other bits like command bits and parity bits to the DUT. To achieve this, the write pattern sources the bits to send from a source waveform.

    Digital Pattern Editor packs the source waveform based on the SourceWaveformRegisterPacket and CaptureWaveformRegisterPacket elements specified in the register map file WriteTemplate. If you do not specify a SourceWaveformRegisterPacket element, Digital Pattern Editor packs register addresses contiguously in chunks of length defined by addressBitWidth.

    spd-note-note
    Note  

    It is invalid to reference more than one source waveform in the write pattern.

    When initiating a write operation in the register map document, Digital Pattern Editor populates the source waveform and bursts the read pattern after setting the following pattern sequencer registers:
    • reg0-- number of registers to read.
    • reg1-- register address bit width. The addressBitWidth attribute in the register map file defines this value.
    • reg2-- register value bit width. The valueBitWidth attribute in the register map file defines this value.
    • reg3-- number of bits sent to the DUT to write to one register. The SourceWaveformRegisterPacket element specified in the register map file WriteTemplate defines this value. If you do not specify this element, this is equal to the addressBitWidth attribute.

    The write pattern iteratively sources bits from the source waveform using the above pattern sequencer registers and sends them to the DUT.

    Source Waveform

    Read and write template patterns require a source waveform. The patterns must not use more than one source waveform. The use of additional source waveforms will result in ambiguity when Digital Pattern Editor uses the source waveform to supply register addresses, values, and other bits like command bits and parity bits.
    spd-note-note
    Note  

    Read and write patterns do not have to use the same source waveform.

    You must configure source waveforms with a sample width and sample count large enough to read all the registers in the register map. They must have a capacity equal to or greater than the product of the register count and the number of bits required to read or write one register.

    For read patterns, this is specified by the SourceWaveformRegisterPacket element in the register map file ReadTemplate (or addressBitWidth, if SourceWaveformRegisterPacket is not specified). For write patterns, this is specified by the SourceWaveformRegisterPacket in the register map file WriteTemplate (or the sum of addressBitWidth and valueBitWidth, if SourceWaveformRegisterPacket is not specified).

    If possible, configure the sample count to equal the register count and the sample width to equal the number of bits sent to the DUT to read and write one register.
    spd-note-note
    Note  

    You must configure the source waveform with Broadcast data mapping and Serial waveform type.

    Capture Waveform

    Read template patterns require a capture waveform. The pattern must not use more than one capture waveform. The use of additional capture waveforms will result in ambiguity when Digital Pattern Editor uses the capture waveform to read the register values.
    spd-note-note
    Note  

    The write pattern is not restricted by the number of capture waveforms because Digital Pattern Editor does not use capture waveforms for write operations.

    The read pattern stores received register value bits and other bits like parity bits in the capture waveform. You must configure the read pattern to capture and store the expected number of bits. This is the number of registers to read and the number of bits to be received per register determined by the CaptureWaveformRegisterPacket element in the register map file ReadTemplate (or valueBitWidth if CaptureWaveformRegisterPacket is not specified).

    Digital Pattern Editor returns an error if the number of bits in the capture waveform does not match the expected number of bits. If possible, it is simpler to configure the sample width to equal the number of bits received from the DUT to read one register.
    spd-note-note
    Note  

    You must configure the capture waveform with Serial waveform type.


    Recently Viewed Topics