Що таке фліп-флоп?


25

Здається, існує ряд різних визначень тригерів та засувок, деякі з яких суперечать один одному.

Текстова книга з інформатики курсу, який я викладаю, мабуть, є найбільш заплутаною (адже я мало вірю в книгу, тому що це просто неправильно в кількох місцях).

Мені подобається робота засувок (SR, закрита SR, закрита D) та різниця між пристроями, що спрацьовують за рівнем, і крайовими спрацьовуючими пристроями, принаймні з точки зору логічних воріт та діаграм часу. Однак я все ще шукаю стислого визначення фліп-флопу та засувки.

Це те, що я вважаю, поки що:

"Фліп-флоп - це бібі-стабільний пристрій, що спрацьовує край, який може зберігати 1 біт".

"Засувка - це бі-стабільний пристрій, який спрацьовує за рівнем, який може зберігати 1 біт."

Я переглянув попередні публікації на цьому веб-сайті про це, і настільки ж освітянським, як і вони, я все ще шукаю щось остаточне.

Моє поточне розуміння, яке я хочу перевірити, на діаграмах нижче ...

Побічно - це те, що я розумію, це дві реалізації засувки D, що викликається рівнем.

Внизу знаходиться детектор позитивного краю в той короткий момент, коли ворота NOT ще не реагував на зміну входу від низького до високого, а саме піднімається край (червоний - 1, синій - 0).

В останній схемі детектор ребер був встановлений на датній засувці D, і саме це робить його переворотом.

введіть тут опис зображення

Чи є остання діаграма справді фліп-флопом, чи це все ще лише засувка?

І навіщо нам потрібна версія головного раба, що цей пристрій настільки простіший?


1
@DanielTork чому б не зробити так, щоб відповісти?
Льодовий

10
В Австралії та Новій Зеландії вони є формою взуття з відкритим верхом, яке часто носять на пляж або в прекрасну погоду. ;)
KyranF

3
У США теж. Але ми їх називали ремінцями, але це стосується чогось іншого ;-)
Призупинено до подальшого повідомлення.

1
Тепер я хочу побачити схему, намальовану босоніжками, відомими як шльопанці ...
keshlam

1
@immibis вийди сюди, гнилий ківі!
KyranF

Відповіді:


11

Я сьогодні багато думав над цим визначенням.

Як зазначали інші, точні значення будуть різними. Крім цього, ви, мабуть, побачите, що більше людей помиляються навіть на цьому веб-сайті, ніж правильно. Мені все одно, що говорить вікіпедія!

Але загалом:

  • Фліп-флоп змінить стан виходу не більше одного разу за тактовий цикл.
  • Засувка змінить стан стільки разів, скільки переходи даних під час вікна прозорості.

Крім того,

  • Фліп-флоп дуже безпечний. Майже нерозумний. З цієї причини в інструментах синтезу зазвичай використовують шльопанці. Але вони повільніші за засувку (і використовують більше енергії).
  • Засувки важче правильно використовувати. Але вони швидші, ніж шльопанці (і менше). Отже, дизайнери на замовлення часто "розповсюджують фліп-флоп" по цифровому блоку (засувка на будь-якому кінці з протилежною фазою), щоб видавити кілька зайвих пікосекунд із поганої дуги синхронізації. Це показано внизу публікації.

Фліп-флоп, як правило, характеризується топологією майстра-раба. Це два сполучені (між ними може бути логіка), протилежні засувки фази назад до спини (іноді в галузі називають L1 / L2).

Це означає, що фліп-флоп по суті складається з двох елементів пам'яті: одного для утримування під час низького циклу та одного для утримування під час високого циклу.

Засувка - це лише один елемент пам'яті (SR засувка, D засувка, засувка JK). Тільки тому, що ви вводите годинник для передачі даних в елемент пам’яті, це не робить його, як на мою думку, (хоча це може змусити його діяти як один: тобто спрацьовує більше піднімається край). Це просто робить його прозорим протягом певного часу.

Нижче показано справжній фліп-флоп, створений з двох засувок SR (зауважте, протилежні фази).

справжній d ff

І ще одна справжня триггер (це найпоширеніший стиль у VLSI) з двох D-засувок (стиль воріт передачі). Знову помічайте протилежні фазові годинники :

справжній стиль фліп-флоп

Якщо ви виставите годинник на засувку досить швидко, він починає нагадувати поведінку відкидання (імпульсна засувка). Це часто зустрічається у високошвидкісному дизайні шляхів передачі даних через меншу затримку від D-> Out та Clk-> Out, крім кращого часу налаштування (час утримування також повинно збільшуватися, невелика ціна оплати) завдяки прозорості протягом тривалості пульс. Це робить це відкидним флопом? Не дуже, але це впевнено виглядає як один!

