13 / 37 · 测验
设计检查:选择电路的等价性与观察时刻
区分仅用真值表即可完成的验证,与必须观察时钟的验证。
课时内容可免费阅读,选课后可保存学习进度。
阅读条件并画出时间顺序
组合输出为 ,sampled_y 在上升沿上升沿 时钟从 0 变为 1 的瞬间。它不同于表示整个 CLK=1 区间的电平。了解更多存储 y。假设先在 时存储了一次,随后在时钟边沿之间将 s 改为 1。
以下问题询问输入已稳定且组合逻辑延迟已过、但下一个上升沿尚未到来时的值。功能表达式等价与寄存器寄存器 存储多位状态的电路。本课程中的同步寄存器在时钟边沿存储指定输入。了解更多观察时刻,是两个独立的验证项目。
下图给出题设条件的观察顺序,其中 a=1、b=0。在组合输出与存储输出不同的区间,说明哪个信号表示当前输入,哪个表示过去的捕获值。
查看波形数据
| 信号 | 波形 | 总线值 |
|---|---|---|
| event | 234 | captured → sel changes → next edge |
| sel | 01. | |
| y | 10. | |
| sampled_y | 1.0 |
进一步设计问题
- 用八种组合证明改为
y=(a & ~s) | (b & s)的电路与单比特 MUX多路选择器 根据选择信号,把多个输入之一连接到输出的组合电路。必须规定选择位与输入编号的对应关系。了解更多相同。 - 删除
sampled_y后,功能表达式虽不变,但哪种时间特性消失了? - 说明当 s 的转换与上升沿过近时,为什么仅凭理想 RTL 值无法保证实际硬件行为。
自己试试
四位 MUX 若只检查 a=b 的向量,能否发现选择反向错误?
阅读解释
不能。两个输入相同,选择哪一个都得到相同结果。例如应令 a=0101、b=1010,同时检查 s=0 和 s=1,才能区分选择极性与各位数据传递。
在上述条件下,下一个上升沿之前的 (y, sampled_y) 是什么?
s=1 时,y=b=0。上一边沿 s=0,因此 sampled_y 保存的是 a=1。直到下一个上升沿,sampled_y 才变为 0。这里假定输入满足 setup、hold 条件。
✓ 测验已完成