在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 10041|回复: 5

[求助] verilog generate用法求助

[复制链接]
发表于 2013-7-1 11:11:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
写了一个小程序 想测试一下Verilog   generate的用法 程序如下:
`timescale 1ns/1ps

module test_gen(corStart,corEnable,q1,q2,cor1to0);

input [63:0] q1,q2;
input [15:0] corEnable;
input corStart;

output [63:0] cor1to0;

generate

genvar i;

genvar j;

j=0;

for(i=0;i<=63;i=i+1)


begin:cor1to0_gen

assign cor1to0[i] = (corEnable[j/4]&corStart)?q2[i]&q1[i]:1'b0;

j=j+1;

end
endgenerate

endmodule


quartus编译总是在j=0;和j=j+1;这两句上报错,想问一下各位大神  generate块里面能不能这样写,其中i,j都不应该存在于最后的逻辑中;
如果能的话,该怎样改呢。
错误报告:
Error (10170): Verilog HDL syntax error at test_gen.v(14) near text "=";  expecting ".", or an identifier, or "(", or "["
Error (10170): Verilog HDL syntax error at test_gen.v(18) near text "=";  expecting ".", or an identifier, or "(", or "["
发表于 2013-7-1 11:39:31 | 显示全部楼层
for循环嵌套能否解决?将j也放在for循环当中。
回复 支持 反对

使用道具 举报

发表于 2013-7-1 16:09:43 | 显示全部楼层
j的上限是多少?
回复 支持 反对

使用道具 举报

发表于 2013-7-1 17:12:21 | 显示全部楼层
for循环应该是需要写很多次的东西,通过循环,并行执行,简化Code。这里面j=j+1明显不行,肯定不符合你的设计意图。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-1 18:14:35 | 显示全部楼层
其实这个例子里的j和i的作用一样,所以有点多余  把j去掉,原来j地方改成i就行了  但还是想知道通过genvar声明的变量,难道只能用在for(;;)里面吗  既然改变了不会被综合 为什么不能用在像j=j+1;这样的语句里呢
回复 支持 反对

使用道具 举报

发表于 2013-7-23 15:36:24 | 显示全部楼层
把J循环放进去
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-14 03:54 , Processed in 0.018662 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表