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.

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 element specified in the register map file WriteTemplate. If you do not specify a SourceWaveformRegisterPacket element, Digital Pattern Editor registers addresses and values contiguously in chunks of length defined by the sum of addressBitWidth and valueBitWidth.

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 write 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 sum of the addressBitWidth and valueBitWidth attributes.

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.
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.
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.
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.
Note You must configure the capture waveform with Serial waveform type.