我使用生成m[0:14]
输出生成了15个模块。我想or
他们在一起。这有用吗?
if (m == 1)begin
result = 1;
end
或者,如果没有,那么最佳方法是什么。
答案 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
以将值转换为布尔值