Однак гарантувати роботу набагато важче. Ви повинні перевірити в усіх куточках процесу (швидка nmos, повільна pmos, висока провідна кришка, низький провід r; як приклад однієї) та всіх напруг (низька напруга спричиняє проблеми), чи імпульс від вашого крайового детектора залишається достатньо широким, щоб фактично відкритися засувку і дозволяють вводити дані в.

Що стосується вашого конкретного запитання щодо того, чому він вважається засувкою імпульсу замість фліп-флопу, це тому, що у вас справді є лише чутливий до одного рівня елемент зберігання бітів. Незважаючи на те, що імпульс вузький, він не утворює системи замикання і запруди, яка створює фліп-флоп.

Ось стаття, що описує дуже схожу імпульсну засувку на ваш запит. Доречна цитата: "Якщо сигнал хвилі імпульсного годинника спрацьовує засувкою, засувка синхронізується з тактовою частотою аналогічно тригеру, який спрацьовує на краю, тому що піднімаються і падаючі краї імпульсного годинника майже однакові за часом."

EDIT Для ясності я включив графічний дизайн засувки. Між ними є засувка L1 і засувка L2 з логікою. Це техніка, яка може зменшити затримки, оскільки засувка має меншу затримку, ніж фліп-флоп. Фліп-флоп "розкидається на частини", а логіка ставиться посередині. Тепер ви економите пару затримок воріт (порівняно з фліп-флопом на будь-якому кінці)!

Засувка на основі дизайну


"Характеризується топологією головного раба" - це звучить скоріше як деталізація реалізації, а не визначальна поведінкова характеристика. Поведінково, триггер (за вашим визначенням) - це однобітна пам'ять, яка, як правило, спрацьовує край. На практиці магія реалізації, необхідна для наближення запуску краю, вимагає другого елемента зберігання!
Олівер Чарльворт

1
@OliverCharlesworth: Ну, це деталь реалізації. А також фізичні, поведінкові, структурні та топологічні деталі. Ви не можете просто назвати засувку фліп-флопом, тому що це здається одним. Можливо, ви зможете відійти від цього, але щоб використовувати їх в повній мірі, вам потрібно знати різницю. Якщо ви розсунете фліп-флоп, у вас є дві окремі засувки протилежної фази. Ви можете заповнити логіку в середині. Це швидше, ніж фліп-флоп на будь-якому кінці. Це також дозволяє «запозичити час» через межу циклу, що є дуже важливою концепцією для високошвидкісних конструкцій.
jbord39

Ось ще кілька корисних зображень DFF, які можуть допомогти, дивіться останню. DFF, розміщений вище, є заплутаним через засувку на протилежних фазах годинника (тобто головні засувки на піднімаються кромці, підвісні засувки при падінні). electronics.stackexchange.com/a/84247/42957
mrbean

Було б добре побачити приклад справжнього однофазного фліп-флопу ("TSPC" DFF) тут.
mrbean


1

Багато людей називатимуть пристрої з тактовою частотою як «шльопанці», а нерозрядні пристрої - як засувки. Ще тоді, коли я дізнався про це, це були "накручені шльопанці" та "шльопанці". Будь-яке може бути спровокованим краєм.

Існує достатньо неоднозначності, що, коли це важливо, покладатися на числові таблиці деталей та часові діаграми, а не на описи слів.


Тоді GTO-SCR - це також тригер?
Bradman175

1

Дякую всім, хто відповів на моє запитання. Як і очікувалося, є якась незгода. На жаль, семантика часто важливіша за розуміння, коли мова йде про іспити. Якщо мені потрібно посперечатися з екзаменаційною комісією за неправильне позначення екзаменаційної роботи студента з інформатики A Level (і я це робив раніше), я хочу бути сильним. Я думав, що поділюся з вами кількома сторінками офіційної книги з курсу курсу A Level.

Перша схема - активна засувка низького рівня SR. Книга називає це триггер.

У тексті книги сказано: "За допомогою двох тригерів ми можемо створити ланцюг під назвою триггер типу D, який використовує тактову схему для управління виходом, затримуючи її одним імпульсом тактової частоти. D означає затримку . " Цей текст, здається, посилається на конфігурацію головний / ведений. Друга діаграма (мал. 14.2) позначена як фліп-флоп типу D. Насправді це активна засувка D з високим затвором.

Не дуже корисно!

