Що означає "ворота годинника"?


11

У своїх лекційних конспектах я постійно читаю "не воротайте годинник". Я спробував шукати в Інтернеті, але не можу знайти точне значення цієї фрази.



3
@ user129048 На цьому веб-сайті є інші питання, які займаються цією темою. Коротше кажучи, якщо ви відкладете годинник, у вас буде затримка, яка погана. Більшість FPGA мають виділені годинникові лінії, і вони не використовують ці лінії.
Спайк напруги

1
Подібно до того, як ви використовуєте ворота для введення та виходу собаки / коня / тощо, вони можуть проходити крізь ворота, якщо вони відкриті. Тактова частота та скидання - це лише сигнали, які передаються на логічний модуль так само, як і інші сигнали. Ви можете дозволити або заблокувати продовження цього годинника, не даючи йому пройти. Запобігання логіці з іншого боку, щоб цей сигнал не був вхідним.
old_timer

Відповіді:


19

"Вентиль годинника" означає поставити логічний затвор у годинниковій лінії, щоб увімкнути або вимкнути його.

схематичний

імітувати цю схему - Схематично створено за допомогою CircuitLab

На діаграмах, наведених вище, показано, що І і АБО використовується для переведення годинника. Один змушує годинник низький, інший високий.

Для запобігання тактових імпульсів, які є "занадто короткими" або високими, або низькими ("імпульси"), ми повинні переконатися, що:

  • Сигнал управління для затвора AND повинен змінюватися лише тоді, коли годинник низький .
  • Сигнал управління для АБО повинен змінюватися лише тоді, коли годинник високий .

Годинники, що знаходяться під відкритим небом, дуже корисні для зниження енергії в CMOS, оскільки логіка залишається «тихою» під час зупинки годинника. Ви побачите, що в сучасних інструментах синтезу є спеціальна опція для автоматичного вставлення решіток годин.

схематичний

моделювати цю схему

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


3
Дуже приємна відповідь. Я просто розширюватиму переваги електроенергії годинників із закритим небом. Тактова мережа в ІС, особливо у складних, таких як мікропроцесори, може бути справді величезною. Настільки велике, що було показано (вибачте, я не маю довідки під рукою), що одне лише перемикання годинникової мережі може становити 30% від загального енергоспоживання. Це споживається навіть у тому випадку, якщо фактична тактова логіка не має нічого спільного, наприклад. регістри та виходи зовсім не змінюються. Постановка годинника може повністю відключити годинник у постраждалих частинах мережі, отже, значно знизити споживання електроенергії.
ultimA

4
@ Curd: Коли ОП читає "не воротайте годинник", професор означає "не передавайте годинник буквально, як в одному логічному воріті". Це хороша порада. На практиці, хоча "вивірка годинника" означає "відключення годинника" або можливість зробити це, і це дуже рекомендується робити з міркувань влади, доки ви знаєте, як це зробити правильно (тобто не з логікою ворота, але з достатньою логікою, щоб уникнути поривів і збоїв на годинниковій лінії).
ultimA

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

4
@oldfart Це дуже ймовірно пояснення. Особливо, якщо OP входить до класу FPGA, навряд чи вони коли-небудь повинні отримувати годинник.
mbrig

3
@MITURAJ, решітка годинника, безумовно, можна зробити при вступі в дизайн. Я думаю, ви описуєте, що слід робити, а не те, що зазвичай робиться. Свобода FPGA дозволяє будь-кому реалізувати погані ідеї. Багато поганих конструкцій там.
TonyM

6

Геттінг в цьому контексті означає передавати сигнал через логічні ворота для управління ним.

Передача його через один вхід 2-вхідного і ІЛ-шлюзу дозволяє керувати бітом на іншому вході, щоб примусити вихід затвора AND низьким або дозволити сигналу проходити через і назовні. Аналогічну функцію може виконувати АБО затвор, при цьому сигнал буде вимушений або пропущений.

Тож відбирати годинник означає примушувати його низько / високо або пропускати його через.

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

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


6

Це означає:
Не використовуйте ворота AND чи АБО (або будь-який складніший комбінаційний термін) для отримання тактового сигналу від іншого тактового сигналу.

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


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

4

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


Я ніколи не чув, щоб цей термін використовувався таким чином, чи є у вас джерело для цього?
BeB00

@ BeB00: просто google для "годинника грати глюк безкоштовно", і ви знайдете багато
сир


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