位拼接运算符

在Verilog HDL语言中的特殊运算符,位拼接运算符,Concatation。可以把两个或多个信号的某些位拼接起来。

{信号1的某几位,信号2的某几位,... ...}

把某些信号的某些位详细地列出来,中间用逗号分开,最后用大括号括起来表示一个整体信号。

例如:

{a,b[3:0],w,3'b101}

{a,b[3],b[2],b[1],b[0],w,1'b1,1'b0,1'b}

在位拼接表达式中不允许存在没有指明位数的信号。这是因为在计算拼接信号位宽的大小时必须知道其中每个信号的位宽。

位拼接还可以用重复法来简化表达式。

{4{w}}等同于{w,w,w,w}

位拼接还可以用嵌套的方式来表达。

{b,{3{a,b}}}等同于{b,a,b,a,b,a,b}

用于重复的表达式,必须是常数表达式。

拼接操作符用大括号({,})来表示,用于将多个操作数(向量)拼接成新的操作数(向量),信号间用逗号隔开。

拼接符操作数必须指定位宽,常数的话也需要指定位宽。例如:

A = 4'b1010 ;

B = 1'b1 ;

Y1 = {B, A[3:2], A[0], 4'h3 };  //结果为Y1='b1100_0011

Y2 = {4{B}, 3'd4};  //结果为 Y2=7'b111_1100

Y3 = {32'{1'b0}};  //结果为 Y3=32h0,常用作寄存器初始化时匹配位宽的赋初值

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shining0596

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值