这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
基础逻辑门实验_逻辑门使用 [2020/07/02 15:37] 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 | 初次建立 | | ||
| 行 48: | 行 47: | ||
| 表5-2 逻辑运算符 | 表5-2 逻辑运算符 | ||
| - | |操作符 |执行的操作| 操作数个数| 表达式| | + | | 操作符 | 执行的操作 | 操作数个数 | 表达式 | |
| - | | ! |逻辑求反| 1 | !a| | + | | ! | 逻辑求反 | 1 | !a | |
| - | | && |逻辑与| 2| a && b| | + | | && | 逻辑与 | 2 | 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| | ||
| 行 70: | 行 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。 | ||
| 行 88: | 行 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、拼接运算符 === | ||
| 行 113: | 行 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、赋值运算符 === | ||
| 行 121: | 行 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都随之变化。 | ||