本文小编为大家详细介绍“codesnippet序列检测与序列产生实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“codesnippet序列检测与序列产生实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
序列检测与序列产生是一对对称的设计,就像有微分就有积分一样。
序列检测分为有重叠检测和无重叠检测;
例如检测序列1101011,我们给出输入:110101101011,如果是无重叠检测,则只能检测到一个序列:1101011_01011;
如果是有重叠检测,则可以检测到两个这样的序列:11010_11_01011。
同理,序列产生也可以分为有重叠序列的产生方法和无重叠序列的产生方法,序列产生的办法也可以用移位寄存器产生,也可以用状态机的方式来产生;这两种方法后面都是提到。
移位寄存器实现
以产生序列1101011为例,我们产生产生的序列要是这个样子的1101011_1101011..............
所以我们需要使用7位的移位寄存器,每次对序列1101011左移,同时输出最高位;7位的移位寄存器固然需要消耗7个触发器,这也是一个考点。
设计也极其简单,如下:
module seq_gen7( input clk, input reset, output out ); reg [6:0] seq_mid; always@(posedge clk or posedge reset) begin if(reset) seq_mid <= 7'b1101011; else seq_mid <= {seq_mid[5:0], seq_mid[6]}; end assign out = seq_mid[6]; endmodule
读到这里,这篇“codesnippet序列检测与序列产生实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。