Digital logic 如何实现在数字逻辑设计中记住先前值的硬件?
我正在尝试设计以下内容:Digital logic 如何实现在数字逻辑设计中记住先前值的硬件?,digital-logic,flip-flop,Digital Logic,Flip Flop,我正在尝试设计以下内容: 八进制计算器的数据通路,其中有一个24位的输入寄存器 reg和24位累加器acc 内容 两个寄存器的数字均显示为八位八进制(基数-8)数字。复位时两个都被清除 计算器有 C(清除)、数字0-7以及函数+、-、和x的按钮。按C键一次可清除中的内容 注册 按C a 第二次在没有其他干预键的情况下清除acc。按一个数字将移位 向左调整三位和 将按下的数字放入低位三位 按下一个函数在两个寄存器上执行该函数 并将结果放入acc。从该计算器的数据路径绘制方框图 到目前为止,我得
- 八进制计算器的数据通路,其中有一个24位的输入寄存器 reg和24位累加器acc
- 内容 两个寄存器的数字均显示为八位八进制(基数-8)数字。复位时两个都被清除李>
- 计算器有 C(清除)、数字0-7以及函数+、-、和x的按钮。按C键一次可清除中的内容 注册李>
- 按C a 第二次在没有其他干预键的情况下清除acc。按一个数字将移位 向左调整三位和 将按下的数字放入低位三位李>
- 按下一个函数在两个寄存器上执行该函数 并将结果放入acc。从该计算器的数据路径绘制方框图
- reg_in和acc触发器,具有相同的时钟和复位
- 一种ALU(执行功能操作),由ALUselect信号驱动,从in_reg和acc接收输入并输出回in_reg
- 一种移位寄存器,将输入位移位3,并将其放回寄存器中
感谢您的帮助 额外的一位寄存器应该可以解决这个问题。让我们称之为
last\u按钮
- 如果按下C键且上次按钮之前为
,则将0
last_按钮设置为
1
- 如果按下另一个按钮,则将
last_按钮设置为
0
- 如果按下C键时,
为last_按钮
,则清除0
reg_in
- 如果按下C键时,
为last_按钮
,则清除1
acc
- 如果清除了
,也可以清除acc
至last_按钮
0
last_按钮
是状态信号。C按钮始终切换状态,其他按钮将状态设置为零。机器的输出(清除reg_in
/acc
)取决于输入(按钮)和当前状态