使用向量来反转一个32位的输入
要实现如下的功能:
AaaaaaaaBbbbbbbbCcccccccDddddddd => DdddddddCcccccccBbbbbbbbAaaaaaaa
错误代码:
module top_module(
input [31:0] in,
output [31:0] out );//
// assign out[31:24] = ...;
assign out[24:31]=in[7:0];
assign out[16:23]=in[15:8];
assign out[8:15]=in[23:16];
assign out[0:7]=in[31:24];
endmodule
正确代码:
module top_module(
input [31:0] in,
output [31:0] out );//
// assign out[31:24] = ...;
assign out[31:24]=in[7:0];
assign out[23:16]=in[15:8];
assign out[15:8]=in[23:16];
assign out[7:0]=in[31:24];
endmodule
有一个需要说明:就是我们在定义向量的时候如果按照这样的方式wire [7:0]node 的格式来做,那第一位其实是node[7],最高位是node[0].如果按照如下的方式来定义wire[0:7]node2,那么第一位是node2[0],最高位是node2[7].需要按照定义的方式来确定最高和最低位。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具