赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本人只是初学,代码经过实验验证,仅供参考
我自己查找模仿编写运行的代码,如有侵权,联系删除。
这是异步清零+控制加减法+进位指示灯的计数器
代码如下(示例):
module jishu_125 (CLK,RST,x,q,co); //时钟信号,清零信号,加减法控制端,输出,进位输出 input CLK,RST,x; output[3:0] q; output co; reg[3:0] q; reg co; always@(posedge CLK or negedge RST) //异步清零的控制语句 begin if(!RST) //异步清零控制 q<=4'd0000; else begin if(x==1'b1) //如果x=1(高电位),控制为加法器 begin if (q==4'b1001) //如果q=9,则把0赋值给q q<=4'b0000; else if (q>=4'b0000&&q<4'b1001) q<=q+1'b1; else q<=4'b0000; end if (x==1'b0) //如果x=0(低电位),控制为减法器 begin if (q==4'b0000) q<=4'b1001; else if (q>=4'b0000&&q<4'b1010) //这里减法特殊,范围要到10才能包含9 q<=q-1'b1; else q<=4'b0000; end end end always @(q) //进位显示端口可以删去 begin if (RST==1'b0) co<=1'b0; else if (x==1'b1&&q==4'b1001) co<=1'b1; else if (x==1'b1&&q==4'b0000) co<=1'b1; else co <=0; end endmodule
这个程序适合已经了解书本例题的同学,要先看书上的例题
第一次写这个,不太会,有问题可以问我哈,一般晚上休息会回复
有什么建议,也欢迎留言
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。