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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: wushihai

[求助] for 循环的问题

[复制链接]
发表于 2010-4-1 12:52:50 | 显示全部楼层
你这个使用连接赋值也是可以的,毕竟encode其他位置你也要赋值嘛。
发表于 2010-4-6 21:35:49 | 显示全部楼层
感觉楼主把verilog当c来写了  你要是搞清楚for语句怎么综合出来的 那你就知道原因了。。。。
发表于 2010-4-6 21:37:10 | 显示全部楼层
毕竟是硬件电路。。。还有I的位宽没定义吧
发表于 2010-4-17 01:06:00 | 显示全部楼层
发表于 2010-4-17 08:38:57 | 显示全部楼层


请注意,你用的是verilog。不是c。你搞出来的东西是硬件电路。不是跑在cpu上的程序。强烈建议不要用for。以便更好对电路结构控制。刚开始肯定不习惯。但是对以后深入理解和应用有好处。
wycawyc 发表于 2010-4-1 10:51



说得太好了,顶一个
发表于 2010-4-27 16:09:04 | 显示全部楼层
这样应该是可以的啊,你要不是一下 把for 套在 always外面
发表于 2010-4-28 10:21:39 | 显示全部楼层
顶顶,高手解释透彻点
发表于 2010-4-28 13:05:19 | 显示全部楼层
时代变了!现在综合工具对for支持的很好了!
你这样写!
encode[52-i*7+:4]<=data_in[28-i*4+:4];
这样就可以了,这个是verilog2001的增量下标的语法!
发表于 2010-5-2 15:14:22 | 显示全部楼层
定义成int
发表于 2010-11-4 10:45:59 | 显示全部楼层
http://blog.163.com/yunwang2008@126/blog/static/11531450320107414623395/


我也遇到这个问题了   第13 个问题
13.Verilog-2001向量部分选择
在Verilog-1995中,可以选择向量的任一位输出,也可以选择向量的连续几位输出,不过此时连续几位的始末数值的index需要是常量。而在Verilog-2001中,可以用变量作为index,进行part select。
     

      [base_expr +: width_expr] //positive offset
      [base_expr -: width_expr] //negative offset
     

      其中base_expr可以是变量,而width_expr必须是常量。+:表示由base_expr向上增长width_expr位,-:表示由base_expr向上递减width_expr位。例如:
     

      reg [63:0] word;
      reg [3:0] byte_num; //a value from 0 to 7
      wire [7:0] byteN = word[byte_num*8 +: 8];
     

      如果byte_num的值为4,则word[39:32]赋值给byteN。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-29 02:06 , Processed in 0.021588 second(s), 7 queries , Gzip On, MemCached On.

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