Get Mystery Box with random crypto!

Ділимося реальною історією практичної користі від університетс | Lampa

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

Восени, Віталій Ромах, студент 3-го курсу Кафедри КЕОА на факультеті електроніки КПІ імені І. Сікорського, на початку вивчення цифрової схемотехніки у якості додаткового завдання створив такий проект генерації синтезованого Verilog коду з таблиці істиності: https://github.com/ThisNicknameIsTaken/VerilogFromTruthTable

Математика, що лежить в основі рішення дуже проста. В українській термінології застосовані методи мають назву Досконала Диз'юнктивна Нормальна Форма (ДДНФ) та Досконала Кон'юнктивна Нормальна Форма (ДКНФ). В англійській мові назви виглядають прозаїчніше - Sum of Products (SoP) та Product of Sums (PoS). Щороку ці методи вивчають тисячі студентів по всьому світу на спеціальностях пов'язаних з обчислювальною технікою. Практичні завдання, на жаль, більшою мірою зводяться до отримання логічної функції на папірці, що не дуже цікаво, як з практичної, так і з мотиваційної точок зору.

Віталій створив скрипт на Python, який приймає на вхід файл з таблицею істиності, за допомогою ДДНФ, чи ДКНФ (на вибір) створює логічну функцію, що реалізує таблицю істиності, генерує синтезований Verilog код, який відповідає одержаній логічній функції та тестбенч для перевірки коректності роботи створеного Verilog модуля (вхідні та очікувані значення для тестбенчу беруться з тієї ж таблиці істиності). Створені Verilog файли для різних таблиць істиності (для одержання схем квадратного кореня, логарифму, чи схеми піднесення до кубу) було синтезовано в САПР Quartus Prime Lite, оцінені апаратні витрати та перевірено роботу на налагоджувальній платі DE1-SOC.

Зрозуміло, що проект простий, навчальний і не претендує на серйозне практичне використання. Але, камон, це хоч і простий, але High Level Synthesis. Протягом виконання цього проекту Віталій вперше познайомився з Python, отримав практику генерації коду і додатковий досвід у Verilog та верифікації.

По завершенню проекту ми порекомендували Віталія нашим друзям у Київському філіалі ізраїльської компанії Avnet ASIC. Створений проект підійшов, як тестове завдання та матеріал для резюме. Віталія запросили на співбесіду на посаду trainee з цифрового дизайну і ось уже як пів року він суміщає навчання з розробкою найсучасніших мікросхем за самими передовими технологічними процесами (до 7 нм включно).

До речі, в Avnet ASIC зараз відкрилося кілька вакансій для початківців, з опису мікросхем на HDL і верифікації (Frontend Design) та створення топології мікросхем (Backend Design):
1. https://djinni.co/jobs/101674-digital-asic-design-verification-engineer/
2. https://djinni.co/jobs/133851-asic-back-end-physical-engineer-trainee-posit/

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

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

П.С. Щойно звернули увагу, що проект на гітхабі отримав зірку від крутого розробника мікросхем iDoka, автора шикарного каналу @embedoka!