我的生活随笔

VerilogHDL运算符使用技巧及常见问题解析

  在Verilog HDL语言中运算符所带的操作数是不同的,按其所带操作数的个数运算符可分为三种:

  1) 单目运算符(unary operator):可以带一个操作数,操作数放在运算符的右边。

  2) 二目运算符(binary operator):可以带二个操作数,操作数放在运算符的两边。

  3) 三目运算符(ternary operator):可以带三个操作,这三个操作数用三目运算符分隔开。

  在硬件电路中信号有四种状态值1,0,x,z.在电路中信号进行与或非时,反映在Verilog HDL中则是相应的操作数的位运算。

  位运算符中除了~是单目运算符以外,均为二目运算符,即要求运算符两侧各有一个操作数.位运算符中的二目运算符要求对两个操作数的相应位进行运算操作。

  两个长度不同的数据进行位运算时,系统会自动的将两者按右端对齐.位数少的操作数会在相应的高位用0填满,以使两个操作数按位进行操作.

  在进行关系运算时,如果声明的关系是假的(flase),则返回值是0,如果声明的关系是真的(true),则返回值是1,如果某个操作数的值不定,则关系是模糊的,返回值是不定值。

  当表达式size-(1<a)进行运算时,关系表达式先被运算,然后返回结果值0或1被size减去。

  而&34;和&34;运算符则不同,它在对操作数进行比较时对某些位的不定值x和高阻值z也进行比较,两个操作数必需完全一致,其结果才是1,否则为0。

  而缩减运算则不同,缩减运算是对单个操作数进行或与非递推运算,最后的运算结果是一位的二进制数。

  缩减运算的具体运算过程是这样的:第一步先将操作数的第一位与第二位进行或与非运算,第二步将运算结果与第三位进行或与非运算,依次类推,直至最后一位。

赞(0)
未经允许不得转载:我的生活随笔 » VerilogHDL运算符使用技巧及常见问题解析

我的生活随笔我的生活随笔