1.Vectors
module top_module(
input [2:0] vec,
output [2:0] outv,
output o2,
output o1,
output o0
);
assign outv = vec;
// This is ok too: assign {o2, o1, o0} = vec;
assign o0 = vec[0];
assign o1 = vec[1];
assign o2 = vec[2];
endmodule
2.Vectors in more detail
module top_module(
input wire [15:0] in,
output wire [7:0] out_hi,
output wire [7:0] out_lo );
assign out_hi = in[15:8];
assign out_lo = in[7:0];
endmodule
3.Vector part select
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
4.Bitwise oparators
module top_module(
input [2:0] a,
input [2:0]

本文详细介绍了Verilog语言中涉及的向量操作,包括基本的向量赋值、详细的数据分段、位运算符、四输入门、向量联系运算符、反转和复制操作。每个模块展示了如何处理不同长度的向量和逻辑操作。
最低0.47元/天 解锁文章
2107

被折叠的 条评论
为什么被折叠?