Я збираюся влаштуватись на тему: «Фліп-флоп, як правило, характеризується топологією майстра-раба». як підказує jbord39, із застереженням, що термін flip-flop часто використовується для позначення засувки, що викликається краєм, а іноді і будь-якої засувки. Я думаю, що саме звідси походить книга, хоч і не дістається переконливо.

Ще раз дякую всім.

введіть тут опис зображення введіть тут опис зображення


2
Так, ця книга прямо вводить в оману. Крім того, D означає Дані, а не затягувати ... lol Важлива частина - зрозуміти, як вони працюють, і не надто захоплюватися семантикою. Я пояснив семантику, як вони мені пояснили в компаніях, де я працював. Це може змінюватися залежно від області та рівня досвіду (особливо стосовно внутрішніх логічних воріт, над чим я працюю).
jbord39

Я маю згоду з jbord39. Як я показав у своїй відповіді, що введення E лише дозволяє даним впливати на вихід. Тим не менш, у вас є підручники, які містять невірну інформацію. Досить дратує насправді.
Bradman175

1

Фліп-флоп відрізняється від засувки. Вони обидва двобічних контурів, але насправді це дві різні речі.

Засувка має дозволяє контактні і прослуховує введення даних / входи тільки тоді , коли цей контакт є високим. Коли він низький, засувка замерзає і запам'ятовує свій стан. Тепер навіть якщо ви маніпулюєте входами, він не реагуватиме.

У фліп-флопі замість цього є годинниковий штифт, який реагує лише на зміну імпульсів (зміщення рівня). Придумайте квадратну хвилю. Перехідний час між вимкненим та увімкненим; вимкненим та увімкненим - час, протягом якого схема реагує на вхідні сигнали. Тільки тоді він доступний для зміни, а не тоді, коли штифт стабільний і повністю включений.

Час реагування на фліп-флоп

Зверніть увагу, що зелені лінії представляють період, який він слухає, а червоні - період, коли він не входить. Засувка дозволяє вводити дані лише в періоди, показані самими верхніми червоними лініями.

Автономний ЕР не є реальною схемою на практиці.

Кредити jbord39 за вказівку на помилку. Зображення, взято з radio-elctronics.com та відредаговане.


Фліп-флоп не є засувкою, але може бути побудований з двох протилежних фазових засувок назад до спини.
jbord39

Я відредагував відповідь @ jbord39
Даніель Торк

Дякую, @ Peter Mortensen. Я цього не бачив.
Даніель Торк

0

Терміни, коли ви їх використовуєте у своєму запитанні, на 100% відповідають тому, що я чув, що використовується в контексті аналогового дизайну ІС. Засувки мають сигнал увімкнення рівня, в той час як фліп-флоп має чутливі до краю сигнали включення, що називаються "годинник". Я помітив декілька місць в Інтернеті чи в деяких книгах, які, як видається, використовують термін фліп-флоп для обох типів, що може мати сенс, якщо ви просто задумаєтесь про стан схеми "перекидання" між двома стійкими точками, але коли б дизайнери говорили про ланцюги, де я працюю, засувки чутливі до рівня, а фліп-флопи (або також зазвичай просто "флоп") чутливі до краю.

Про ваш інший питання про те, чи можна розробити фліп-флоп як засувку з детектором кромки проти пари засувок master-slave. Будь-який спосіб може працювати, якщо припустити, що у вашому крайовому детекторі достатньо затримки. Засувки матимуть деякий мінімальний час включення. Я підозрюю, що важче зробити швидкісний фліп-флоп, використовуючи техніку детектора країв, і час налаштування / утримування може відрізнятися в залежності від процесу / напруги / температури.


