a=b?c:d 赋值问题
时间:10-02
整理:3721RD
点击:
最近做一个SRAM读写控制,在顶层模块有如下内容:
output sram_we_n; //芯片上WE。sram写使能,低有效
wire sram_we_n_wr;
assign sram_we_n = wr_valid ? sram_we_n_wr : sram_we_n_rd;
sram_wr sram_wr_inst (
…………
.sram_we_n(sram_we_n_wr),
………… );
sram_rd sram_rd_inst (
…………
.sram_we_n(sram_we_n_rd),
………… );
本来是想在写sram时例化sram_wr模块,读sram时例化sram_rd模块,结果综合时显示如下警告:
WARNING:Xst:1305 - Output <sram_we_n> is never assigned. Tied to value 1.
不可以这样赋值吗?还是其他什么原因?哪位大侠帮帮忙啊!多谢!
output sram_we_n; //芯片上WE。sram写使能,低有效
wire sram_we_n_wr;
assign sram_we_n = wr_valid ? sram_we_n_wr : sram_we_n_rd;
sram_wr sram_wr_inst (
…………
.sram_we_n(sram_we_n_wr),
………… );
sram_rd sram_rd_inst (
…………
.sram_we_n(sram_we_n_rd),
………… );
本来是想在写sram时例化sram_wr模块,读sram时例化sram_rd模块,结果综合时显示如下警告:
WARNING:Xst:1305 - Output <sram_we_n> is never assigned. Tied to value 1.
不可以这样赋值吗?还是其他什么原因?哪位大侠帮帮忙啊!多谢!
应该是你自己的模块没有写好,比如是sram_rd或者是sram_wr,这样赋值是可以的,你可以随便写一个简单的程序试一试就知道这种赋值的方式合不合语法规则了。我用了一个简单的方式试过了,这样赋值是没问题的,小编在检查检查你的代码吧!
检查sram_wr和sram_rd模块
条件赋值语句是肯定没问题的。是其他的问题。
