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. R3 Sample Pre-load (Low Byte) Spock Counter/RAM address (low byte). R4 Sample Pre-load (High Byte) Spock Counter/RAM address (high byte). R5 Trigger Logic Byte Logic values to match for trigger. R6 Trigger Mask Byte Don't care logic values for trigger. R7 Spock Option Byte Trigger and PG1 setup in Spock.
Spock Counter Registers.R9 Counter Capture (Low Byte) Spock Counter/RAM address capture (low byte). R10 Counter Capture (High Byte) Spock Counter/RAM address capture (high byte). R14 Input/Attenuation Alt/Chop channel input/attenuation settings. R15 Dump Size Number of samples dumped per request.
Two commands move data between these registers in the virtual machine and Spock itself:
> 0x3E Download Spock Control Registers R3..R7. < 0x3C Capture 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.