- 主题:粗大,发现一个隆重的问题,关于fpga
一个循环计数器,复位值不为0的时候,
计数器乱计数,只有复位值为0,
计数器才能正常工作。
各位大拿,怎么回事?
代码如下
always@(posedge clk or negedge reset )
begin
if(!reset)
counter<=4'd9;
else begin
if(counter==4'd9)
counter<=4'd0;
else
counter<=counter+1'd1;
end
end
--
FROM 125.121.33.*
编译环境是quartus ii 12.0,
用signaltap 来观测。
【 在 rliw 的大作中提到: 】
: 一个循环计数器,复位值不为0的时候,
: 计数器乱计数,只有复位值为0,
: 计数器才能正常工作。
: ...................
--
FROM 125.121.33.*
查查复位信号是不是在锁相环给出稳定时钟信号后
【 在 rliw 的大作中提到: 】
: 一个循环计数器,复位值不为0的时候,
: 计数器乱计数,只有复位值为0,
: 计数器才能正常工作。
:
: 各位大拿,怎么回事?
:
: 代码如下
: always@(posedge clk or negedge reset )
: begin
: if(!res
: ..................
发自「今日水木 on iOS」
--
FROM 122.96.42.*
根本没用到锁相环。
【 在 whotwho 的大作中提到: 】
: 查查复位信号是不是在锁相环给出稳定时钟信号后
: 发自「今日水木 on iOS」
--
FROM 125.121.33.*
这种带初值的计数器
应该用独立的load信号 不要用复位
【 在 rliw 的大作中提到: 】
: 一个循环计数器,复位值不为0的时候,
: 计数器乱计数,只有复位值为0,
: 计数器才能正常工作。
: ...................
--
FROM 117.136.0.*
嗯,我也是用了一个类似load的信号来处理。
但对于有代码洁癖的人来说,
始终觉得不爽,代码不精炼
【 在 Qlala 的大作中提到: 】
: 这种带初值的计数器
: 应该用独立的load信号 不要用复位
--
FROM 125.121.33.*
你这个肯定有办法解决
只不过不太值得花时间
本来用全局复位搞初值也不是好的设计
【 在 rliw 的大作中提到: 】
: 嗯,我也是用了一个类似load的信号来处理。
: 但对于有代码洁癖的人来说,
: 始终觉得不爽,代码不精炼
--
FROM 117.136.0.*
你试试把==改成>=
【 在 rliw 的大作中提到: 】
: 一个循环计数器,复位值不为0的时候,
: 计数器乱计数,只有复位值为0,
: 计数器才能正常工作。
: ....................
- 来自「最水木 for iPhone13,4」
--
FROM 111.201.55.*
这个可以试试
【 在 zyfhie 的大作中提到: 】
: 你试试把==改成>=
:
: - 来自「最水木 for iPhone13,4」
--
FROM 39.183.37.*
确实挺奇怪,这个条件下乱计数问题必现吗?还是偶尔
【 在 rliw 的大作中提到: 】
: 一个循环计数器,复位值不为0的时候,
: 计数器乱计数,只有复位值为0,
: 计数器才能正常工作。
: ...................
--
FROM 221.223.101.*