input
clk ( clock ) :
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
required output :
F :
0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ...
如何使用组合和时序电路(逻辑门和触发器)获得该输出?你能推荐任何主题或网页吗?
input
clk ( clock ) :
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
required output :
F :
0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ...
如何使用组合和时序电路(逻辑门和触发器)获得该输出?你能推荐任何主题或网页吗?
你看到输出中的模式了吗?差不多了0 0 1 1 0 0 1 1 0 0 1 1 0 0 ...
。它看起来像什么?
提示:计数时钟,将计数表示为二进制数...
现在您可以从时钟中获得上述输出,看看您是否无法获得另一个位,您可以使用它来取消先前的输出以获得所需的输出。
提示:进一步查看上述提示...
好吧,序列在每 8 位之后重复:0 0 1 1 0 0 0 0
. 现在log_2(8)=3
,这意味着您需要具有输出功能的 3 元素计数器:
0 0 0 = 0
0 0 1 = 0
0 1 0 = 1
0 1 1 = 1
1 0 0 = 0
1 0 1 = 0
1 1 0 = 0
1 1 1 = 0
现在我个人使用:
fun = BooleanMinimize[
BooleanFunction[{{0, 0, 0} -> 0, {0, 0, 1} -> 0, {0, 1, 0} ->
1, {0, 1, 1} -> 1, {1, 0, 0} -> 0, {1, 0, 1} -> 0, {1, 1, 0} ->
0, {1, 1, 1} -> 0}][c, b, a]]
输出为:b && ! c
,但您可以使用卡诺图。
现在您可以在 wolframalpha.com 上搜索:logic circuit b && ! c
.
所以现在你需要制作 3 个 JK 触发器来制作 3 个元素计数器,带有输出{a, b, c}
,你只需要b
和c
输出。您可以查看您的讲义,了解如何将它们联系起来。
使用 JK 触发器和一些二进制逻辑的简单 4 位 2 路计数器。
and
运算符路径。or
元素用于组合它们。inverse
用于确定以何种方式计数。