我是靠谱客的博主 典雅凉面,最近开发中收集的这篇文章主要介绍verilog语法-009—verilog语法-009 用‘b,‘h,‘d赋值1、几种不同的赋值方式2、采用省略位宽的方式赋值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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} //新增 

最后

以上就是典雅凉面为你收集整理的verilog语法-009—verilog语法-009 用‘b,‘h,‘d赋值1、几种不同的赋值方式2、采用省略位宽的方式赋值的全部内容,希望文章能够帮你解决verilog语法-009—verilog语法-009 用‘b,‘h,‘d赋值1、几种不同的赋值方式2、采用省略位宽的方式赋值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部