栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Verilog HDL

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Verilog HDL

文章目录
    • 运算符汇总
    • 算数运算符
    • 位运算符
    • 逻辑运算符
    • 关系运算符
    • 相等运算符
    • 逻辑移位运算符
    • 算数位移运算符
    • 连接与复制操作
    • 规约/缩减运算符
    • 条件运算符
    • 注意事项

运算符汇总

算数运算符

算数运算符与C语言没什么区别。


与C语言 不同的是,不是任何数都能相加的。比如12+7=19。12是一个4bit的数,7是一个3bit的数,得到的结果是一个4bit的数,然而19至少是一个5bit的数,所以多的部分会被抛弃(低位保留)。

位运算符

区别逻辑值和一般数值,也同样区分逻辑运算符和位运算符。取逻辑结果的话,只有1bit;取位结果的话,会保持位的数量。

注意区分位与&和位或|。

异或非就是同或。

其中d的话与0或1进行位操作的话,结果可能存在x。

逻辑运算符


如果1与上x,不知道真假,所以结果是x。

关系运算符


主要区别是x参与的关系运算符。结果不确定的话就是x。

关注最后一个案例,0已经是最小的了,但是仿真器依旧会输出x,这是特殊对待的。

区分2-5和a-b,寄存器变量对负数的操作是取补码,最后display会是一个正数(当作无符号数处理),但直接用数字输出的话,就是一个普通的负数。

相等运算符


全等与非全等把x和z单独对待,看作一个数值。

关注d,如果x前面没有数的话,会是xx10。

逻辑移位运算符


与C语言类似,不过有承载位数的区别。是一个线性移位,不是环形移位。就是说,多出来的空位用0填充。

第一行第三列,1缺省显示的话是一个32位十进制。

算数位移运算符

连接与复制操作


本质上将各位拆散连接在一块。

除了连接,还可以用于复制,通过两个花括号实现。

注意:要复制的个数是一个常数,在编译的时候就实现了。

这里c是一个从5到0由高位到低位的数,所以101001的5对应1,4对应0,以此类推。
如果reg[0:5]c,那么0对应1,以此类推。
这里可以通过c[n:m]来进行取位操作。

规约/缩减运算符


区别于位运算符,这是一个单目运算符,最后肯定会缩减为1bit的数。而位运算符是一个双目运算符,结果也会保持位数不变。

条件运算符


与C语言大致一样,但如果第一个操作数是x,那么结果是不定的。

如果能取z的操作数的位置只能是IO口。第一个操作数是x或z的情况不多。

注意事项

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511590.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号