第三章:systemverilog文本值和数据类型
1.增强的文本值
2.改进的`define文本替换
3.时间值
4.新的变量类型
5.有符号和无符号类型
6.静态和动态变量(***)
7.类型转换
8.常数
增强的文本值(文本赋值增强)
主要是:位扩展更加方便
verilog :
data = 64'hFFFF_FFFF;
data = 'bz;
data = 'bx;
systemverilog:
data = '1;//无论data的size更改与否
data = 'z;
data = 'x;//可以不用写明进制(d/b/h/o)
`define 增强
systemverilog 可以实现宏参数替换。
systemverilog允许字符串内的宏变量替换,但verilog不可以。
eg:
`define print(v) $display("variable v = %h",v)
verilog中预编译后:
`print(data) ;// $display("variable v = %h",data);
systemverilog中预编译后:
`print(data);//$display("variable data = %h",data);
systemverilog变量
1.对象类型和数据类型
2.四态变量(logic/reg)
3.两态变量(bit/byte/int/shortint/longint)
4.显示/隐示变量或线网类型
5.综合指导
对象类型和数据类型
对象类型指明信号是var / wire
数据类型指明信号是四态/两态
显示/隐示var和wire
申明语句中,数据类型前没有显示指定对象类型(var/wire)就为隐示变量。
var logic[7:0] busA;
var bit[31:0] b;
注意四态变量转为两态变量x/z被认定为0;
静态变量和动态变量
1.systemverilog 缺省存储方式与verilog兼容,在module/begin..end/fork..join/非自动function和task中,默认存储为static方式。如果task/fucntion被申明automaitc,则缺省存储方式为自动的。
2.module级所有的变量都是静态的,不可以显示申明为static/automatic.
强制类型转换
verilog 是弱语言,可以把一个数据类型值赋给另一个数据类型的var/wire.
强制类型转换不同,可以发生在表达式中。
使用强制类型转换操作符
1.数据类型转换 <type>'(<expression>)
2.数据宽度转换 <size>'(<expression>)
3.符号类型转换 <sign>'(<expression>)
使用系统函数
$cast(dest_var,source_exp); //可以作为函数/任务调用
常数
verilog 有 : parameter / specparam /localparam
systemverilog 增加了const
第三章:systemverilog文本值和数据类型的更多相关文章
- Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...
- 《JS权威指南学习总结--第三章类型、值和变量》
第三章 类型.值和变量 内容要点 一.数据类型 1.在编程语言中,能够表示并操作的值的类型称做数据类型 2.JS的数据类型分为两类: 原始类型:数字.字符串和布尔值 对象类型 3.JS中有两个特殊的原 ...
- 【笔记】javascript权威指南-第三章-类型,值和变量
javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.27 计算机程序运行时需要对值(value ...
- 第三章 EnumUtil根据值获取枚举对象
项目中使用枚举类的好处这里不再赘述,在使用枚举值时,通常需要根据值来获取枚举对象,下面介绍两种实现方案: 1.在枚举类中定义方法实现 首先给出如下性别枚举类: public enum SexEnum ...
- 《Mysql 公司职员学习篇》 第三章 小A的疑问
第三章 小A的疑问 ---- 数据类型和自增列 小A拿着鸡腿,回到了房间里面,咬了一嘴油,说:"我有2个疑问,在Excell里面,像列PetAge(宠物年龄)这样的数字,我一般会设置成数值 ...
- 第三章:Javascript类型、值和变量。
计算机程序的运行需要对值(value)比如数字3.14或者文本"hello world"进行操作,在编程语言中,能够表示并操作的值的类型叫做数据类型(type),编程语言最基本的特 ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
- 《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...
- 【PUPPETEER】初探之获取元素文本值(三)
一.知识点 page.$eval(selector, pageFunction[, ...args]) page.$$eval(selector, pageFunction[, ...args]) i ...
随机推荐
- Python中lambda表达式的应用
lambda表达式 Python中定义了一个匿名函数叫做lambda表达式,个人理解实现的作用就是代替一些简单的函数,使得代码看上去更简洁并且可读性高.举个例子,我们有一个元组列表[(‘a’,1),( ...
- Eclipse新建Maven webapp项目错误的解决方法
新建webapp项目时出现如下错误: 解决步骤如下: 1. 右键点击项目,选择Properties,点击Java Build Path,将默认的JRE移除,点击右侧add Library,选择JRE ...
- Django Views and URLconfs
碧玉妆成一树高,万条垂下绿丝绦. 不知细叶谁裁出,二月春风似剪刀. 原文尽在:http://djangobook.com/ 转载请注明出处:http://www.cnblogs.com/A-FM/p/ ...
- UWP 后台保存图片
在做UWP的时候,有一个需求,就是点击下载按钮,需要将当前页面中的Image控件中显示的图片保存下来. 既然聊到了下载图片,索性把添加图片也讲一下. 一:给Image控件添加图片 xaml代码: &l ...
- HDU6447(离散化扫描线+树状数组)
一眼看过去就x排序扫描一下,y是1e9的离散化一下,每层用树状数组维护一下,然后像dp倒着循环似的树状数组就用y倒着插就可行了. 类似题目练习:BZOJ4653.BZOJ1218 #pragma co ...
- Codeforces Round #395 (Div. 2) B
Description Young Timofey has a birthday today! He got kit of n cubes as a birthday present from his ...
- Mybatis-Configuration-详解
Configuration MyBatis的初始化会执行SqlSessionFactoryBuilder的中build()方法,build方法又会调用XMLConfigBuilder()的内部pars ...
- 关于margin、padding 对内联元素的影响
内联元素和块级元素的区别是新手必须要掌握的知识点.大家可能平时注意块级元素比较多.所以这里重点让我们来讲讲常见的width height margin padding 对inline元素的影响. 测 ...
- Outlook读取奇妙清单Wunderlist日历失败的解决办法
错误: Outlook.com日历订阅奇妙清单的日历链接时报错 This calendar wasn't updated because of a problem with the publisher ...
- bootstrap CSS表单、按钮和字体图标
基础表单 <form role="form"> <div class="form-group"> <l ...