您的当前位置:首页代码:动态/固定&截位/拼接

代码:动态/固定&截位/拼接

来源:锐游网

 都是使用的以下这个文档的内容,方便我自己学习,我又写了一遍

固定的截位,固定拼接,意思就是截的位数和拼接的位数都是固定的,其中截位使用方括号 [  ],拼接使用大括号{  },如下:

reg [7 :0] a;
reg [3 :0] b;
reg [11:0] c;
assign b = a[3:0];//截位
assign a[7:4] = b;//截位
assign c = {a,b};//拼接
assign c = {a[3:0],b[3:0]};//拼接

接下来动态截位:

语法规则:

vect[base+:width]或[base-:width]

规则讲解:

(1)base是起始位,width是变化的位宽

(2)"+:"增续,“-:”降序

例子:

分别举两个例子,分别是大端和小端

例子:

reg [7:0] vect_1;//大端
reg [0:7] vect_2;//小端

//大端转换
vect_1[4+:3]//表示,起始位为4,宽度为3,**升序**,则vect_1[4+:3] = vect_1[6:4]
vect_1[4-:3]//表示,起始位为4,宽度为3,**降序**,则vect_1[4-:3] = vect_1[4:2]

//小端转换
vect_2[4+:3]//表示,起始位为4,宽度为3,升序,则vect_2[4+:3] = vect_2[4:6]
vect_2[4-:3]//表示,起始位为4,宽度为3,降序,则vect_2[4-:3] = vect_2[2:4]



因篇幅问题不能全部显示,请点此查看更多更全内容

Top