【发布时间】:2018-02-21 17:17:28
【问题描述】:
我正在尝试设计以下内容:
- 具有 24 位输入寄存器的八进制计算器的数据路径 reg 和一个 24 位累加器 acc。
- 内容 两个寄存器都显示为八位八进制 (radix-8) 数字。两者都在复位时被清除。
- 计算器有 C(清除)、数字 0-7 以及功能 +、- 和 x 的按钮。按 C 一次清除 注册
- 按 C a 第二次没有其他干预键清除 acc。按数字移入 reg 向左三位和 将按下的数字放入低三位。
- 按一个函数在两个寄存器上执行该函数 并将结果放入 acc。从此计算器的数据路径绘制框图
到目前为止我所拥有的是:
- reg_in 和 acc 触发器,具有相同的时钟和复位
- 一个 ALU(执行函数操作)从 in_reg 和 acc 接收输入并输出回 in_reg,由 ALUselect 信号驱动
- 一个移位寄存器,将输入位移动 3 位并将它们放回 reg_in
但是,我坚持的部分是如何实现“按 C”部分。我可以做出什么样的设计选择,如果 C 被按下一次,我可以清除 reg_in,如果 C 被再次按下,我可以清除 acc?我想找到一种比使用计数器更简单的方法。
感谢任何帮助!
【问题讨论】: