打印
[Verilog HDL]

怎样理解Verilog中的assign?

[复制链接]
3071|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主




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





使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

1025

主题

11271

帖子

25

粉丝