微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 位拼接运算符 {}

位拼接运算符 {}

时间:10-02 整理:3721RD 点击:
如何用?比如:w={x,y} 取什么值?谢谢了

把多个位合并起来。仅此而已

谢谢了

假设x 8bit, y 8bit
如果w=16bit
    那么w就是x和y拼接在一块,即w的高8bit是x,低8bit是y
如果w>16bit
    w的高位补零
如果w<16bit
    w只取{x,y}拼接后的低n个bit

没明白,学习一下

就是拼起来啊

w={x,y}
w、x、y都是变量,都要声明类型和宽度。
1)类型要匹配。
2)右目的变量宽度相加,数值是x左移y的宽度位数,然后加上y的值。
3)如果w宽度和x/y的宽度相等,把值赋过去,如果w宽度大于{x,y},不足的位填零,如果w宽度小于{x,y},多出的位抛掉。

同意楼上的观点。

什么意思?就是把x,y 前后相接呀!

u'd better set the with of w equal the with of  x and y
x= 010
y = 110
set with w 6
then w = {x,y}= 010110
set w 4
then w = 0110
set w 10
then w = xxxx010110
in dc ,w[9:6]will be removed

建议小编仿真看看,一下子就明白了。

kankan

high part is x , low part is y

长见识了,很不错的思路

c = 2'b11,
b = 3'b101,
若w = {c,b},则w=5'b11101

wire [7:0] = {1'b0,{7{1'b1}}};

input  in; output[3:0] out;
```````
out <={out,in};

```````````
什么意思啊

就是把几个数据拼接成一个位宽={}内所有信号宽度相加的新数据

简单讲就是两条单向车道的公路遇到一起,并在一起变成2车道的公路
2车道的公路={单向车道1,单向车道2}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top