stariain的个人空间 https://blog.eetop.cn/1260220 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

《System Verilog验证测试平台编写指南》读书笔记:第二章 数据类型

已有 2800 次阅读| 2017-8-18 19:23 |个人分类:专业学习|系统分类:硬件设计

2.1内建数据类型

logic拥有的功能:变量所有功能(regintegertimereal),被连续赋值(assign语句中),被门驱动(直接使用not()等),被模块驱动(直接调用模块)。注:只能有一个驱动。

数据类型:bitintshortintlongintbyteintegertimereal

2.2定宽数组

声明时可以只给出数组宽度。多维数组声明时同样可以只给出数组宽度。

从越界地址读数时会返回数组元素类型的缺省值。

使用单引号加大括号来初始化数组。初始化多维数组。

foreach数组和多维数组的格式。遍历二维数组的一个维度。

数组的复制和比较可采用聚合操作,而算数运算和逻辑操作不能采用聚合操作。

Verilog-2001sv均可同时使用位下标和数组下标。

合并数组的声明与使用方法,合并/非合并混合数组的声明与使用方法。任何数组类型都可以合并,包括动态数组、队列、关联数组、定宽数组。需要等待数组的变化时(@),为了方便建议使用合并数组。

2.3动态数组

动态数组声明、初始化、分配空间、分配空间同时复制,有了数据之后重新分配空间将会删除原来的数据。可将定宽数组复制给一个动态数组。

2.4队列

声明,不要对队列使用new[],初始化与定宽数组和动态数组不同。操作有:insertdeletepush_frontpush_backpop_frontpop_back。上述操作还有一种新的方法可以实现。$在下标串联时的用法。

当然可将定宽数组和动态数组复制给队列。

2.5关联数组

声明、初始化和使用。和hash类似,关联数组也可以使用字符串作为索引进行寻址。可用exists()来检查元素是否存在。

2.22sv读取文件的用法。

2.6链表

    建议不使用。

2.7数组的方法  à不适用于合并数组

数组缩减sumproductandorxor

利用$urandom_range来随机选取一个元素。$size()(适用于定宽数组、动态数组、队列、关联数组)与.size(适用于动态数组与队列)的适用范围不同。针对关联数组需要逐个访问之前的元素。

数组定位:返回一个队列。数组定位函数有:maxminunique(采用.function的方式)。withitem关系式)的用法。find相关函数有:findfind_indexfind_firstfind_lastfind_first_indexfind_last_index

数组排序:函数有reversesortrsortshuffle。其中reverseshuffle不能带with条件语句。

可使用数组定位方法建立记分板。

2.8选择存储类型

2.9使用typedef创建新的类型(定义一种通用的类型)

约定用户自定义类型带后缀_t。新的数组类型定义。

2.10创建用户自定义结构

struct创建新类型(_s标示)。初始化方式与数组类似。

创建不同类型的联合union_u标示)。

合并结构struct packed_p_s标示)。

2.11类型转换

静态转换:转换时指定目标类型,并在需要转换的表达式前加上单引号即可,表达式用括号包围。

动态转换:$cast

流操作符:《从左向右,》从右向左。用法:{《或者》{单个或者多个数组}}

2.12枚举类型

enum_e标示)。

可遍历枚举类型的函数:firstlastnextnextN)、prevprevN)。

枚举类型缺省值为双状态int,因此可被赋给其他非枚举变量int

$castab):将b赋给a,如果数值越界,不进行赋值,该函数返回0

2.13常量

2.14字符串

svstring类型可用来保存长度可变的字符串,单个字符为byte类型。字符串相关的函数:getcN)、touppertolowerputcMC)、substrstartend)。

2.15表达式的位宽


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 2

    评论
  • 1063

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-11 03:51 , Processed in 0.021162 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部