[Verilog HDL] 怎样理解Verilog中的assign?

[复制链接]
3491|0
 楼主| gaochy1126 发表于 2022-3-31 23:18 | 显示全部楼层 |阅读模式




assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号必须是wire型。当右边变化了左边立马变化,方便用来描述简单的组合逻辑。示例:
wire a, b, y;  assign y = a & b;
综合结果图:

当对一组信号进行assign,就需要放到generate中,并用for语句包起来,并且注意,在Synopsys DC中, 每个for 都要配上begin end。示例:
input  wire [QUANT*BITWID-1:0]       predecessor_vertex_i;wire [BITWID-1:0]   predecessor[0:QUANT-1];  genvar              j;generate    for (j=0; j<QUANT; j=j+1)    begin: vector2array      assign predecessor_vertex[j][BITWID-1:0]               = predecessor_vertex_i[BITWID*(j+1)-1:BITWID*j];    end  endgenerate





本帖子中包含更多资源

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

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

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1235

主题

12109

帖子

26

粉丝
快速回复 在线客服 返回列表 返回顶部