全部位串均具備模式匹配功能。編程
該功能可用於檢測啓動代碼等。要使用該功能,則必須用需匹配的模式來對REG_SS 編程app
(請注意, POS 達到零時 REG_SS 不會與 REG 交換!)this
MATCH_MODE 位必須設爲1。spa
輸入數據 REG 如今與已編程的模式 REG_SS 相比較。發現匹配時會提出模式匹配中斷。code
Bit MATCH_MODE selects whether the match filter is active or whether data is captured.blog
Only slice A, H, I, and P support matching with a mask (register MASK_x).input
For other slices the pattern is not masked.it
四個位串(A、H、I 和P)一樣支持對模式的掩碼;必須設置MASK_x 以便對模式位進行比較(‘1’表示比較)。io
例如,尋找模式0x1234.xxxx.5678.9ABC 時,function
REG 應設置爲0x1234.xxxx.5678.9ABC,
MASK 設置爲0xFFFF.0000.FFFF.FFFF。
When using the data match interrupt bit 0 has to be high.
When using data match mode, the slice’s shadow register [ REG_SS ] should hold the pattern to be matched.
In addition, when data match is enabled the main register [ REG ] and the shadow register [ REG_SS ] will not exchange when FIFO is done with input or output data.
All slices feature pattern match functionality.
This can be used for example to detect a start code.
To use this functionality, REG_SS must be programmed with the pattern to be matched
(Note that REG_SS will not be swapped with REG when POS reaches zero!).
The MATCH_MODE bit must be set to 1.
The input data is now compared to the programmed pattern.
When a match is found the pattern match interrupt is raised.
Four slices (A, H, I and P) also support masking the pattern; MASK_x must be set for the pattern bits to be compared (1 is compare).
E.g. when looking for pattern 0x1234 XXXX, then REG_SS should be set to 0x1234 XXXX and MASK to 0xFFFF 0000.
0x1234 xxxx -- REG 0x1234 0000 -- REG_SS 0xFFFF 0000 -- MASK
MASK_A, MASK_H, MASK_I, MASK_P
The mask registers are used for the 「on pattern match」 interrupts.
With some slices it is possible to mask the data for the pattern match interrupts. Slices A, H, I and P support this function.
Every bit that is 1 in this register will be masked.
If this register contains the value 0b00001111 the first 4 bits will be masked for the pattern interrupt.