admin 管理员组文章数量: 1086866
将一个32bit的数据,颠倒过来,bit0与bit31交换,bit1与bit30交换,C语言实现与verilog实现。
C语言实现
void sw(uint val)
{
int i,valx=0;
for(i=0;i<32;i++)
{
valx+=val<<(31-i);
}
return valx;
}
verilog 实现方案一:
module sw(
a,
b);
input wire [31:0]a;
output wire [31:0]b;
assign b={a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]};
endmodule
verilog 实现方案二:
module sw(
a,
b);
input wire [31:0]a;
output wire [0:31]b;
assign b=a;
endmodule
verilog 实现方案三:
。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。
本文标签: 将一个32bit的数据,颠倒过来,bit0与bit31交换,bit1与bit30交换,C语言实现与verilog实现
版权声明:本文标题:将一个32bit的数据,颠倒过来,bit0与bit31交换,bit1与bit30交换,C语言实现与verilog实现。 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1687941748a160164.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论