system verilog 学习1

1 数据类型

sv 引进了一些新的数据类型,它们具有以下优点
(1)双状态数据类型:更好的性能,更低的内存消耗
(2)队列、动态和关联数组:减少内存消耗,自带搜索和分类功能
(3)类和结构:支持抽象数据结构
(4)联合和合并结构:允许对同一数据有多种视图(view)
(5)字符串:支持内建的字符序列
(6)枚举类型:方便代码编写,增加可读性

1.1 内建数据类型

verilog 有两种基本类型:reg 变量和 线网 wire。

1.1.1 逻辑 logic类型

sv对verilog进行了改进,使得它除了作为一个变量外,还可以被连续赋值、门单元和模块所驱动。为了与寄存器类型reg相区别,这种改进的数据类型被称为logic。

注意:由于logic类型只能有一个驱动,如果存在多个驱动,那么编译的时候就会报错。当然有时候你希望是多个驱动,那么这个信号需要被定义成线网型 wire

1.1.2 双状态数据类型

相比四状态数据类型,sv引入的双状态数据类型有利于提高仿真器的性能并减少内存的使用量。最简单的双状态数据类型是bit,它是无符号的。另四种带符号的双状态数据类型是byte,shortint int和longint。

1.2 定宽数组

1.2.1 定宽数组的声明和初始化

1.2.2 常量数组

1.2.3 基本的数组操作——for 和foreach

操作数组的最常见的方式是使用for或foreach循环。 sv中的$size函数返回数组的宽度。在foreach循环中,只需要指定数组名并在其后面的方括号中给出索引变量,sv便会自动遍历数组中的元素。索引变量将自动声明,并在循环内有效。

intial begin
	bit [31:0] src[5],dst[5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值