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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9710|回复: 24

[求助] for 循环的问题

[复制链接]
发表于 2010-3-31 21:03:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wushihai 于 2010-4-1 10:01 编辑

定义了一个 integer i;

always @ (posedge clk or negedge rst)
    begin

for (i=0;i<=7;i=i+1)
            begin
                encode[55-i*7:52-i*7]<=data_in[31-i*4:28-i*4];
            end

    end

报错:Quartus Error : i is not a constant
Modelsim :Range must be bounded by constant expressions.

高手请指教,不胜感激涕零!
发表于 2010-3-31 21:27:44 | 显示全部楼层
把i定义成integer即可
 楼主| 发表于 2010-3-31 21:36:37 | 显示全部楼层
本帖最后由 wushihai 于 2010-4-1 09:25 编辑

把i定义成integer即可,是的要改,可是还是不行呀,还是报错。我觉着错误在这里
encode[55-i*7:52-i*7]<=data_in[31-i*4:28-i*4];
 楼主| 发表于 2010-4-1 09:06:15 | 显示全部楼层
高手帮咱一把呀!
发表于 2010-4-1 09:19:08 | 显示全部楼层
非常量不能用在slice边界定义选择中
发表于 2010-4-1 09:29:25 | 显示全部楼层
搞定没?
发表于 2010-4-1 09:32:42 | 显示全部楼层
没有硬件概念。for循环必须确定i的值才能综合。
 楼主| 发表于 2010-4-1 09:46:21 | 显示全部楼层
没搞定。

                encode[55:52]=data_in[31:28];
                encode[48:45]=data_in[27:24];
                encode[41:38]=data_in[23:20];
                encode[34:31]=data_in[19:16];
                encode[27:24]=data_in[15:12];
                encode[20:17]=data_in[11:8];
                encode[13:10]=data_in[7:4];
                encode[6:3]=data_in[3:0];
只有这样写了6# schj
发表于 2010-4-1 10:51:24 | 显示全部楼层
请注意,你用的是verilog。不是c。你搞出来的东西是硬件电路。不是跑在cpu上的程序。强烈建议不要用for。以便更好对电路结构控制。刚开始肯定不习惯。但是对以后深入理解和应用有好处。
 楼主| 发表于 2010-4-1 11:00:58 | 显示全部楼层
听人说for的综合很费资源,看来还是要展开写好。多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-28 19:09 , Processed in 0.024727 second(s), 9 queries , Gzip On, MemCached On.

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