【学习笔记】

Verilog语法之数据位宽[+:][-:]

1.数据选择语句:

  • vect[a+:b] 等价于 vect[a:a+b-1] 等价于 vect[a+b-1:a]
  • vect[a- :b] 等价于 vect[a:a-b+1]

注:

  • a可以是常数,也可以是变数,但b必须是常数;
  • vect[n:m] 等价于 vect[m:n];

例子:

  1. vect[7+:3] ==vect[7:9] == vect[9:7];
  2. vect[9-:4] == vect[9:6];
  3. data[15-8cnt-:8] <= din[7:0]表示:当cnt = 0时,将din[7:0]赋值给data[15:7],当cnt = 1时,将din[7:0]赋值给data[7:0]。

参考博文:Verilog常用的数据选择语句

2.vect[n:m] 和 vect[m:n]:

不定值x在用于判断时不是当作不确定的或者0或者1处理,而是当作一个第三种情况(仿真结果显示x不能用于if语句中进行判断赋值)

参考博文:Verilog 语言[N:0]和[0:N]定义变量方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值