Дискретний логічний дизайн


11

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

Моє запитання: якщо у вас є дизайн, який можна було б легко реалізувати за допомогою декількох дискретних логічних воріт, чи варто більше проектувати з дискретною логікою? Чи є якась перевага використовувати їх над програмованими? Або це повільно буде повністю припинено програмованою логікою? Щоб було зрозуміло, я не хочу відповідей "я вважаю, що це так" або "особисто я думаю, що це, але ..." Я хотів би знати, чи є якісь фактичні переваги для проектування з дискретністю над програмованим і чи варто розробити з ними в наші дні вироби побутової електроніки?


16
Це звучить як питання з 90-х… Виграли µC, його просто набагато простіше збити і зробити, ніж думати про те, як з’єднати півдюжини ІС разом, не кажучи вже про споживання місця.
ПлазмаHH

9
Дискретні ворота мають одну велику перевагу. Немає інструментальної ланцюга.
джонк

Немає інструментальної ланцюга? Що ти маєш на увазі @jonk
цікаво

@PlasmaHH. В основному ви говорите, що немає переваги проектувати дискретні в майбутньому?
Цікаво

11
Що означає @jonk, це те, що коли використовується мікроконтролер, вам потрібне програмне забезпечення для створення програми для мікроконтролера, як IDE (графічний або текстовий інтерфейс користувача) та компілятор / лінкер / інші комбінації інструментів, призначених для мікроконтролера, який ви використовуєте, званий a ланцюг інструментів
Мішель Кейзерс

Відповіді:


15

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

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

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

Місце, де дискретна логіка дійсно має перевагу, хоча в навчанні. Коли ви вперше дізнаєтесь про логічне проектування і про те, як працюють ворота тощо, саме тут чудово дістатися до фактичних логічних воріт та проектувати різні функції з дискретними частинами. Завжди гарна ідея, щоб зрозуміти основи. Отже, через це дискретна логіка завжди матиме місце у цьому світі. Що стосується побутової електроніки? Майбутнє, безумовно, програмоване.


Проста відповідь, хороші бали та відповіді на всі поставлені запитання! Спасибі!
Цікаво

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

Так, я згоден, таблиці правди завжди корисні мати, я відредагую відповідь, щоб зробити її трохи більш відповідною до цього сценарію
MCG

1
Остання конструкція, яку я реалізував за допомогою дискретної логіки, мала вимогу до часу "як можна нижче", використовуючи 5V логіку, і порівняно просту програму. Я міг би витратити багато грошей на приємні блискучі FPGA або просто зробити це «старою школою». Військові мікросхеми зазнають повного перепаду напруги в пікосекунди, переживуть ядерний апокаліпсис разом з тарганами, а також, практично, нічого не коштують. Завжди знайдеться місце для дискретної логіки.
Ландак

14

Я взагалі не професійний інженер з електроніки (насправді лише початківець), але мої кілька центів полягають у тому, що виділені дискретні логічні ІМС повинні використовуватися лише в тому випадку, якщо важливий час, або якщо це вимога не використовувати програмовану логіку.

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

Крім того, коли потрібні дуже швидкі терміни, що програмне забезпечення не може бути в курсі, можна використовувати спеціальні логічні ІМС. Але для сигналізації це здається непотрібним (їй не потрібен час відгуку наносекунд).

Нижче моє тлумачення переваг / недоліків:

                          Discrete logic (ICs)      Programmable logic/
                                                    (Microcontrollers)
 Nanosecond speed                  x                         -
 Just a few 'operators' needed     x                         -
 No tool chain needed              x                         -
 Cost Efficiency *                 -                         x
 PCB / proto size                  -                         x
 Flexibility for changing          -                         x
 Production cost                   -                         x
 Possibility to extend features    -                         x

* Assuming more than a few (different) logic functions needed

1
Тож швидкість - головна перевага на вашу думку? +1 за відповідь, особливо мені подобається ваш стіл!
Цікаво

