标签:reset nstate review2015 start state shifting Exams data fsmseq
这是一系列五个练习中的第二个组成部分,这些练习由几个较小的电路构建一个复杂的计数器。 请参阅 最终练习 。
构建一个有限状态机,在输入比特流中搜索序列 1101。 找到序列后,应将 start_shifting 为 1,直到重置。 陷入最终状态旨在模拟在尚未实现的更大 FSM 中进入其他状态。 我们将在接下来的几个练习中扩展这个 FSM。
module top_module (
input clk,
input reset, // Synchronous reset
input data,
output start_shifting);
parameter IDLE=0,A=1,B=2,C=3,D=4,E=5,stop=6;
reg [2:0] state,nstate;
always@(posedge clk)
if(reset)
state<=A ;
else
state<=nstate;
always@(*)
case(state)
A:nstate=data?B:A;
B:nstate=data?C:A;
C:nstate=data?C:D;
D:nstate=data?D:A;
default:nstate=A;
endcase
always@(posedge clk )
if(reset)
start_shifting<=0;
else if(state==D&&data==1)
start_shifting<=1;
else
start_shifting<=start_shifting;
endmodule
标签:reset,nstate,review2015,start,state,shifting,Exams,data,fsmseq
来源: https://www.cnblogs.com/usst6/p/16408467.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。