序列检测与序列产生是一对对称的设计,就像有微分就有积分一样。
序列检测分为有重叠检测和无重叠检测;
例如检测序列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
电脑发微信文章太难了,动不动就图片失败,也不知道是那个失败。
直接在博客里面写吧,给出链接: https://blog.csdn.net/Reborn_Lee/article/details/102152072
或阅读原文。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有