Altifigence Academy

13 / 37 · 测验

设计检查:选择电路的等价性与观察时刻

区分仅用真值表即可完成的验证,与必须观察时钟的验证。

阅读条件并画出时间顺序

组合输出为 y=s‾a+sby=\overline s a+sb,sampled_y 在上升沿上升沿 时钟从 0 变为 1 的瞬间。它不同于表示整个 CLK=1 区间的电平。了解更多存储 y。假设先在 a=1,b=0,s=0a=1,b=0,s=0 时存储了一次,随后在时钟边沿之间将 s 改为 1。

以下问题询问输入已稳定且组合逻辑延迟已过、但下一个上升沿尚未到来时的值。功能表达式等价与寄存器寄存器 存储多位状态的电路。本课程中的同步寄存器在时钟边沿存储指定输入。了解更多观察时刻,是两个独立的验证项目。

下图给出题设条件的观察顺序,其中 a=1、b=0。在组合输出与存储输出不同的区间,说明哪个信号表示当前输入,哪个表示过去的捕获值。

边沿之间的变化与存储值
查看波形数据
波形数据:每个字符表示一个区间,点表示保持前一状态,p 表示一个时钟周期。
信号波形总线值
event234captured → sel changes → next edge
sel01.
y10.
sampled_y1.0

进一步设计问题

  1. 用八种组合证明改为 y=(a & ~s) | (b & s) 的电路与单比特 MUX多路选择器 根据选择信号,把多个输入之一连接到输出的组合电路。必须规定选择位与输入编号的对应关系。了解更多相同。
  2. 删除 sampled_y 后,功能表达式虽不变,但哪种时间特性消失了?
  3. 说明当 s 的转换与上升沿过近时,为什么仅凭理想 RTL 值无法保证实际硬件行为。

自己试试

四位 MUX 若只检查 a=b 的向量,能否发现选择反向错误?

阅读解释

不能。两个输入相同,选择哪一个都得到相同结果。例如应令 a=0101、b=1010,同时检查 s=0 和 s=1,才能区分选择极性与各位数据传递。

在上述条件下,下一个上升沿之前的 (y, sampled_y) 是什么?

选择答案

你的选择适用于此浏览器,可随时在页脚更改。