计数器
库: | 存储 | |
介绍: | 2.3.0 | |
外观符号: |
行为
计数器保存一个值,其值在输出 Q 上发出。 每次时钟输入(在组件南边缘上用三角形表示)根据其 Trigger 属性触发时,计数器中的值可能会根据元件西边缘上的两个输入进行更新: 上面的输入称为 load 和较低的称为 count ,它们的解释如下。
载入 | 总数 | 触发动作 |
0 or z | 0 | 计数器保持不变。 |
0 or z | 1 or z | 计数器递增。 |
1 | 0 | 计数器加载在 D 输入处找到的值。 |
1 | 1 or z | 计数器递减。 |
计数范围可以使用最大值属性进行配置。 当计数器达到该值时,下一个增量会将计数器回绕到 0; 如果它为 0,则递减将使计数器回到其最大值。
除了输出 Q 之外,该组件还包括一个单位输出 进位 。 每当计数器达到最大值并且 load 和 count 输入指示组件应在下一步中递增时,或者当计数器为 0 并且 load 和 count 输入指示在下一步递减。
clear 输入将计数器的值异步重置为 0(全零); 也就是说,只要 clr 输入为 1,无论时钟输入如何,该值都会固定为 0。
引脚
- 东边,标记为 Q (输出,位宽与数据位属性匹配)
- 输出计数器当前存储的值。
- 东边,下引脚(输出,位宽1)
- 进位:当 load 和 count 表示递增时,每当计数器达到最大值时,该输出为1。 当 load 和 count 指示递减时,每当计数器为 0 时,此输出为 1。在所有其他时间,此输出为 0。
- 西边,顶部引脚(输入,位宽 1)
- 加载:当该值为 1 而 count 输入为 0 时,计数器将在下一个时钟触发时加载在 data 输入处找到的值 - 或者,如果 >count 输入恰好为 1,计数器的值将递减。
- 西边缘,中间引脚标记为 D (输入,与数据位属性匹配的位)
- 数据:当时钟在 load 为 1 且 count 为 0 时触发时,计数器的值将更改为此输入处找到的值。
- 西边,下部引脚标记为 ct (输入,位宽 1)
- 计数:当该值为 1 或未连接时,每当时钟输入被触发时,计数器中的值就会递增 - 或者如果 load 输入碰巧也是 1,则计数器中的值会递减。
- 南边,用三角形表示(输入,位宽1)
- 时钟:在按“触发器”属性指定的方式触发此事件时,计数器会根据 load 和 count 输入进行更新。
- 南边缘,标记为 0(输入,位宽 1)
- 清除:当为 0 或未定义时,该输入无效。 只要它为 1,计数器的值就会异步固定为 0。这是异步发生的,即不考虑当前时钟输入值。 只要该值为 1,其他输入就没有影响。
属性
当选择或添加组件时,Alt-0 到 Alt-9 会更改其
数据位
属性。
- 数据位
- 组件发出的值的位宽度。
- 最大值
- 最大值,此时计数器将设置其进位输出。
- 溢出操作
-
当计数器尝试递增超过最大值或递减超过 0 时的行为。支持四种可能的操作:
- 环绕
- 下一个值为 0(如果递增 - 如果递减则为最大值)
- 保持价值
- 计数器的值保持最大值(如果递减则为 0)
- 继续计数
- 计数器继续递增/递减,保持数据位属性提供的位数
- 加载下一个值
- 下一个值从 D 输入加载。
- 扳机
-
配置如何解释时钟输入。
上升沿
值表示计数器应在时钟从0上升到1的瞬间更新其值。下降沿
值表示应在时钟从0上升到1的瞬间更新其值 时钟从 1 落到 0。 - 标签
- 与组件关联的标签内的文本。
- 标签字体
- 用于呈现标签的字体。
Poke 工具行为
单击计数器会将键盘焦点移至组件(由红色矩形表示),并且键入十六进制数字将更改存储在计数器中的值。
文本工具行为
允许编辑与组件关联的标签。
返回 电路元件库参考手册