Given an 8-bit input vector [7:0], reverse its bit ordering.
See also: Reversing a longer vector.
1 module top_module(
2 input [7:0] in,
3 output [7:0] out
4 );
5 assign {out[0],out[1],out[2],out[3],out[4],out[5],out[6],out[7]} = in;
6 //这个写法和自己的思路(如下第一个)一样,也是可以的
7 //assign out={in[0],in[1],in[2],in[3],in[4],in[5],in[6],in[7]};
8 //assign {out[0],out[1],out[2],out[3],out[4],out[5],out[6],out[7]}={in[0],in[1],in[2],in[3],in[4],in[5],in[6],in[7]};
9 //上面这个(第二个)写法是错误的,估计是不能左右均展开写
//第二个写法当然是错的,前后的顺序对应错了,能对吗,在下面重写了
10 endmodule
module top_module(
input [7:0] in,
output [7:0] out
);
assign out[7]=in[0];
assign out[6]=in[1];
assign out[5]=in[2];
assign out[4]=in[3];
assign out[3]=in[4];
assign out[2]=in[5];
assign out[1]=in[6];
assign out[0]=in[7];
endmodule
module top_module(
input [7:0] in,
output [7:0] out
);
assign {out[7],out[6],out[5],out[4],out[3],out[2],out[1],out[0]}
={in[0],in[1],in[2],in[3],in[4],in[5],in[6],in[7]};
endmodule