微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 一个状态机问题,急需帮忙!

一个状态机问题,急需帮忙!

时间:10-02 整理:3721RD 点击:
题目为:设计一个序列检测器,当其输入的任意5个相邻位中的第1,2,5位为1的个数之和为奇数时,输出为1,否则为0。
初学者,想了半天,不知如何设计,请教!

好像比较麻烦,没有想出来

我也学习一下,谢谢啦

如果不用状态机的话,用一个always语句和一个assign语句就可以做出来了。感觉挺简单的

这个很简单,做一个5Bit的串行移位寄存器就可以了。
reg [ 4 : 0 ]shift_reg;
always @ ( posedge clk or negedge nrst )
if ( ~ nrst )
shift_reg <= 0;
else
shift_reg <= { shift_reg [ 3 : 0 ], s_in };
assign flag = shift_reg [ 0 ] ^ shift_reg [ 1 ] ^ shift_reg [ 4 ];

受教了, 谢谢朋友们了!

串行移位其实就是状态机

的确是一个状态机,把32个状态写出来就一目了然了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top