我正在尝试实现具有参数化宽度和系数的线性反馈移位寄存器:
// ...
parameter width = 16;
parameter [width-1:0] coeff = 16'b1110101100110110;
// ...
有没有办法将
assign input_wire = (coeff[0] & flops[0]) xor ... xor (coeff[width-1] & flops[width-1]);
明显但非法的方式是使用for循环。有没有办法在总是阻止之外做到这一点?
由于
答案 0 :(得分:0)
按位AND和一元XOR运算符可以解决问题:
assign input_wire = ^(coefficients[width-1:0] & flops[width-1:0]);
按位AND执行触发器输出的加权。