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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2776|回复: 9

[求助] 各位大神,求助一下,关于generate的用法

[复制链接]
发表于 2015-12-31 16:10:27 | 显示全部楼层 |阅读模式

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

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

x

小程序

小程序

各位大神,求助一下。这是我的小程序,由于我的输入输出端口很多,引用的同一个模块也很多,请问有没有什么简便的写法啊,一个一个输入要输入好久。谢谢大家了。
发表于 2016-1-1 10:51:09 | 显示全部楼层
generate
      genvar i;
      for(i=1;i<=257;i=i+1)
      begin
            ADD s_i(.a(a[i*8-1 : (i-1)*8]),.b(b[i*8-1 : (i-1)*8]),.c(c[i*8-1 : (i-1)*8]));
      end
endgenerate

上边这么用的前提是你把输入a,b,c拼成一个256*8= 2048位的reg,没验证,只是觉得这么可行。

这个case是你假设的吧?因为现实中很少这么多端口的啊~
发表于 2016-1-1 20:46:42 | 显示全部楼层
回复 1# visage518


还有种做法就是写个脚本生成这么多行代码
发表于 2016-1-2 10:53:36 | 显示全部楼层
用generate for语句,具体怎么用去百度吧
发表于 2016-1-2 21:29:56 | 显示全部楼层
其实就相当于脚本语言,
发表于 2016-1-2 21:47:35 | 显示全部楼层
genvar i;generate
...
 楼主| 发表于 2016-1-3 11:40:33 | 显示全部楼层
回复 2# fkl523


   
fkl523你好,谢谢你的回复。我在做一个pc码译码器,确实需要这么多端口,我还只是做的256的,本来还有1024个的。请问abc不用reg 可以吗?我想用wire。
 楼主| 发表于 2016-1-3 11:41:11 | 显示全部楼层
回复 3# liuguangxi

请问可以说具体一点吗?谢谢了哈
发表于 2016-1-3 12:51:50 | 显示全部楼层
回复 7# visage518


   wire也可以,我的意思是所有的a1,a2,a3…… 拼成一个很长的a,这么着的。
发表于 2016-1-4 09:54:34 | 显示全部楼层
这种实例数组比Generate更方便
input a[256*8-1 : 0]
input b[256*8-1 : 0]
output c[256*8-1 : 0]

add s[255:0] (.a(a), .b(b), .c(c))
具体看看语法就知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-19 20:37 , Processed in 0.062311 second(s), 10 queries , Gzip On, Redis On.

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