Snapshot Capture

Block: Snapshot Capture (snap)
Block Author: Aaron Parsons
Document Author: Aaron Parsons, Ben Blackman



The snap block provides a packaged solution for capturing data from the FPGA fabric and making it accessible from the CPU. Snap captures to a 32 bit wide shared BRAM.

Mask Parameters

Parameter Variable Description
No. of Samples (2?) nsamples Specifies the depth of the Shared BRAM(s); i.e. the number of 32bit samples which are stored per capture.


Port Dir Data Type Description
din IN unsigned_32_0 The data to be captured. Regardless of type, the bit-level representation of these numbers are written as 32bit values to the Shared BRAM.
trig IN boolean When high, triggers the beginning of a data capture. Thereafter, every enabled data is written to the shared BRAM until it is full.
we IN boolean After a trigger is begun, enables a write to Shared BRAM.



Under TinySH/BORPH, this device will have 3 sub-devices: ctrl, bram, and addr. ctrl is an input register. Bit 0, when driven from low to high, enables a trigger/data capture to occur. Bit 1, when high, overrides trig to trigger instantly. Bit 2, when high, overrides we to always write data to bram. addr is an output register and records the last address of bram to which data was written. bram is a 32 bit wide Shared BRAM of the depth specified in Parameters.