Each input signal into the WADI Block
(SIG1 and SIG2) have independent counters to perform signal analysis for either
pulse width measurement or edge count measurement along with signal to signal
analysis.
- Width of the time between two
configured edges.
- Number of signal edges within the
fixed time interval to determine the signal frequency.
The counter can start based on the
trigger configured in the trigger settings. If there are no triggers configured, and
the WADI block is still enabled, the counter begins upon first programmed edge of
SIGx.
The counter restarts for next
iteration once the pulse width or frequency measurement is completed. Triggers can
be programmed such that SIGx within WADI block or multiple signals across WADI
blocks can be synchronized together to start the operation using hardware or
software triggers. Thus all the SIGx counters in WADI IP can be used as standalone
counters and measurements or be synchronized to common event.
In case there is assertion of configured trigger while the measurement is on-going
then the respective block restarts the measurement and aggregation. Any errors which
are detected in previous cycles are not cleared and those need to be explicitly
cleared by the software.
Note: Pulse width and Frequency are mutually exclusive modes hence
common counter is used to measure either based on the configuration of width or edge
count and corresponding edge/time window details.
Counter for aggregating number of measurements
Each of the SIGx of WADI block has capability to accumulate pulse width and frequency
readings. This accumulation is used in multiple ways :
- For Pulse width accumulation the
aggregation depicts the total assertion of signal with particular polarity
configured within the SIGxCFG[SIGPOL] register. Such a sum is indicative of
total energy transferred over number of accumulated readings. The number of
readings to accumulate are configurable in the SIGxCFG[NUMAGGR] register. Same
accumulator used for frequency reading accumulation.
- This accumulator output and
margin can be directly compared to a compare value defined in the register
SIGxCMPA/B, SIGxPKCFG, and SIGxAVGCFG. Comparison also provides flexible
margin(+/-) to allow for variation between two different types of systems.
- Secondly the average of the
accumulated value at the end of the accumulation can also be compared. Given the
power of 2 units accumulation the average is based on right shift of the
accumulator value in hardware (no complex division is expected in hardware). An
independent counter that tracks the number of measurements done on each signal.
Counter
for dead band and phase overlap
In addition to individual signal
analysis, dead band and phase overlap between two signals can also be done. The WADI
block handles the logic to compute the signal to signal differences to perform
signal to signal analysis. The dead band and phase overlap checks directly count the
time difference between edges of two input waveforms on WADI block, hence separate
counter is used for each of these modes. Both of these modes are mutually exclusive
and based on check selected.
- Dead-band: Based on edge type
programmed, the distance between SIG1 to SIG2 edge is measured. Only EDGE_TYPE
is applicable for this check, EDGE_SPAN is not. Whether to check configured
EDGE_TYPE pairs from SIG1 and SIG2 or also check the opposite pairs is
configured by DBAND_CHK_TYPE.
- Phase Overlap: Uses the
configuration of EDGE_TYPE similar to Dead-band. The end state of the configured
edge is considered as level under review. For example, if SIG1 is configured as
rise edge and SIG2 is configured with fall edge then the high “level” assertion
of SIG1 simultaneous with low “level” assertion is counted. Normal expectation
is that signal that asserted first can also be de-asserted prior to other signal
de-assertion, but hardware only considers simultaneous configured level
assertions of both signals.