位查找器
| 库: | 运算器 |
| 引入版本: | 2.6.1 |
| 外观: |
|
行为
该组件接收一个多位输入,并确定某一位的索引位置;索引从最低位开始计数,最低位的索引为 0。 它具体要输出哪一位的索引由“类型”属性决定。以下表格以 8 位输入 11010100 为例说明。
类型 对 11010100 的输出 最低位的 1 2 最高位的 1 7 最低位的 0 0 最高位的 0 5
以“最低位的 1”为例:从最低位(索引 0)开始向高位查找,最先遇到的 1 出现在索引 2(索引 0 和 1 均为 0),因此输出 2。 而“最高位的 1”则输出 7,因为最靠高位的 1 位于索引 7(同样以最低位为索引 0)。
南侧输出用于指示是否找到了目标位。 在上面输入 11010100 的各个例子中,目标位都能找到,因此南侧输出均为 1。 但若输入为 00000000,且组件要查找“最低位的 1”,则南侧输出为 0,东侧输出也会为 0。
若在查找过程中遇到既非 0 也非 1 的值(该位可能是悬空位或错误位),则两个输出都会全部变为错误位。 注意:只有在“找到目标位之前”先遇到问题位,才会出现这种情况。 例如输入为 x1010100:若查找“最低位的 1”,则在遇到 x 之前就已找到目标位,因此输出仍为 2; 但若查找“最高位的 1”或“最高位的 0”,则查找路径会先遇到更高位上的 x,从而输出为错误值。
引脚
- 西侧(输入,位宽与“数据位宽”一致)
- 用于查找目标位的多位输入。
- 东侧(输出,位宽按下述规则确定)
- 目标位的索引(最低位索引为 0)。 输出位宽取能表示最大可能索引所需的最小位数;最大索引为“数据位宽”减 1。
- 南侧(输出,位宽 1)
- 若找到目标位,则为 1; 若所有输入位均为目标值的相反值(因此找不到目标位),则为 0; 若在找到目标位之前遇到非 0、非 1 的值,则为错误值。
属性
当组件被选中或正在放置时,Alt-0 到 Alt-9 可修改其 数据位宽 属性。
- 数据位宽
- 输入端的位宽。
- 类型
- 指定要查找的目标位:最低位的 0、最高位的 0、最低位的 1 或最高位的 1。
手形工具行为
无
文本工具行为
无
返回 库参考手册