vector reversal1

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

  

posted @ 2023-04-18 19:13  江左子固  阅读(24)  评论(0)    收藏  举报