2022年Systemverilog数据类型总结_第1页
2022年Systemverilog数据类型总结_第2页
2022年Systemverilog数据类型总结_第3页
2022年Systemverilog数据类型总结_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、System verilog数据类型总结1 规律数据类型(logic)可替 reg 和 wire ,但是不能有多个驱动,有多个驱动的信号仍是要定义成 wire 型2 双状态数据类型(只有 0/1 两个状态 )无符号:bit 有符号:byteshortint int longint $sunknown 操作符可检查双状态数据类型位是否显现X、Z 状态,如显现,返回1例If $sunknowniport=1$display 3 定宽数组 1 )声明:在数组声明中答应给出数组宽度如:int c_style16 等同于int c_style15:0 /16个整数2)多维数组int array84;in

2、t array 7:03:0 ;/8 行 4 列数组array73=1 / 设置最终一个元素为 1从越界地址中读数,SV返回数组元素缺省值四状态类型,返回 X;双状态类型,返回 0;3)存放:32 比特字边界存放数组元素4)非合并数组声明: bit7:0 b_unpack3 低位存放数据5)常量数组声明:单引号和大括号初始化数组例: int a4 = 0,1,2,1; /4个元素初始化1, a=3,2,1,1 int b5; 为前三个元素赋值a0:2 = 1,2,2; /b = 51; /5个值全为 1 a = 3,2,default:1 /为没有赋值元素, 指定缺省值4 基本数组操作1)遍历

3、数组-for /foreach foreach 要指定数组名,且要用方括号中给出索引变量initial begin bit31:0 arc5,drc5; forint i=0;i$sizesrc;i+ srci= i; foreach drcj drcj=srcj*2; end 多维数组遍历foreach 语法用 i,j, 如 int mid23=1,2,3,3,4,5 foreachmidi,j 2)比较和复制聚合比较和赋值(适用于整个数组而非单个元素)比较 只有等于和不等于比较 可使用?:操作符比较$display src1:4 %s dst1:4, src1:4=drc1:4. =:.=

4、; 3)赋值src=drc / drc 全部元素赋值给4srcsrc3=4; / /第三个元素赋值为4)同时使用数组下标和位下标 如指定第一个数组的第一位和其次位:bit31:0 src5 = 55;$display src0, /b10 /b101 src02:1 ; 5)合并数组连续的比特集存放,既可以当成数组,也可以当单独数据,如 4 个 8 比特数据 合并的位和数组大小必需放在变量明前指定32 比特数据,可以看成如 bit 3:0 7:0 byte1; / 四个 8 比特数组成 32 比特byte 127 / 第 3 个字节的第 8 位合并 / 非合并混合数组(详见 SV验证测试平台编

5、写指南 P26)和标量进行相互转换,建议使用合并数组,如以字节或字对储备单元进行操作,需要等待数组中变化,必需使用合并数组,如用5 动态数组() 等待触发,只能用标量或合并数组仿真过程中再支配空间或调整宽度,在声明时用空的 ,在执行过程中使用new 操作符支配空间, 内给定数组宽度int dyn,d2; initial begin dyn = new5; / 支配 5 个元素 foreach dynj dynj=j; / 对元素进行初始化 d2=dyn / 复制 dyn dyn=new20dyn; dyn.delete; / 删除全部元素想声明一个常数数组 但不想统计元素个数,可以使用动态数组

6、 bit7:0 mask = 3b101,3011; 数据类型相同,定宽数组和动态数组之间可以相互赋值6 队列 结合链表和数组优点:1)可在队列任何地方添加,删除元素;动态数组需要支配新的 数组并复制元素的值 2)可通过索引实现拜望元素;链表需要遍历目标元素之前的元素声明:$ int j=1; q2 $ = 3,4 , / 队列常量不需要使用q $ = 0,2,5; initial begin q$,2 q.insert1,j; / 0,1,2,5 q.delete1; / 0,2,5 删除第一个元素q.push_front6 /6,0,2,5 q.push_back8 /6,0,2,5,8 /$ 放最左边,代表最小值0;$放最右边就代表最大值7 关联数组 用来储存稀疏矩阵的元素,只为实际写入的元素支配空间8 数组方法sum/product/and/or/xor 留意位宽数组缩减定位方法min/max/unique/find数组排序reverse/sort/rsort/shuffle9 枚举类型10 表达式位宽可强制转换 bit 7:0 b8; bit one= 1b1; $displaybone+one / 1+1=0; 两个单比特变量b8=one+one; $display

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论