Не забувайте про прогалину!

Dis-re-dis-повторна збірка. тепер зробіть це ще раз

Інженерія – це дві речі:

Розбиття великих проблем на приємні шматки та 2. Збірка невеликих рішень для формування єдиної функціональної можливості.

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

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

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

Слідкуйте за своєю мовою

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

Зрештою, все, що насправді зводиться до нашого вміння висловлювати складні та абстрактні ідеї, використовуючи правильну мову. Відомий лінгвіст Ноам Хомський сформулював це найкраще: «Мова – це процес вільного творення; її закони і принципи фіксовані, але спосіб використання принципів генерації вільний і нескінченно різноманітний ».

Перевірка – це сука

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

Перевірка має вирішальне значення! Якщо ASIC не працює, ми не зможемо завантажувати фотографії в Instagram…

Перевірка важка! Це велика проблема. Набагато більше, ніж на етапі проектування…

TapeOut наближається! Ми повинні перевірити, перш ніж почнеться довга і темна зима інженерних зразків…

Перевірка ASIC є складним інженерним завданням, і тому вона потребує двох основних елементів, які просто неможливо оминути:

Ефективний спосіб розбиття проблеми на дрібні самородки.

Можливість легко перемикатися між найдрібнішими деталями та більшим зображенням.

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

Рівень абстрактної мови, який використовується для перевірки сьогодні, подібний до написання програми за допомогою Assembler або до розробки сучасних складних ASIC з інструментами на рівні транзисторів. Чи достатньо цього для нас? Чи можна це навіть зробити? Звичайно, якщо у вас є час і терпіння…

Розрив

Два десятиліття тому був винайдений Specman. Це був справжній прорив. І це вивело нас усіх на вищий рівень абстракції. Тепер, за законом Мура, ASIC сьогодні в 500 разів складніші. Як ми можемо подолати цю прогалину ??

Скажете SystemVerilog UVM? Страшно, давай…! SystemVerilog UVM займає своє місце як важливий галузевий стандарт, так. І рівень його прийняття чудовий, гаразд. Проте жодним чином він не становить вищого шару абстракції. Крім того, це складно.

Отже, що заповнить цю прогалину?

Які чудові дошки

Відповідь проста. Власне, весь час це було прямо перед нами. Пані та панове, інженери та інженерки, я з гордістю представляю:

БІЛА ДОШКА! (І натовп шаліє!)

Мені подобаються дошки. І їх барвисті товариші по команді, маркери.

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

Те, що роблять дошки, стимулює НАДХОДЖУЮЧУ ТВОРЧІСТЬ. Вони керують СОТРУДНИЦТВОМ КОМАНД. Вони сприяють хорошому спілкуванню.

Зобразіть це: візуальна орієнтація

Отже, після епохи проектування багатокутників, RTL, об’єктно-орієнтованої мови перевірки, мова абстракції наступного рівня формується так: Зображення. Інструмент візуальної орієнтації, натхненний простою дошкою.

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

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

Спочатку ця публікація була опублікована за адресою https://www.linkedin.com/pulse/mind-gap-hagai-arbel/.

Hagai Arbel люб’язно дозволив нам перекласти і опублікувати цю статтю.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: