SPRUIV7B May 2022 – September 2023 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM625SIP
A 32-bit multiple input signature register (MISR) with 32-bit Galois LFSR polynomial, P(x)=X32+X22+X2+x+1, is used to capture a signature of active video pixel data (the 10 MSB bits of each color component) for each safety region, as shown in Figure 12-528 and the algorithm below it.
The MISR (32-bit Galois LFSR based) signature generation algorithm is as follows:
Tap _polynomial = 32’hE000_0200
lfsr_q = seed // initial LFSR value - any none zero value should work
For each (pixel data in the safety region) {
data_in[31:0] = { 2’b0, r,g,b } // 10 MSB bits of R,G,B components
lfsr_d = (data_in(lfsr_q >> 1))
If (lfsr_q[0]) lfsr_d = lfsr_dTap_polynomial
lsfr_q = lfsr_d
}
signature = lfsr_q
All MISRs are initialized at the beginning of each frame with a non-zero "seed" value either with the default constant value (0xFFFF_FFFF) or with the programmable seed configuration value in SAFETY_LFSR_SEED register for each group of regions (refer to Table 12-434, DISPC Safety Check Regions Parameters). Note that a same seed must be used to compare signatures between two frames. If different than the default seed value is desired, then a SEEDSELECT parameter must be set before the corresponding SAFETY_LFSR_SEED register is configured with the customer seed value.
All captured signatures from safety regions are memory mapped to read-only registers SAFETY_CAPT_SIGNATURE for each video port (refer to Table 12-434, DISPC Safety Check Regions Parameters). A SAFETY_CAPT_SIGNATURE register is updated with the signature from each sub-region at the end of every frame. This register returns the signature of the last frame data when the MISR is enabled. When MISR is disabled, this register is cleared.
The MISR aliasing (faulty signature matches fault-free signature) probability is:
(2(L-n)-1)/(2L-1) = ~ 2(L-n)/2L = 2-n for large L, where
n = length of signature register
L = length of input sequence
Using the above approximation, the result is:
n=4, aliasing probability = 6.25%
n=16, aliasing probability = 0.0015%
...
n=32 (as in DISPC MISR), aliasing probability is ~2-32 (negligible)