找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

查看: 2271|回复: 3

[讨论] verilog中类软件变量coding问题

[复制链接]
发表于 2023-3-24 10:07:59 | 显示全部楼层 |阅读模式

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

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

×
我有这样一个场景:
integer k [10:0];
assign k[0] = 0;


for (i=0; i<10; i=i+1) begin
    if(X) begin
        k[i+1] = k[0] + 2;

        a[k[i+1]] = 1'b1;
    end
    else begin
        k[i+1] = k;
    end
end


在上面代码中我想把k当成类似软件里面的变量来用,在循环体里面根据一定条件赋予新的值,然后将k作为地址使用。上面这种写法仿真没问题但红色部分不可综合,大家在遇到类似场景一般怎么处理的呢?已知使用chisel可解决,但无奈学习成本高,是不是只能用软件来写了。
发表于 2023-3-24 11:14:58 | 显示全部楼层
红色部分不可综合?纯组合逻辑电路实现还是可以插入寄存器?你的思路应该是怎么让它映射成电路,怎么让它可以综合。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-24 11:19:08 | 显示全部楼层
糊粘丶 发表于 2023-3-24 11:14
红色部分不可综合?纯组合逻辑电路实现还是可以插入寄存器?你的思路应该是怎么让它映射成电路,怎么让它可 ...

这是一个纯组合逻辑,我想表达的是Verilog怎么使用带变量的地址,因为这是不符合语法的。
回复 支持 反对

使用道具 举报

发表于 2023-4-27 16:44:10 | 显示全部楼层
systemverilog里可以用变量的。genvar
回复 支持 反对

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-15 20:38 , Processed in 0.025633 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表