资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
Moore型verilog源代码:FSM实现10010串的检测Moore状态转移图modulemoorefsm(clk,rst,a,z);inputclk,rst;inputa;outputz;regz;reg3:0currentstate,nextstate;parameterS0=4b0000;parameterS1=4b0001;parameterS2=4b0010;parameterS3=4b0011;parameterS4=4b0100;parameterS5=4b0101;always(posedgeclkornegedgerst)beginif(!rst)currentstate=S0;elsecurrentstate=nextstate;endalways(currentstateoraorrst)beginif(!rst)nextstate=S0;elsecase(currentstate)S0:nextstate=(a=1)?S1:S0;S1:nextstate=(a=0)?S2:S1;S2:nextstate=(a=0)?S3:S1;S3:nextstate=(a=1)?S4:S0;S4:nextstate=(a=0)?S5:S1;S5:nextstate=(a=0)?S3:S1;default:nextstate=S0;endcaseendalways(rstorcurrentstate)beginif(!rst)z=0;elsecase(currentstate)S0:z=0;S1:z=0;S2:z=0;S3:z=0;S4:z=0;S5:z=1;default:z=0;endcaseendendmodulemoorefsm测试模块testbenchmoduletb_fsm;regclk,rst;rega;wirez;moorefsmfsm(.clk(clk),.rst(rst),.a(a),.z(z);initialbeginclk=0;rst=1;#5rst=0;#3rst=1;#20a=1;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=1;#100a=0;endalways#50elk=clk;endmoduleMealy型verilog源代码:FSM实现10010串的检测modulemealyfsm(clk,rst,a,z);Mealy状态转移图inputclk;inputrst;inputa;outputz;regz;reg3:0temp_z;reg3:0currentstate,nextstate;parameterS0=4b0000;parameterS1=4b0001;parameterS2=4b0010;parameterS3=4b0011;parameterS4=4b0100;always(posedgeclkornegedgerst)if(!rst)currentstate=S0;elsecurrentstate=nextstate;always(currentstateoraorrst)if(!rst)nextstate=S0;elsecase(currentstate)S0:nextstate=(a=1)?S1:S0;S1:nextstate=(a=0)?S2:S1;S2:nextstate=(a=0)?S3:S1;S3:nextstate=(a=1)?S4:S0;S4:nextstate=(a=0)?S2:S0;default:nextstate=S0;endcasealways(rstorcurrentstateora)if(!rst)temp_z=0;elsecase(currentstate)S0:temp_z=0;S1:temp_z=0;S2:temp_z=0;S3:temp_z=0;S4:temp_z=(a=0)?1:0;default:temp_z=0;endcasealways(posedgeclkornegedgerst)if(!rst)z=0;elsebeginif(temp_z=1)&(nextstate=S2)z=1;elsez=0;endendmodulemealyfsm测试模块testbenchmoduletb_fsm;regclk,rst;rega;wirez;mealyfsmfsm(.clk(clk),.rst(rst),.a(a),.z(z);initialbeginclk=0;rst=1;#5rst=0;#3rst=1;#20a=1;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=0;#100a=0;#100a=1;#100a=0;#100a=0;#100a=1;#100a=0;#100a=1;#100a=0;endalways#50clk=clk;endmodule
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号