上期答案
[021] 什么是竞争?什么时候会出现?如何避免?
当输出取决于不同信号的顺序或者时序时,被称为竞争。竞争可以分为两种
- 实际的硬件中的竞争
- 仿真行为中的竞争
「实际硬件中的竞争」:以SR锁存器为例,当SR都是1的时候,输出为1,此时如果SR同时变成0,那么Q和Q'就会进入竞争的情况。可以通过添加合适的逻辑避免。
「仿真行为中的竞争」:例如下面的代码
代码语言:javascript复制always @(posedge clk or posedge reset)
if (reset) X1 = 0; // reset
else X1 = X2;
always @(posedge clk or posedge reset)
if (reset) X2 = 1; // reset
else X2 = X1;
由于使用了阻塞赋值,便会发生竞争的情况,通过改为非阻塞赋值可以解决
[022] 用2:1mux实现D触发器
你答对了吗
本期题目
[023] 用D触发器实现T触发器
[024] 用JK触发器实现D触发器
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案