【HDLbit】题目
- Vectorgates
题目:创建一个电路,这个电路含有两个3比特输入。对其分别做按位或,逻辑或和非。其中非的高三位由b提供,低三位由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 [2:0] = a[2:0] | b[2:0]; assign out_or_logical = a[2:0] || b [2:0]; assign out_not[5:3] = ~b[2:0]; assign out_not[2:0] = ~a[2:0]; endmodule -
Gates4
题目:创建一个四输入的电路,有三个输出:
1. out_and
2. out_or
3. out_xormodule top_module( input [3:0] in, output out_and, output out_or, output out_xor ); assign out_and = in[3] && in[2] && in[1] && in[0]; assign out_or = in[3] || in[2] || in[1] || in[0]; assign out_xor = in[3] ^ in[2] ^ in[1] ^ in[0]; endmodule - Vector3
部分选择(part selection),concatenation operator{a,b,c}用于连接向量
E.g. {3'b111, 3'b000} =>6'b111000
module top_module ( input [4:0] a, b, c, d, e, f, output [7:0] w, x, y, z );// assign w[7:0] = {a[4:0],b[4:2]}; assign x[7:0] = {b[1:0],c[4:0],d[4]}; assign y[7:0] = {d[3:0],e[4:1]}; assign z[7:0] = {e[0],f[4:0],2'b11}; // assign { ... } = { ... }; endmodule

浙公网安备 33010602011771号