今天在HDLbits网站学习的时候遇到一个有趣的东西,记录一下,也是第一次翻译文章。
为了更加方便操作,将相关联的信号用一个名字组成向量。比如,wire [ 7:0 ] w ; 声明了一个8位的向量w,这等价于w拥有8根分离的线。
声明向量
向量必须被声明: 类型 [ 最高位:最低位 ] 向量名字
类型指的是向量的数据类型,最常用的是wire和reg。当声明输出或输入端口时,类型除数据类型外,还包括端口类型。比如:
wire [7:0] w; // 8位wire
reg [4:1] x; // 4位reg
output reg [0:0] y; // 1位输出端口reg(仍是向量)
input wire [3:-2] z; // 6位输入wire(允许负数范围)
output [3:0] a; // 4位输出wire。未声明类型时默认为wire
wire [0:7] b; // 8位wire,b[0]为最高有效位
向量的字节顺序(或者通俗的来说,方向)决定了最低有效位是较低的指针(小端:[ 3:0 ])还是较高的指针(大端:[ 0:3 ]