2011-11-09 25 views
0

我遇到以下问题,无法确定答案。你有什么建议,任何帮助将不胜感激。对于所有整数n> = 1,F(2)= 1和Fn = F(n-2)+ F(n-1)定义斐波那契数列F(n) 3.设计一个计数器电路需要的最少数量的D触发器(以及组合逻辑)来设计一个输出前七个斐波纳契数(即F1到F7)的计数器电路,然后环绕它?最小数量的D触发器

(A)3(B)4(C)5(d)6(E)7

预先感谢

回答

0

首先,你需要能够计数到7。这是其中人字拖进来,因为他们有记忆,你需要能够记住计数。一个简单的方法是构建一个环形缓冲区,但是由于允许无限的组合逻辑,您可以通过构建一个二进制计数器来改善这一点。

既然您有一个提供7个独特输出的电路,那么您可以通过进一步的组合逻辑对这些输出解码为您所选择的7个值。

+0

我明白了,我没有想过使用组合逻辑单元。比,我真的需要7个拖鞋吗?我不能仅仅将它们表示为000,001,...,110。那会减少到3个也许? – serkank

+0

@serkank的确,我相信你应该可以配置3个人字拖数到7。 – Neil

0

可以使用一个线性反馈移位寄存器:

-- .--------/---------------------. 
-- |  4    +----+ | 
-- |   .-----------| __ | | 
-- |   |   | \ |--*-/-- F(n) 
-- | +--+ | +--+  | /_ | 4 
-- '--| |--/-*--| |--/--| | 
-- |> | 4 |> | 3 +----+ 
-- +--+  +--+ 
-- F(n-1)  F(n-2) 

你在总(4 + 3)需要7个触发器。

因为你的范围很小,你会加的最大的号码是8和5得到F(7)= 13

一个真实世界的设计将注册F(n)的输出太(定时原因)。

有没有必要数到7本身 - 这个系统可以自由运行,并且随着舞台宽度的增加,您可以随心所欲地计数。如果你想要一个固定长度的序列,它需要一个触发值来重置自身。

1

获得7个不同输出所需的最小触发器数量只有3个。但是,它涉及很多组合电路,用于将七个独特输出解码为所需的斐波那契序列。其中一个解码电路使用四个4:1多路复用器,其中每个多路复用器输出表示斐波那契序列的一位。

但是,使用4个触发器,我们可以得到一个同步计数器,它只经历这些状态1,1,2,3,5,8,13并且四处乱转。我认为这个过程涉及到少一点迂回。只需要注意区分1次的出现次数,这可以通过使用额外的nand门来完成。