第三章: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 ...
随机推荐
- 二分优化的lis
/*此题为一个女大佬教我的,%%%%%%%%%%%%*/ 题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为 ...
- 阿里云服务器及部署mysql
可通过百度获取内容不再赘述. 远程连接: 远程连接阿里云服务器需在服务器上开放443端口,方法自行百度 win10通过系统自带远程连接服务连接时需安装凭据: http://blog.csdn.ne ...
- 继续(3n+1)猜想 (25)
#include <algorithm> #include <iostream> using namespace std; int main(){ ] = { }; ], nu ...
- codeforces 615 B. Longtail Hedgehog (DFS + 剪枝)
题目链接: codeforces 615 B. Longtail Hedgehog (DFS + 剪枝) 题目描述: 给定n个点m条无向边的图,设一条节点递增的链末尾节点为u,链上点的个数为P,则该链 ...
- Painful Bases LightOJ - 1021
Painful Bases LightOJ - 1021 题意:给出0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F中的一些字符(不重复)还有一个进制base,求这些字符的排列形成的ba ...
- 水题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas
题目传送门 /* 水题:ans = (1+2+3+...+n) * k - n,开long long */ #include <cstdio> #include <algorithm ...
- OC的单例模式
原文: http://www.galloway.me.uk/tutorials/singleton-classes/ 在iOS开发中,单例是最有用的设计模式之一.它是在代码间共享数据而不需要手动传递参 ...
- 74LVC2G241双缓冲3态驱动器
- B. Code For 1 一个类似于线段树的东西
http://codeforces.com/contest/768/problem/B 我的做法是,观察到,只有是x % 2的情况下,才有可能出现0 其他的,都是1来的,所以开始的ans应该是R - ...
- 生产环境中nginx既做web服务又做反向代理
一.写对于初入博客园的感想 众所周知,nginx是一个高性能的HTTP和反向代理服务器,在以前工作中要么实现http要么做反向代理或者负载均衡.尚未在同一台nginx或者集群上同时既实现HTTP又实现 ...