在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3802|回复: 7

请教一个关于可逆计数器的问题!

[复制链接]
发表于 2009-2-26 12:39:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用HDL设计一个含有异步清零和计数使能的16位二进制加减可控计数器。关键在于“异步清零”和“计数使能”,请论坛里的高手不吝赐教啊!
发表于 2009-2-26 13:03:10 | 显示全部楼层
你计数器计数的时候不是需要时钟沿触发的吗(例如来一个时钟加一),异步清零就是说清零信号和时钟是异步的啊,清零不需要时钟,直接电平触发啊
计数使能就是说有一个信号当它为高(假如高电平为有效电平)时计数器才开始工作,为低时不工作.
发表于 2009-2-26 14:48:20 | 显示全部楼层
wire reset;
wire en;
wire up_down;
reg [7:0] cn;
always @(posedge clk or posedge reset)
begin
if(reset)
cn<=8'b0;
else if(en)
if(up_down)
cn<=cn+1;
else
cn<=cn-1;
end
发表于 2009-2-26 14:49:45 | 显示全部楼层
你看上面的代码可行?
 楼主| 发表于 2009-2-26 16:38:03 | 显示全部楼层
“16位二进制”。 用VHDL描述啊
发表于 2009-2-26 16:51:06 | 显示全部楼层
找人代做家庭作业是要付钱的....
 楼主| 发表于 2009-2-26 17:15:20 | 显示全部楼层
不是这么回事,我已做出来,但还是有点问题,想请教这里的高手。
发表于 2009-5-20 11:06:46 | 显示全部楼层
我用verilog 给你写个
module add_sub
(
clk,
en,
add,
sub,
clr,

q_out
)
input clk;
input en; //高电平使能
input add;//高电平使能
input sub;//高电平使能
input clr;//高电平清零

output [15:0]q_out;

reg[15:0]q_out;

[email=always@(posedge]always@(posedge[/email] clk or posedge clr)
begin
       if(clr==1'd1)
                  q_out<=16'd0;
        else if(en==1'd1)
                 begin
                     if(add==1'd1)
                               q_out<=q_out+1'd1;
                     else if(sub==1'd1)
                               q_qout<=q_out-1'd1;
                 end
end
endmodule


                               
登录/注册后可看大图

若你觉得可以的话请将你的这几个文件发给我:hjrzh@126.com
【CMOS电路模拟与设计-基于Hspice(修订版)】
清华大学集成电路设计实践大附件下载节省你的积分(完全免费) 2007-10-31
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-24 09:32 , Processed in 0.044617 second(s), 11 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表