В статье автор сравнивает применяемое на предприятии программное решение с аналогичными, и приходит к выводу о необходимости разработки нового.
Ключевые слова: разработка, программный модуль, микросхема.
На предприятии была разработана микросхема микроконтроллера с собственным микропроцессорным ядром. Сразу же возник вопрос, каким образом пользователь будет осуществлять ее программирование. Для того чтобы пользователь смог самостоятельно провести это действие, он должен изучить и понимать все тонкости работы по ее конфигурированию и настройке.
Для начала было разобрано и проанализировано текущее решение Verilator, применяемое на предприятии. Данное программное средство преобразует файлы с Verilog кодом в файлы с кодом C++, затем они компилируются компилятором C++, получается исполняемый файл, который выполняет моделирование работы всей микросхемы, после чего происходит ее конфигурирование.
Такая цепочка действий не устраивала предприятие, так как для того, чтобы провести конфигурирование микросхемы нужно было совершить много различных действий в различных программах.
Поэтому, сравнив существующие аналоги, приведенные в таблице 1, было принято решение создать новую программную оболочку для программирования, которая позволила бы повысить эффективность конфигурирования микросхемы, а также совершать это при помощи графической оболочки.
Таблица 1
Сравнение существующих программных продуктов
Существующие решения Требования |
Verilator (текущее решение) [ 1 ] |
GHDL [ 2 ] |
САПР Quartus II (LITE) [ 3 ] |
САПР «КОВЧЕГ» [ 4 ] |
Кроссплатформен-ность |
Нет |
Да |
Да |
Нет |
Создание схем конфигурирования |
Да |
Да |
Да |
Да |
Установщик программного решения |
Нет |
Нет |
Да |
Да |
Графическая оболочка для создания схемы конфигурирования |
Нет |
Нет |
Да |
Да |
Процесс конфигурирования микросхемы |
Нет |
Нет |
Нет |
Нет |
Изменение характеристик каждого элемента схемы |
Да |
Да |
Да |
Да |
Подключение библиотек элементов для построения схемы |
Да |
Да |
Да |
Да |
Как видно из таблицы, ни одно из готовых решений не удовлетворяет всем требованиям предприятия по конфигурированию микросхем. В качестве темы учебной практики была выбрана тема «Разработка программного модуля визуализации конфигурирования микросхем». Программному модулю присваивается шифр «ПМ КМС» (Далее в тексте — ПМ).
Была выбрана тема «Разработка программного модуля визуализации конфигурирования микросхем». Программному модулю присваивается шифр «ПМ ВКМ».
Цель разработки ПМ ВКМ:
Повышение эффективности конфигурирования микросхем.
Задачи разработки ПМ ВКМ:
– исследование предметной области;
– сравнение существующих аналогов;
– выбор языка и среды программирования;
– разработка схемы данных ПМ ВКМ;
– разработка схемы алгоритма ПМ ВКМ;
– разработка программы ПМ ВКМ;
– отладка и тестирование ПМ ВКМ;
– разработка руководства оператора.
Концептуальная модель предметной области состоит в проектировании единого ПМ, которое позволило бы пользователю создавать схемы конфигурирования из доступных функциональных компонентов библиотек элементов, а также запускать процесс программирования микросхемы, разработанной на предприятии.
Предполагаемый алгоритм работы программы:
ПМ при старте считывает все элементы во всех заранее созданных библиотеках и создает из них список компонентов. Затем пользователь сам конфигурирует из них свою схему на предназначенном для этого поле, настраивая каждый нужный ему элемент и создавая межкомпонентные соединения между ними. После чего он запускает процесс конфигурирования микросхемы, который собирает всю созданную пользователем схему в единый файл, который транслируется в код, понятный для микросхемы, а после чего и в саму микросхему для завершения процесса ее программирования.
Таким образом, входными данными ПМ будут являться файлы библиотек элементов, хранящиеся в памяти пользовательского устройства.
ПМ в процессе своей работы будет работать с данными в формате JSON.
Файл, содержащий в себе код конечной схемы конфигурирования, будет являться выходными данными ПМ.
Вывод:
Во время учебной практики была выбрана тема работы, исследована предметная область, выполнено сравнение существующих аналогов, выбран язык и среда программирования, а также разработана схемы данных и алгоритма ПМ.
Литература:
1. Verilator Intro. — Текст: электронный // Veripool: [сайт]. — URL: https://www.veripool.org/projects/verilator/wiki/Intro (дата обращения: 20.05.2021).
2. GHDL. — Текст: электронный // GitHub: [сайт]. — URL: http://ghdl.free.fr/ (дата обращения: 20.05.2021).
3. Различия между вариантами Quartus. — Текст: электронный // Intel: [сайт]. — URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/po/ss-quartus-comparison.pdf (дата обращения: 20.05.2021).
4. НАЗНАЧЕНИЕ САПР «КОВЧЕГ». — Текст: электронный // НПК «Технологический центр»: [сайт]. — URL: http://www.asic.ru/index.php/sapr/naznach (дата обращения: 20.05.2021).