A time capture circuit (20, 20') to measure time between events, in particular edges, of a logic input
signal (EXT_SGL, D0), comprising a
delay line (D) receiving at its input said input
signal (EXT_SGL, D0) and generating a plurality of consecutive increasingly delayed replicas (D1out,...,Dmout,..., DMout) of said logic input
signal (EXT_SGL, D0), each replica (Dmout) delayed by a fixed
delay (TDm) with respect to the preceding replica (Dm-1out), a free running counter (CNT) which is clocked by a counter
clock signal (CNT_CLK) corresponding to an external
clock signal (CLK_SYS) multiplied by a
clock scale factor (CLK_CNT_PRS) and supplies a counter value (x) to a counter
value capture block (CAPT_CNT), said counter
value capture block (CAPT_CNT) receiving also said input signal (EXT_SGL, D0) and being configured to capture said counter value (x) upon the occurrence of an event (E1, E2; C1, C2) in said input signal outputting a captured counter value (CAPT_CNTout) and issuing a trigger signal (CAPT_CNTtrg), a decoder module (CAPT_DECODE) receiving as inputs said input signal (EXT_SGL, D0), said plurality of delayed replicas (D1out,..., Dmout,..., DMout) and said captured counter value (CAPT_CNTout) and said trigger signal (CAPT_CNTtrg), said decoder module (CAPT_DECODE) being configured to determine a decoded value (CAPT_DCD)) on the basis of at least the values of said input signal (EXT_SGL, D0) and of said plurality of consecutive increasingly replicas (D1out,...,Dmout,..., DMout) when the trigger signal (CAPT_CNTtrg) is issued and to compute a capture value (HRS_CAPT_VAL) as the difference of said captured counter value (CAPT_CNTout) logical left shifted by a first scale factor (CLK_CAPT_PRS) and said decoded value (CAPT_DCD) logical right shifted by a second scale factor (N- CLK_CAPT_PRS).