第三章: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 ...
随机推荐
- Django Views and URLconfs
碧玉妆成一树高,万条垂下绿丝绦. 不知细叶谁裁出,二月春风似剪刀. 原文尽在:http://djangobook.com/ 转载请注明出处:http://www.cnblogs.com/A-FM/p/ ...
- AppStore 审核拒绝原因记录
此文仅记录审核app被拒绝的原因 1.未提供充值功能,app中出现vip或者会员图标文字 被拒 解决,隐藏或取消该图标或文字 2.第三方登录,需要跳转到第三方app登录 被拒 解决,审核时隐藏第三方登 ...
- springMVC validator验证的使用
http://blog.csdn.net/miketom155/article/details/45058195 1. 实现Validator接口,对数据进行校验 @RequestMapping(va ...
- Jquery | 基础 | 慕课网 | 元素选择器
getElementsByTagName方法得到页面所有的<div>元素 var divs = document.getElementsByTagName('div'); 与 同样的效果, ...
- [HNOI2018]毒瘤
Description 从前有一名毒瘤. 毒瘤最近发现了量产毒瘤题的奥秘.考虑如下类型的数据结构题:给出一个数组,要求支持若干种奇奇怪怪的修改操作(比如区间加一个数,或者区间开平方),并支持询问区间和 ...
- 洛谷P2502[HAOI2006]旅行
题目: Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N个景点(编号为1,2,3,-,N),这些景点被M条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路.也许 ...
- 注册jdbc驱动的三种方式
java.sql.DriverManger类简介 java的驱动管理类.管理一组 JDBC 驱动程序. javax.sql.DataSource 接口是 JDBC 2.0 API 中的新增内容,它 ...
- and or类比c中的 bool?a :b
a = "heaven" b = "hell" c = True and a or b print c d = False and a or b ...
- 用户名密码登录小程序及input与raw_input区别。
一.此次程序需要实现: 1.设定固定的用户名密码 2.用户名密码输入正确打印登录正确信息 3.仅仅运行三次登录 二.本次使用的python版本为: Windows下版本号: C:\Users\dais ...
- CSS实现文字旋转/实现角标
主要用到属性transform:rotate(-30deg) example: .divedittable .project-tag div { width: 43px; line-height: 4 ...