Мені цікаво, чому я рідко бачу флопи, реалізовані з парами master / slave з логічними порогами, що не перекриваються (таким чином, вхідна напруга нижче VDD / 4 дозволить ведучому, а напруга вище VDD / 2 дасть змогу підлеглому. Якщо декілька каскадних флопів є подається повільно зростаючий або шумний вхідний сигнал, поведінка буде надійною за умови лише того, що на зростаючому краю жоден з них не бачить напруги нижче VDD / 4 після того, як хтось побачив напругу вище VDD / 2.
supercat

@supercat Ви говорите про гістерезис?
Корт Аммон - Відновіть Моніку

@CortAmmon: Ні - щось краще. Якщо два фліп-флопа з незалежними тригерами Шмідта каскадуються, неправильна операція може призвести до того, що перший флоп розпізнає ребро годинника і поширює вхід до виходу до того, як другий флоп розпізнає його тактовий край. Якщо тригери використовують розділені вхідні пороги, другий флоп захоплюватиме свій вхід, коли годинник піднімається вище нижнього порогу, але вихід першого флопа не зміниться, поки годинник не досягне верхнього порогу.
supercat

0

(Пропустіть до кінця, якщо хочете дізнатися, чи є останній ланцюг ОП в обертовій формі або засувці.)

В основному, Flip-Flop - це розташування логічних воріт (або компонентів), що дозволяє зафіксувати два стани разом з тактовим штифтом, що дозволяє ці зміни станів.

Тепер ось різниця між Flip-flop та засувкою. Засувки асинхронні, тоді як тригери синхронні.

  • Асинхронні засувки не потребують штифта для оновлення, який зазвичай називають CLK(коротким для годинника) штифтом у відкидному флопі. Їм важливо лише те, чи входи знаходяться у визначеному стані, HIGHабо LOW. Коли певна комбінація HIGHs і LOWs запроводжена на вході, тобто коли схема вирішує виконати дію, і бажаний результат повертається "негайно". У засувці можливі 4 можливі дії.

    1. Нічого не робити
    2. набір QдляHIGH
    3. набір QдляLOW
    4. Недійсний стан (нібито інвертувати значення Q)

    Зауважте, що Q'залежить від Q.

Прикладом є засувка SR, яка демонструє всі 4 можливі дії, які засувка може зробити: RS Засувка

  1. Коли Sє LOWі Rє LOW, нічого не змінюється.
  2. Коли Sє HIGHі Rє LOW, Qвстановлено HIGH.
  3. Коли Sє LOWі Rє HIGH, Qвстановлено LOW.
  4. Коли Sє HIGHі Rє HIGH, Qперевертається, із швидкістю "непередбачувано". Цей стан недійсний.
  • Синхронні шльопанці дозволяють встановлювати значення шпильки даних. Це означає, що вона дбає лише про те, яким є стан цих штифтів. Однак схема ще не вирішує робити жодних дій на вихід. У вас є CLKшпилька, як згадувалося вище. Коли CLKштифт змінює стан (або зLOW до HIGH, навпаки , або навіть обидва), штифти даних «захоплені» і тригер виконує дію , засновані на комбінації HIGHз і LOWх даних , записаних штифтів даних. Для CLKшпильки є дві дії .
  1. Нічого не робити
  2. "Захоплення" даних із шпильок даних та виконайте дію на виході на основі значень штифтів даних у конкретний момент часу.

Знову є 4 можливі дії, які схема може зробити на виході.

  1. Нічого не робити
  2. набір QдляHIGH
  3. Встановити QдляLOW
  4. Інвертувати значення Q(тепер воно дійсне, оскільки це робиться лише один раз)

ЦЕ НЕ ПЛІП-ФЛОП:

введіть тут опис зображення

Але чому ви можете запитати? ЦеE шпилька не є шпилькою годинника. Штифти годин дозволяють схемі аналізувати інформацію з штифтів даних ONCE, куди ця інформація надсилається як інструкція для виконання конкретних дій на виході. Однак увімкнути штифти, як цей, дозволяє схемі аналізувати інформацію з шпильок даних до тих пір, поки вона тримається високо і постійно встановлює значення вихідних даних. Таким чином це засувка. (Thx to jbord39 за вказівку на мою помилку).

Таким чином, триггер подібний до засувки, за винятком того, що вам потрібен додатковий крок «підтвердження», який є CLK шпилькою.

Так це останній ланцюг питання ОП - триггер? Спробуйте потримати C на високому і побачити, чи змінюється вихід, коли ви змінюєте значення D. Якщо вихід змінюється, його слід викликати активацією, а не засувкою. Але якщо результат не змінюється (в такому випадку), то це тригер.

Зображення отримують із Вікіпедії.


Ні, багато засувок мають шпильки для годинника. nxp.com/documents/data_sheet/74HC_HCT373.pdf насправді схема, яку ви показали, - це засувка, а не фліп-флоп ...
jbord39

@ jbord39? Який штифт годинника? А штифт включення відрізняється від годинникового штифта.
Bradman175

@ jbord39 і, вірно, ви праві. Нижні два контури - це засувки. Будь ласка, перегляньте мою відповідь.
Bradman175

Дозвольте мені зрозуміти, чи я розумію. Фліп-флопи перевіряють кожен вхід і включають вихід, а засувка перевіряє годинник і діє, якщо воно дорівнює 1, виводячи значення D. Так що засувка SR IS - триггер, оскільки він не тактований, але засувка D - це справжня засувка.
Даніель Торк

@DanielTork Справа в тому, що у вас є декілька "годинників", і годинник не може чергувати штифти, а також служить шпилькою для даних.
Bradman175
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.