2
我想要OR参数化的32位总线数,如下所示: out_bus = bus1 | bus2 |公共汽车3 | ... | bus N;阵列元素的Verilog OR
我还要声明总线作为阵列(N为一个固定的参数,在编译时定义):
REG [31:0]总线[N-1:0];
我可以计算如何做到这一点是这样的最好的:
parameter N;
reg [N-1:0] temp;
reg [31:0] out_bus;
reg [31:0] bus[N-1:0];
always @(*) begin
for (j=0; j<32; j=j+1) begin : bits
for (k=0; k < N; k=k+1) begin : bus
temp = bus[k][j];
end
out_bus[j] = |temp;
end
end
这就需要综合的是。有一个更清洁/更好的方法,不是吗?
更换整个
always
块我使用系统的Verilog,所以我认为它不会比这更好。 – mangoMan