WrEn => hit_buffer_write,
RdEn => hit_buffer_read,
Reset => hit_buffer_reset,
- AmFullThresh => "01000",
+ AmFullThresh => "01010",
Q => hit_buffer_dout,
WCNT => hit_buffer_level,
Empty => hit_buffer_empty,
signal hitbuffer_status : status_t;
signal CONF_enable : std_logic_vector(31 downto 0) := (others => '1');
-signal CONF_configure : std_logic_vector(31 downto 0) := x"64139301";
+signal CONF_configure : std_logic_vector(31 downto 0) := x"01139301";
alias CONF_externalcalibration : std_logic is CONF_configure(0);
alias CONF_SPIKE : std_logic_vector(3 downto 0) is CONF_configure(11 downto 8);
alias CONF_window : std_logic_vector(8 downto 0) is CONF_configure(20 downto 12);
* Data is not output in ordered fashion, hits are sent mixed between channels, not ordered by time.
* There might be up to 10 hits per channel
+
+TDC Calibration
+--
* TDC calibration is not necessary by default
-* TDC calibration is implemented in two options (usual 0xd trigger type):
+* TDC calibration is implemented in two options (usual 0xd trigger type, and 0xa trigger type for individual calibration):
* Internal calibration with a 50 ns long pulse
* Calibration pulse using the analog front-end chips
* about 110 ns long, depending on front-end settings
* Might give several hits especially with low thresholds
+Data Handling
+--
+* No single edges are recorded
+* A rising edge is saved and stored together with the falling edge as soon as it arrives
+ * A spike rejection discards signals below a threshold. Can be configured in steps of 6.4 ns, with an inaccuracy of 6.4 ns (typically set to 19 ns)
+ * A long signal suppression discards signals with a ToT larger than some threshold (500 ns typical)
+* A 10 hit hit buffer stores values
+ * Words are removed from the hit buffer if their rising edge is older than the trigger window size (2 us typical)
+ * Words are removed if the buffer gets full
+* Readout takes place a configurable time after the reference time arrived (with delay in CTS: few ten nanoseconds)
+
+
Data Format (v0)
--
* All time information is encoded in units of 0.4 ns.