Sequence Detector
时序检测机用来检测一系列数据是否满足要求,比如,只有当输入为1101时,机器才会输出1,否则为0。类似这样的工作都是可以用Sequence Detector来完成。
时序检测机基于State machine,moore和mealy两种,而每种机器又分为non-overlap型和overlap型。overlap的电路会将输入一系列被检测数据的最后一位当做新的检测数据的第一位。
以non-overlap型为例去描述输入1101才输出为1的电路应有以下步骤:
确定state machine:
比较难的部分是,当输入数据不符合预期数据流时,我们需要重新选定状态,这个状态的选定需要仔细判断。如图中当连续输入数据为111时,这并不符合1101的数据流,但是111的后两位1却仍然符合数据流,所以只需要返回自身然后再判断就可。可以逐一对每一state的数据流分析,在每个state中确定如若不能继续前进,应退回哪一位最合理。
Comments
Post a Comment