欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

计数器没法正常计数(vhdl)

更新时间: 2014-01-05 03:08:38 责任编辑: Author_N1

 

计数器无法正常计数(VHDL)
程序源码:
Signal h_cnt :integer range 0 to 800;
Signal v_cnt :integer range 0 to 525;
CNT:Process(Clk)
Begin
If(Clk'event And Clk = '1') Then
-- horizontal-counter work
If h_cnt < 800 Then
h_cnt <= h_cnt + 1;
Hs <= '0';
Else 
h_cnt <= 0;
Hs <= '1';
End If;
-- vertical-counter work
If v_cnt < 525 Then
v_cnt <= v_cnt + 1;
Vs <= '0';
Else
v_cnt <= 0;
Vs <= '1';
End If;
End If;
End Process;
但时序仿真时,出现以下现象(见图)
------好像,图片显示不出-------
也就是,计数器h_cnt和v_cnt都只能计数到255和127,之后又从0开始重新计数,依旧是到255和127,如此循环。问题是:我设置的是计数额度是800和525,但没有计数到~

请问:各位前辈,高手,这问题出在哪,要怎么修改呢?

在此,先谢谢各位了。
--参考方法--
不要用Integer,用std_logic_vector
--参考方法--
除非你vector位宽不对
--参考方法--
很明显是位宽的问题吧
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:08:38
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/18807/
本文WWW.DOC100.NET DOC100.NET版权所有。