【Systemverilog】什么是数据类型(2)

【Systemverilog】什么是数据类型(2)

1.2 定宽数组

1.2.1 数组的声明与初始化方法
1. 一维数组的声明


int instance_a[7:0] ;				//二值逻辑类型,8个整数[0]、[1]......[7]
logic instance_b[3:0] ;		        //四值逻辑类型,4个整数[0]、[1]、[2]

【思考】若SV返回值为缺省值,logic与int返回值各是多少?wire类型若没有驱动,返回值又是什么?

2.多维数组的声明 (2种)


logic array1[4][8];        //紧凑声明
logic array2[3:0][7:0];    //完整声明

3.常量数组


int exam_1[3] = '{0,1,2} ;       //注意声明与初始化方式
int exam_2[8] = '{0,2,default} ; //default默认值为1
int exam_3[4] = '{1,3{2}} ;      //1,2,2,2

1.2.2 数组的基本操作
1. for操作
在C语言中,我们已经接触过for语句了。其基本格式为:for(变量定义与初始化;条件限制语句;变量操作(自增/自减))

for (int j=0 ; j<5; j++)

2. foreach遍历操作(重要)


foreach ( tt[i,j] )			//默认i,j已经定义,直接使用即可
	$display ("tt[%0d][%0d] = %0d",i , j ,tt[i,j]);
	

3. 复制与比较


initial	begin
		int [7:0] array1[4] = '{0,1,2,3} ;
			      array2[4] = '{4,5,6,7} ;
//数组复制
		array2 = array1 ;  //将array1的值赋值给array2
//数组比较
		$display(" array1 %s array2 ", (array1 == array2)? "==": "!=") ;
		

今天的定宽数组介绍到这里啦,欢迎您的批评指正!下次我们将介绍动态数组的有关内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值