首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 嵌入开发 >

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

2013-06-19 
计数器无法正常计数(VHDL)程序源码:Signal h_cnt :integer range 0 to 800Signal v_cnt :integer range 0

计数器无法正常计数(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,但没有计数到~

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

在此,先谢谢各位了。 VHDL EDA FPGA 计数器
[解决办法]
不要用Integer,用std_logic_vector
[解决办法]
除非你vector位宽不对
[解决办法]
很明显是位宽的问题吧

热点排行