我遇到了以下问题,无法确定答案。你有任何建议,任何帮助将不胜感激。
Fibonacci序列F(n)由F(1)= 1,F(2)= 1和Fn = F(n-2)+ F(n-1)定义,对于所有整数n> = 3什么是所需的D触发器的最小数量(以及组合逻辑)来设计一个输出前七个斐波那契数字(即F1到F7)然后环绕的计数器电路?
(A)3(B)4(C)5(D)6(E)7
提前致谢
答案 0 :(得分:1)
获得七种不同输出所需的最小触发器数量仅为3。但是它涉及许多组合电路,用于将七个唯一输出解码为所需的斐波那契序列。其中一个解码电路使用四个4:1 mux,其中每个mux输出代表斐波那契序列的一位。
但是使用4个触发器我们可以得到一个同步计数器,它只通过这些状态1,1,2,3,5,8,13并且四处乱转。我认为这个过程涉及的不那么重要。应该注意区分1次出现两次,这可以通过使用额外的nand门来完成。
答案 1 :(得分:0)
首先,您需要能够计数到7.这是触发器进来的地方,因为它们具有您需要能够记住计数的记忆。一个简单的方法是构造一个环形缓冲区,但由于你被允许使用无限组合逻辑,你可以通过构造一个二进制计数器来改进它。
现在你有一个提供7个独特输出的电路,你可以用更多的组合逻辑来扩充它,将这些输出解码为你选择的7个值。
答案 2 :(得分:0)
您可以使用线性反馈移位寄存器:
-- .--------/---------------------.
-- | 4 +----+ |
-- | .-----------| __ | |
-- | | | \ |--*-/-- F(n)
-- | +--+ | +--+ | /_ | 4
-- '--| |--/-*--| |--/--| |
-- |> | 4 |> | 3 +----+
-- +--+ +--+
-- F(n-1) F(n-2)
你需要总共7次失败(4 + 3)。
因为你的范围很小,你要添加的最大数字是8和5来得到F(7)= 13
现实世界的设计也会注册F(n)输出(出于时间原因)。
没有必要计数到7本身 - 这个系统可以自由运行,并且增加的舞台宽度可以高达你喜欢的数量。如果你想要一个固定长度的序列,它需要一个触发值来重置自己。