Минимальное количество D-триггеров - PullRequest
0 голосов
/ 10 ноября 2011

Я столкнулся со следующим вопросом и не уверен в ответе.Есть ли у вас какие-либо предложения, любая помощь будет высоко ценится.

Последовательность Фибоначчи 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

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 28 июня 2013

Минимальное количество необходимых триггеров будет всего 3 для получения семи различных выходных данных. Но тогда он включает в себя множество комбинаторных схем для декодирования семи уникальных выходов в требуемую последовательность Фибоначчи. Одна из этих схем декодирования использует четыре 4: 1 мультиплексора, где каждый мультипоток представляет один бит последовательности Фибоначчи.

Но используя 4 триггера, мы можем получить синхронный счетчик, который проходит только через эти состояния 1,1,2,3,5,8,13 и обтекание. Я думаю, что этот процесс включает в себя немного меньше схемы. Здесь следует позаботиться только о том, чтобы дифференцировать вхождение в 1 дважды, что можно сделать с помощью дополнительных ворот nand.

0 голосов
/ 05 декабря 2011

Вы можете использовать регистр сдвига с линейной обратной связью:

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

Вам нужно всего 7 флопов (4 + 3).

Поскольку ваш диапазон мал, самые большие числа, которые вы добавите, это 8 и 5, чтобы получить F (7) = 13

Реальный дизайн также регистрирует выход F (n) (по причинам времени).

Нет необходимости считать до 7 - эта система может работать вхолостую и с увеличенной шириной ступени может считаться настолько высокой, насколько вы захотите. Для сброса самого себя потребуется триггерное значение, если вам нужна последовательность фиксированной длины.

0 голосов
/ 10 ноября 2011

Во-первых, вы должны быть в состоянии сосчитать до 7. Именно здесь приходят триггеры, потому что у них есть память, которую вы должны иметь, чтобы иметь возможность запомнить счет. Простой подход заключается в создании кольцевого буфера, но, поскольку вам разрешена бесконечная комбинаторная логика, вы можете улучшить это, создав двоичный счетчик.

Теперь, когда у вас есть схема, которая обеспечивает 7 уникальных выходов, вы можете затем дополнить ее дополнительной комбинаторной логикой для декодирования этих выходов в 7 значений по вашему выбору.

...