欢迎来到天天文库
浏览记录
ID:48059154
大小:370.31 KB
页数:51页
时间:2019-05-06
《systemverilog硬件设计及建模—第34章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、增强的文本值改进的`define文本替换时间值新的变量类型有符号和无符号类型静态和动态变量类型转换常数第3章SystemVerilog文本值和数据类型3.1增强的文本赋值Verilog中的向量赋值:parameterSIZE=64;reg[SIZE–1:0]data;data=0;//将数据各位置0data=‘bz;//将数据各位置zdata=‘bx;//将数据各位置x但如何给data赋全1的值??data=64’hFFFFFFFFFFFFFFFF;//不可扩展,如果//SIZE改为128呢?data=~0;//1的补码data=-
2、1;//2的补码3.1增强的文本赋值SystemVerilog在向量赋值的增强:1.可以只指定要赋的值,不用指定进制2.赋值可以是逻辑1,该语法指定所有位所赋的值parameterSIZE=64;reg[SIZE–1:0]data;data=‘0;//将数据各位置0data=‘1;data=‘z;//将数据各位置zdata=‘x;//将数据各位置x3.2`define增强Verilog允许在`define宏中使用双引号,但是双引号内的文本变成了文本串,即在verilog中不能采用在字符串中嵌入宏变量的文本替换宏创建字符串`defin
3、eprint(v)$display(“variablev=%h”,v)`print(data);//$display(“variablev=%h”,data);SystemVerilog允许字符串内的宏变量替换!`defineprint(v)$display(`“variablev=%h`”,v)`print(data);//$display(“variabledata=%h”,data);3.2`define增强SystemVerilog允许在包含变量替换的宏文本字符串中使用隔离引号,SV中如何通过宏定义实现下面与Verilog相
4、同功能的语句?$display(“variable”data”=%h”,data);`defineprint(v)$display(`“variable``”v``”=%h`”,v)`print(data);$display(“variable”data”=%h”,data);3.2`define增强SystemVerilog可以提供了一个不引入空格的方法,通过使用两个连续的重音符号,使两个或多个文本宏连接成一个新名字bitd00_bit;wandd00_net=d00_bit;bitd01_bit;wandd01_ne
5、t=d01_bit;…..bitd62_bit;wandd62_net=d62_bit;bitd63_bit;wandd63_net=d63_bit;`defineTWO_STATE_NET(name)bitname``_bit;wandname``_net=name``_bit;`TWO_STATE_NET(d00);3.3SystemVerilog变量对象类型和数据类型SystemVerilog四态变量SystemVerilog两态变量显式及隐式变量和线网类型综合指导3.3.1对象类型和数据类型对象类型指明信号是变量还是线网;
6、数据类型指明变量或线网的值系统:两态数据类型或四态数据类型Verilog数据类型:变量:integer,reg,time线网:wire,wor,wandSystemVerilog数据类型:包含了所有的Verilog数据类型增加了一些新数据类型:byte,int,logic3.3.2SystemVerilog四态变量SystemVerilog用logic关键字描述通用的针对硬件的数据类型,logic数据类型变量与Verilog中的reg类型是大多数情况下可以互换使用logic类型变量声明:logicresetN;//一位四态变量log
7、ic[63:0]data;//64位宽变量logic[0:7]array[0:255];//8位数组变量显式变量或线网声明:varlogic[63:0]addr;//64位宽变量wirelogic[63:0]addr;//64位宽线网Whylogic?3.3.3SystemVerilog两态变量适合于更高抽象层次建模,如系统级和交易级bit—1位两态整数byte—8位两态整数,与C语言的char类似shortint—16位两态整数,与C语言的short类似int—32位两态整数,与C语言的int类似longint—64位两态整数,与
8、C语言的long类似bitresetN;bit[63:0]data;bit[0:7]array[0:255];varbit[63:0]addr;3.3.3SystemVerilog两态变量类似C语言类型优点:类似C语言的两态类型如in
此文档下载收益归作者所有