Capture Engine | Spock

Spock Chip.

The BitScope PLD (Spock) is the data capture chip.

Spock implements the high speed data capture logic that captures both analog and digital data to the dual paged SRAM buffers.

It manages buffer pages, the sample capture address and BNC/POD source selection. It selects which inputs to capture, their attenuation, and executes the trigger logic that decides when a trace should complete.

Spock is controlled by a set of control and counter registers:

Spock Control Registers.
R3Sample Pre-load (Low Byte)Spock Counter/RAM address (low byte).
R4Sample Pre-load (High Byte)Spock Counter/RAM address (high byte).
R5Trigger Logic ByteLogic values to match for trigger.
R6Trigger Mask ByteDon't care logic values for trigger.
R7Spock Option ByteTrigger and PG1 setup in Spock.

Spock Counter Registers.
R9Counter Capture (Low Byte)Spock Counter/RAM address capture (low byte).
R10Counter Capture (High Byte)Spock Counter/RAM address capture (high byte).
R14Input/AttenuationAlt/Chop channel input/attenuation settings.
R15Dump SizeNumber of samples dumped per request.

Two commands move data between these registers in the virtual machine and Spock itself:

>0x3EDownload Spock Control Registers R3..R7.
<0x3CCapture Spock Counter Registers to R9..R10.

Prior to starting a trace (T), the Spock registers must be downloaded to Spock using the > command. However, Spock registers themselves need only be programmed once if their value does not need to change between successive traces.

After a trace completes, the 16 bit sample address counter maintained by Spock is returned to the host automatically. It may also be read from the Spock counter registers after a issuing < command to read its value from Spock.

The following pages describe the programming of the Spock Registers R3..R7 the use of the Spock Counter Registers R9..R10, the programming of the capture trigger logic and the selection of signal inputs and attenuation ranges via register R14.