verilog十分频的问题?

yuerbuai 2011-12-07 05:16:29
代码如下:
module divifre10(clk,d);
input clk;
output d;
reg d;
integer Q;

always @ (posedge clk)
begin
if(Q==9) Q<=0;
else if(Q<=4)
begin
Q<=Q+1;
d<=1'b0;
end
else
begin
Q<=Q+1;
d<=1'b1;
end
end
endmodule

初学verilog,自己写的一个十分频,但是仿真的时候除了些问题。
如果我的时钟周期T=1ns时就没有办法进行分频,但是在T=2ns或更大周期时就可以正常分频,不明白是怎么回事,求指教。我用的是Quartus软件

...全文
733 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Binzo 2011-12-16
  • 打赏
  • 举报
回复
为什么不
if(Q > 4) Q<=~Q;
?
net_friends 2011-12-13
  • 打赏
  • 举报
回复
1ns超过了硬件的极限,当然不行
yuerbuai 2011-12-07
  • 打赏
  • 举报
回复
脸红个。。我对tb不是很熟,.vwf格式的,直接图形。为什么不能用integer?
falloutmx 2011-12-07
  • 打赏
  • 举报
回复
贴下你tb的代码。顺便说一句,不要用integer

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