verilog 赋初值的问题

[复制链接]
3136|1
 楼主| 就是一枪 发表于 2012-4-16 13:26 | 显示全部楼层 |阅读模式
module signalgenerator (CP,D,Q,F,OC);
input [3:0] D;
input CP;
output [3:0] Q;
output OC;
output F;
reg [3:0] Q;
reg F,OC;
initial
begin
Q[3]=1;
end
always @(posedge CP)
begin
OC=(Q==15)?1:0;
if (OC)
Q[3:0]<=D[3:0];
else
Q=Q+1;
F=(~Q[0]&Q[3])|(~Q[1]&(~Q[2]))|(Q[1]&Q[2]);
end
endmodule
请问21ic的各位大神们,我写的这个程序是1101011的序列信号发生器,但是我想把Q赋初值为1001,但是我用了一个initial块赋初值怎么不行啊,对verilog也不是很了解,initial块也不是很懂,请教各位啊,本人新手,勿喷。
zuxingshui 发表于 2012-4-17 23:22 | 显示全部楼层
既然是“序列信号发生器”,那么当然是不能用initial来申明了,因为,initial是不可综合的语句之一啊。。。你可以换为其他的试试!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部