Verilog中的 & 和 && 之区别
Verilog中的 & 和 && 分别会被综合成什么电路呢?例一:
wire a;
wire b;
assign a = b;
被Xilinx的ISE综合后,会产生一个警告:
WARNING:Xst:646 - Signal <b<7:1>> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
例二:
wire a;
wire b;
assign a = b & 8'h01;
被Xilinx的ISE综合后,也会产生一个警告:
WARNING:Xst:646 - Signal <b<7:1>> is assigned but never used. This unconnected signal will be trimmed during the optimization process.
例三:
wire a;
wire b;
assign a = b && 8'h01;
被Xilinx的ISE综合后,就不会产生警告。
但不敢确定这样做,是否能够达到取 b 的最低位赋值于 a 的目的。 想了又想,第三种方式使用 && 是不对的。
看来如果想只取一个8位寄存器的其中一位,就一定没法消除这种警告了--虽然这个警告并不碍事。 你看看这个警告嘛:Signal <b<7:1>> is assigned but never used.
是警告你的程序里b的其他位没有使用,你要是在其他地方用了b的所有位,就应该不会有这个警告了。 这两个与的区别应该是
一个是逻辑与一个是关系与吧 按位与和逻辑与 第三种用法有问题,前两种只不过是把没有使用的优化掉了 楼上正解,楼主要仔细看Warming
页:
[1]