1 Vector Part Select
作业:
可以将 32 位向量视为包含 4 个字节(位 [31:24]、[23:16] 等)。构建一个电路来反转4 字节字的字节顺序。
AaaaaaaaBbbbbbbbCccccccccDdddddddd => DdddddddCccccccBbbbbbbbAaaaaaaa
module top_module(
input [31:0] in,
output [31:0] out );//
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
2 Bitwise operators
作业:
构建一个具有两个 3 位输入的电路,用于计算两个向量的按位或,两个向量的逻辑或,以及两个向量的逆 (NOT)。将 的倒数b放在out_not(即位 [5:3])的上半部分,将 的倒数a放在下半部分。
module top_module(
input [2:0] a,
input [2:0] b,
output [2:0] out_or_bitwise,
output out_or_logical,
output [5:0] out_not
);
assign out_or_bitwise = a | b;
assign out_or_logical = a || b;
assign out_not[5:3] = ~b;
assign out_not[2:0] = ~a;
endmodule