在Verilog中输出输出

时间:2013-02-19 00:08:06

标签: verilog

我使用生成m[0:14]输出生成了15个模块。我想or他们在一起。这有用吗?

if (m == 1)begin
result = 1;
end

或者,如果没有,那么最佳方法是什么。

3 个答案:

答案 0 :(得分:4)

您正在寻找verilog的缩减操作。

( |m ) = m[1] | m[2] | m[3] ...

http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/Operators/reduction.html

答案 1 :(得分:3)

assign result = |m;应该有效。 |是一元缩减,或or m的所有位。

您所拥有的内容将无效,因为它会将m'd1进行比较,如果m为000000000000001则为真。

答案 2 :(得分:0)

请注意,这也可以:

if (m) result = 1;

由于隐式执行|m以将值转换为布尔值