打印

计数器问题

[复制链接]
1156|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2013-5-26 15:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序源码:
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,但没有计数到~

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

相关帖子

沙发
火箭球迷| | 2013-5-26 16:15 | 只看该作者
不要用Integer,用std_logic_vector

使用特权

评论回复
板凳
baidudz| | 2013-5-26 16:19 | 只看该作者
可能你vector位宽不对

使用特权

评论回复
地板
baidudz| | 2013-5-28 23:14 | 只看该作者
这程序似乎没有贴全

使用特权

评论回复
5
firstblood| | 2013-6-20 22:28 | 只看该作者
这个程序貌似调试不通的啊,,,:L:L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