一、题目
Given a 100-bit input vector [99:0], reverse its bit ordering.
Module Declaration
module top_module( input [99:0] in, output [99:0] out );
二、分析
可以使用for或generate for循环语句,通过i将最低位的输入赋值给最高位输出,高低顺序和为99
三、代码实现
module top_module( input [99:0] in, output [99:0] out ); integer i; always@(*) for(i=0;i<100;i=i+1)begin out[i]=in[99-i]; end endmodulemodule top_module( input [99:0] in, output [99:0] out ); genvar i; generate for(i=0;i<100;i=i+1) begin:vector100 assign out[i]=in[99-i]; end endgenerate endmodule 或者 module top_module( input [99:0] in, output [99:0] out ); generate genvar i; for(i=0;i<=99;i++)begin:my_block assign out[i]=in[99-i]; end endgenerate endmodule 或者 module top_module( input [99:0] in, output [99:0] out ); always@(*)begin for(int i=0;i<100;i++) out[i]=in[100-i-1]; end endmodule