用户工具

站点工具


基础逻辑门实验_逻辑门使用

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
基础逻辑门实验_逻辑门使用 [2020/07/02 15:23]
zgf [实验五:逻辑门实验——基本运算符]
基础逻辑门实验_逻辑门使用 [2022/03/22 10:28] (当前版本)
sean
行 4: 行 4:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-07-01 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-07-01 ​ |  gingko ​ |  初次建立 ​ | 
行 29: 行 28:
  
   * 在Verilog HDL中的算术运算符有多种,其中最常用的有4种,如表5-1所示。   * 在Verilog HDL中的算术运算符有多种,其中最常用的有4种,如表5-1所示。
 +
 表5-1 算术运算符 表5-1 算术运算符
  
行 36: 行 36:
 |* |乘法运算 |2 |rega * 10| |* |乘法运算 |2 |rega * 10|
 |/​ |除法运算 |2 |23 / 10,运行结果为2。| |/​ |除法运算 |2 |23 / 10,运行结果为2。|
 +
   * 在基本算术运算符应用过程中需要注意:   * 在基本算术运算符应用过程中需要注意:
     - 在进行整数除法运算时,省略所有小数部分,只保留整数部分;     - 在进行整数除法运算时,省略所有小数部分,只保留整数部分;
     - 在进行算术运算操作时,如果操作符的某个操作数出现x或z时,则整个操作的运算结果为x。     - 在进行算术运算操作时,如果操作符的某个操作数出现x或z时,则整个操作的运算结果为x。
 +
 +
 === 2、逻辑运算符 === === 2、逻辑运算符 ===
  
行 44: 行 47:
 表5-2 逻辑运算符 表5-2 逻辑运算符
  
-|操作符 |执行的操作| 操作数个数| 表达式| + 操作符 ​  执行的操作 ​  操作数个数 ​    表达式 ​                                                                             ​ 
-|! |逻辑求反| 1| !a| +     逻辑求反 ​ | 1  | !a ​ 
-|&&​ |逻辑与 |2 |a && b| + &&     逻辑与 ​    a && b                  
-  ​|| |逻辑或| 2| a || b|+ '' ​||''  ​ 逻辑或 ​ | 2   ''​a || b''  ​|
  
-|表5-3 逻辑运算真值表+表5-3 逻辑运算真值表
  
-|a |b |!a |!b |a && b |a || b|+|a |b |!a |!b |a && b |''​a || b''​|
 |1 |1 |0 |0 |1 |1| |1 |1 |0 |0 |1 |1|
 |1 |0 |0 |1 |0 |1| |1 |0 |0 |1 |0 |1|
行 60: 行 63:
  
   * 关系运算符主要表征两者之间的关系,常用于两个操作数的比较,常用的有四种符号类型,如表5-4所示。   * 关系运算符主要表征两者之间的关系,常用于两个操作数的比较,常用的有四种符号类型,如表5-4所示。
 +
 表5-4 关系运算符 表5-4 关系运算符
  
行 65: 行 69:
 |<​ |小于 |2 |a < b| |<​ |小于 |2 |a < b|
 |>​ |大于 |2 |a > b| |>​ |大于 |2 |a > b|
-|< = |小于等于| 2 |a <= b| +|< = |小于等于|2 |a < = b| 
-|>​= |大于等于| 2 |a >= b|+|> = |大于等于|2 |a > = b|
  
   * 在进行关系运算时,如果表达式的两个操作数之间的关系时正确的,则运行结果为1(真),否则,运行结果为0(假);如果表达式中的某个操作数为不定值(x和z),则运行结果为x。   * 在进行关系运算时,如果表达式的两个操作数之间的关系时正确的,则运行结果为1(真),否则,运行结果为0(假);如果表达式中的某个操作数为不定值(x和z),则运行结果为x。
行 83: 行 87:
 |操作符 |执行的操作 |操作数个数 |表达式| |操作符 |执行的操作 |操作数个数 |表达式|
 |~ |按位求反 |1 |~a| |~ |按位求反 |1 |~a|
-|&​ |按位与 2 |a & b| +|&​ |按位与         |2 |a & b| 
-| | |按位或 2 |a | b| +|''​|''​ |按位或 ​  |2 |''​a|b'' ​
-|^ |按位异或 |2 |a ^ b| +|''​^''​ |按位异或 |2 |''​a^b''​
-|~^,​^~ |按位同或 |2 |a ~^ b,a ^~ b|+|''​~^,^~''​|按位同或 |2 |''​a~^b,a^~b''​| 
   * 在按位运算中,若两个操作数的位宽不一致,则会自动将两个操作数右对齐,高位补0后进行运算。   * 在按位运算中,若两个操作数的位宽不一致,则会自动将两个操作数右对齐,高位补0后进行运算。
 === 6、拼接运算符 === === 6、拼接运算符 ===
行 108: 行 113:
 |=== |等于 |2 |a === b| |=== |等于 |2 |a === b|
 |!== |不等于 |2 |a !=== b| |!== |不等于 |2 |a !=== b|
 +
   * 在进行等式运算中,“==”和“!=”又被称作是逻辑等式运算符,由于等式运算中的两个操作数有可能是x和z,因此其运算结果可能是不定值x。但是,“===”和“!==”对比时要求两个操作数必须完全一致,因此其运行结果只有0和1两种。   * 在进行等式运算中,“==”和“!=”又被称作是逻辑等式运算符,由于等式运算中的两个操作数有可能是x和z,因此其运算结果可能是不定值x。但是,“===”和“!==”对比时要求两个操作数必须完全一致,因此其运行结果只有0和1两种。
 === 9、赋值运算符 === === 9、赋值运算符 ===
行 116: 行 122:
 |= |连续赋值 |不定 |a = b| |= |连续赋值 |不定 |a = b|
 |= |过程赋值 |不定 |a = b| |= |过程赋值 |不定 |a = b|
-|<​= |过程赋值 |不定 |a <= b|+|< = |过程赋值 |不定 |a < = b| 
   * 通常,连续赋值运算用于“assign”语句中,用于对wire型变量进行赋值,“=”两侧的操作数时随时变化的,例如:   * 通常,连续赋值运算用于“assign”语句中,用于对wire型变量进行赋值,“=”两侧的操作数时随时变化的,例如:
 **assign a = b**,当b信号发生变化时,a都随之变化。 **assign a = b**,当b信号发生变化时,a都随之变化。
基础逻辑门实验_逻辑门使用.1593674581.txt.gz · 最后更改: 2020/07/02 15:23 由 zgf