verilog语法-009—verilog语法-009 用‘b,‘h,‘d赋值

1、几种不同的赋值方式

在Verilog编码过程中,经常会给信号赋值,赋值有时候需要指定信号位宽,如下所示。Verilog 2005 版本支持使用省略位宽的方式赋值。

//采用常数位宽直接赋值
wire [512-1:0] func_id;
assign func_id = 512'b0 ;
//采用宏定义 指定位宽
// `define  PCIE_FUNC_ID 512 ;
wire [512-1:0] func_id;
assign func_id = {(`PCIE_FUNC_ID){1’b0}}; 

//省略写法,省略位宽512bit
wire [512-1:0] func_id;
assign func_id = ’b0 ;

2、采用省略位宽的方式赋值

Verilog 2005 版本支持使用省略位宽的方式赋值,’b,’d,’h,采用省略位宽的方式可以向左主动补齐,如果省略了进制符合b/d/h/o,则默认是十进制。

Example 4—Automatic left padding 
reg [11:0] a, b, c, d; 
initial begin 
a = 'h x; // yields xxx 
b = 'h 3x; // yields 03x 
c = 'h z3; // yields zz3 
d = 'h 0z3; // yields 0z3 
end 
reg [84:0] e, f, g,j; 
e = 'h5; // yields {82{1'b0},3'b101} 
f = 'hx; // yields {85{1'hx}} 
g = 'hz; // yields {85{1'hz}}
j = ‘5 ; // yields {82{1'b0},3'b101} //新增 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值