1
Так, апаратне забезпечення швидше, ніж програмне забезпечення, тому, якщо вам дійсно потрібна швидкість, вам потрібні апаратні ІС, інакше я б пішов на рішення "програмного забезпечення" (мікроконтролера). Btw, в даний час для більш складних рішень, що залежать від швидкості, використовуються FPGA.
Мішель Кейзерс

1
Я не планував використовувати FPGA, головний інженер вже вирішив обладнання! Я просто цікаво задавав питання, щоб побачити, де лежить якась перевага. До речі, я вчасно прийму вашу відповідь, якщо інших відповідей не з’явиться. Просто хочу надати іншим можливість відповісти перед тим, як передчасно прийняти!
Цікаво

5
Я думаю, що ваш головний інженер прийняв правильні рішення. Сигналізація, як правило, щось буде розширено (отримуючи більше входів від неодноразових джерел і діючи на них), навіть створюючи їх комбінації, а пізніше додавати функціональні можливості, такі як надсилання автоматичного SMS, подання сигналу звукового сигналу / сигналу тривоги, можливо, деякий журнал реєстрації датчики тощо
Мішель Кейзерс

2
@MichelKeijzers сучасні FPGA значно швидше, ніж усе, що ви могли б досягти за допомогою традиційних дискретних логічних ІС.
Тустіке

10

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

  • ціна окремих компонентів додає до собівартості
  • необхідний розмір і складність друкованої плати збільшує вартість
  • необхідні зусилля на розробці та інструменти збільшують витрати
  • необхідне тестування та сертифікація збільшує вартість

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

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


Дуже правильно. Отже, ви думаєте, чи існує майбутнє для дискретної логіки?
Цікаво

4
@Curious Я все ще бачу, що окремі BJT і MOSFET використовуються для реалізації основних і логічних функцій тут і там. Дискретна логіка - корисна абстракція для простих завдань, тому я переконаний, що вона не зникне повністю.
Дмитро Григор’єв

7

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


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

1
@awjlogan Ви можете зробити обидва ці речі, але ваша дискретна логічна аварійна зупинка ніколи не вийде з ладу, тому що несподівана умова направила іншу частину її у нескінченний цикл. Критичні для безпеки системи повинні бути максимально простими .
користувач253751

1
@immibis Це поганий дизайн і специфікація, не властива процесору. Завжди є можливість виходу з ладу в системі, дискретному, FPGA або будь-якому іншому. Домовились, що сейфи повинні бути максимально простими, це не означає, що вони повинні бути дискретними.
awjlogan

5
@immibis Дискретна логіка стає менш надійною, ніж MCU минулого певного розміру конструкції через дефекти пайки. І якщо дискретна логіка включає тригери, у вас виникає та сама проблема із забороненими станами системи, як і у програмному забезпеченні.
Дмитро Григор’єв

4
Дискретні деталі можуть діяти більш передбачувано У випадку несправності ...
rackandboneman

4

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

Комбінаторна логіка - це максимум 20 рядків асемблера (кілька таблиць пошуку). Кожен програмний таймер додає ще 10 рядків. Апаратні таймери ще менше. Ви навіть отримаєте перевагу в наявності на борту A / D перетворювача, компаратора, генерації ШІМ, якщо вони потрібні.

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


Залишився варіант використання для окремих логічних ІМС - це коли робота повинна працювати швидше, ніж 1 мкс.


Трохи поза темою, але частини ATTiny x17 / x16 мають дві вбудовані LUT з 3 входами. Дуже зручно дійсно!
awjlogan

4

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

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

Що стосується методології дизайну, я б сказав, що це залежить від бажаного стилю дизайнера - пристрою CPLD, який ви могли б буквально перемотати в прямому ефірі ("давайте торкнемося цього дроту до шпильок, поки щось не натисне"), в ратстнесті, і під живленням хост-ПК (із імітованими іскорками, коли ви торкаєтесь дроту до штифта, бажано, просто для атмосфери), безумовно, сподобалося б людям, які віддають перевагу дискретній логіці :)

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