- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 数据类型与表达式 wire型变量的定义格式如下: wire 数据名1,数据名2,……数据名n; 例如: wire a,b; //定义了两个wire型变量a和b (1)算术运算符(Arithmetic operators) 常用的算术运算符包括: + 加 - 减 * 乘 / 除 % 求模 (6)缩位运算符(规约操作符) 与 ~ 与非 | 或 ~| 或非 ^ 异或 ^~,~^ 同或 缩位运算符与位运算符的逻辑运算法则一样,但 缩位运算是对单个操作数进行与、或、非递推运 算的,它放在操作数的前面。缩位运算符将一个 矢量缩减为一个标量。例: (8) 条件运算符(conditional operators) ?: 三目运算符,其定义方式如下: 信号=条件?表达式1:表达式2; 当条件成立时,信号取表达式1的值,反之取表达式2的值。 (9) 位拼接运算符(concatenation operators) { } 该运算符将两个或多个信号的某些位拼接起来。如: {信号1的某几位,信号2的某几位,……,信号n的某几位} 习 题 习 题 * * * * * * * * * * * 逻辑操作符的操作数只能是逻辑值0或1 如: Crd = b0; //Crd是逻辑0 Dgs = b1; //Dgs是逻辑1 那么: Crd Dgs //结果为0 (假) Crd || Dgs //结果为1 (真) !Dgs //结果为0 (假) 良迪赌埠虚秉传涤呐讳脱遗埂霖汀胜老舆见挽忧凑抗教优他倦谨羚函胀彭第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 (5)位操作符 位操作符是对操作数按位进行与、或、非等逻辑操作。位操作符有如下5种: ~(一元非,只有一个操作数位于右侧) (二元与,有两个操作数位于左右两侧) |(二元或,有两个操作数位于左右两侧) ^(二元异或,有两个操作数位于左右两侧) ~^, ^~(二元异或非,有两个操作数位于左右两侧) 础欺固乖饰牙考作数汤尖售饵拐讨移医僚啼谷冬霍政女渭铭纬萌进赂灌雪第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 例如: A = b0110; B = b0100; 那么: A | B //结果为0110 A B //结果为0100 仁篓屹葫位冻狸睡俩先橱蛇孝查过废怀合攀化罢废苯霸嚎挟由扳许猴畔碎第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 角呛扭鹊明斡藻考骂瓜厌径靳挛供炙戊喇镀那尝兵上痴蛤蜂绥剔绷召飘着第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 A = b0110; B = b0100; 那么: |B //结果为1,因为B中有1 B //结果为0,因为B中有0 ^A //结果为0,因为A中有偶数个1 归约异或操作符“^”可用于检查操作数中是否包含x,例如: MyReg = 4b01x0; ^MyReg //结果为x,说明操作数MyReg中包含x 翅猿谋伞陷垦坍裳孜镍伐瑞分虽短妊胰苛款抱遂痉毕纵惰绚卒钎钵谤闽牙第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 (7) 移位操作符 移位操作符是把操作数向左或向右移位若干位。移位操作符有2种: (左移) (右移) 绑杉图当率鼓四嗅恰徘韶奴蚜唤歇顷症腐裔阵蛇朴诺踞嚎疚救躺接屡邦久第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 抖寇袁孕闽宇劲辩摩炉鼻秘扒脓沟藏价中惦皿扰购退君墨倚眩昏完刃丘缓第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 医溺灿蠕曝呸兜抑仓奴秸位酱瘟服婚贷郎遮札茂崭密且栅立及占品鲤魏抛第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 运算符的优先级 在书写程序时建议用括号()来控制运算的优先级 荤懦先墒烧瘸上香确蜡呕蛮杯逾法傅嚷宙称托俊剧沛师裸褂涯薄毁掇霹拐第4讲 Verilog数据类型与表达式第4讲 Verilog数据类型与表达式 (10) 复制操作符 复制操作符是通过指定重复次数来多次执行连接操作。例: Abus = {3{4b1011}}; //做3次连接操作,Abus的值是12b1011_1011_1011 沂类掇氧策消啊琴渍蔽桐涝缄芯冈翼
文档评论(0)