找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1706|回复: 0
打印 上一主题 下一主题
收起左侧

求解决:实现基于Verilog HDL 可加减计数器

[复制链接]
跳转到指定楼层
楼主
ID:453126 发表于 2019-6-20 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
100黑币
module Mo16(qout,up_down,cout,en,aclr,clk);
output [7:0]qout;
output cout;
input en,aclr,clk;
reg [3:0]q0,q1;
input up_down;
reg c1,c2;
always@(posedge clk,negedge aclr)
begin
if (!aclr)q0<=0;
else if(!en)q0<=q0;
else if(c2==0)
begin
if (q0>0) q0<=q0-1;
else q0<=0;
end
else q0<=0;
end

always@(negedge c1,negedge aclr)
begin
if (!aclr)q1<=0;
else if(!en)q1<=q0;
else if(c2==0)
begin
if (q1>1) q1<=q1-1;
else q1<=0;
end
else q1<=0;
end

always@(q0)
begin
if(q0==9||(q0==5&&q1==1)) c1=1;
else c1=0;
end

always@(q1)
begin
if(q1==1&&q0==5) c2=1;
else c2=0;
end


assign cout=c2;
assign qout={q1,q0};
endmodule


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表