verilog语法基础(1)

verilog语法基础(1)

ID:1507394

大小:622.50 KB

页数:72页

时间:2017-11-12

verilog语法基础(1)_第1页
verilog语法基础(1)_第2页
verilog语法基础(1)_第3页
verilog语法基础(1)_第4页
verilog语法基础(1)_第5页
资源描述:

《verilog语法基础(1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作符类型下表以优先级顺序列出了Verilog操作符。注意“与”操作符的优先级总是比相同类型的“或”操作符高。本章将对每个操作符用一个例子作出解释。操作符类型符号连接及复制操作符一元操作符算术操作符逻辑移位操作符关系操作符相等操作符按位操作符逻辑操作符条件操作符{}{{}}!~&

2、^*/%+-<<>>><>=<======!=!==&^~^

3、&&

4、

5、?:最高最低优先级Verilog中的大小(size)与符号Verilog根据表达式中变量的长度对表达式的值自动地进行调整。Verilog自动截断或扩展赋值语句中右边的值以适应左边变量的长度。当一个负数赋值给无符号变量如reg时,Verilog自

6、动完成二进制补码计算modulesign_size;reg[3:0]a,b;reg[15:0]c;initialbegina=-1;//a是无符号数,因此其值为1111b=8;c=8;//b=c=1000#10b=b+a;//结果10111截断,b=0111#10c=c+a;//c=10111#10c=b+a;endendmodule算术操作符modulearithops();parameterfive=5;integerans,int;reg[3:0]rega,regb;reg[3:0]num;initialbeginrega=3;regb=4'b1010;int=-3;//int=11

7、11……1111_1101endinitialfork#10ans=five*int;//ans=-15#20ans=(int+5)/2;//ans=1#30ans=five/int;//ans=-1#40num=rega+regb;//num=1101#50num=rega+1;//num=0100#60num=int;//num=1101#70num=regb%rega;//num=1#80$finish;joinendmodule+加-减*乘/除%模将负数赋值给reg或其它无符号变量使用2的补码算术。如果操作数的某一位是x或z,则结果为x在整数除法中,余数舍弃模运算中使用第一个操作数

8、的符号注意integer和reg类型在算术运算时的差别。integer是有符号数,而reg是无符号数。按位操作符modulebitwise();reg[3:0]rega,regb,regc;reg[3:0]num;initialbeginrega=4'b1001;regb=4'b1010;regc=4'b11x0;endinitialfork#10num=rega&0;//num=0000#20num=rega®b;//num=1000#30num=rega

9、regb;//num=1011#40num=regb®c;//num=10x0#50num=regb

10、regc;//nu

11、m=1110#60$finish;joinendmodule~not&and

12、or^xor~^xnor^~xnor按位操作符对矢量中相对应位运算。regb=4'b1010regc=4'b1x10num=regb®c=1010;位值为x时不一定产生x结果。如#50时的or计算。当两个操作数位数不同时,位数少的操作数零扩展到相同位数。a=4'b1011;b=8'b01010011;c=a

13、b;//a零扩展为8'b00001011逻辑操作符modulelogical();parameterfive=5;regans;reg[3:0]rega,regb,regc;initialbeginre

14、ga=4‘b0011;//逻辑值为“1”regb=4‘b10xz;//逻辑值为“1”regc=4‘b0z0x;//逻辑值为“x”endinitialfork#10ans=rega&&0;//ans=0#20ans=rega

15、

16、0;//ans=1#30ans=rega&&five;//ans=1#40ans=regb&®a;//ans=1#50ans=regc

17、

18、0;//ans=x#60$finish;joinendmodule!not&&and

19、

20、or逻辑操作符的结果为一位1,0或x。逻辑操作符只对逻辑值运算。如操作数为全0,则其逻辑值为false如操作数有一位为1,则其逻辑值为tr

21、ue若操作数只包含0、x、z,则逻辑值为x逻辑反操作符将操作数的逻辑值取反。例如,若操作数为全0,则其逻辑值为0,逻辑反操作值为1。逻辑反与位反的对比modulenegation();reg[3:0]rega,regb;reg[3:0]bit;reglog;initialbeginrega=4'b1011;regb=4'b0000;endinitialfork#10bit=~rega;//num=0100#20bit=~

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。