HDLbits刷题记录之Vector100r
题目:要求给一个100位宽的向量进行反转。
代码如下:我的代码在运行完成之后被刷掉了,就复制一下官方代码,如下:
module top_module (
input [99:0] in,
output reg [99:0] out
);
always @(*) begin
for (int i=0;i<$bits(out);i++) // $bits() is a system function that returns the width of a signal.
out[i] = in[$bits(out)-i-1]; // $bits(out) is 100 because out is 100 bits wide.
end
endmodule
总结
$bits()函数是获取位宽,在循环中利用位宽作为循环的总数,这样可以使得代码更灵活。