Современная электроника №1/2021

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 54 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2021 Разработка моделей цифровых элементов Digital SimCode для Altium Mixed Sim В статье описываются этапы разработки цифровых элементов Digital SimCode для устройства Altium Mixed Sim. Digital SimCode схож по функциональности с другими языками программирования и описывает аппаратуру, основываясь на принципе событийного моделирования. Юрий Леган (yuri.legan@altium.com) Введение Современные САПР электронных устройств, в частности AltiumDesigner, обладают колоссальной функциональ- ностью, когда речь заходит об управле- нии данными проектов, данными про- ектирования схем и печатных плат, а также инженерного анализа. Инженерный анализ в AltiumDesigner выполняется различными расчётными модулями, применяемыми в зависимо- сти от инженерной задачи. С помощью программы можно выполнять пред- и посттопологический анализ целостно- сти сигналов, расчёты электрических режимов функционирования элемен- тов схемы и посттопологических ста- тических электрических нагрузок на цепи питания. AltiumDesigner оснащён высококаче- ственным имитатором электрических схем AltiumMixed Sim. Данный имита- тор позволяет выполнять различные виды расчётов электрических режимов схемы на этапе проектирования. В том числе он имеет алгоритмы моделиро- вания смешанных сигналов, реализую- щих расчёт поведения электрической схемы, содержащей как «аналоговые», так и «цифровые» компоненты. Рас- чёт поведения электрической схемы выполняется как расчёт переходного процесса во временной области. Данныйподход давноизвестениреа- лизован вомногих известных имитато- рах электрических схем. Естественным затруднениемв этом случае становится описание моделей цифровых компо- нентов. Такие компоненты характери- зуются обычно большим количеством внутренних элементов, функционирую- щих в ключевом (или иначе – вентиль- ном) режиме иреализующих такие вну- тренние состояния своих схем, которые обычно приближены по напряжениям к потенциалам питания. Моделировать схемына уровне транзисторов – чрезвы- чайно сложнои затратно с точки зрения ресурсов вычислительной системы. Поэ- тому все цифровые компонентымодели- руют на логическом уровне, интерпре- тируя значения внутренних функций цифровых компонентов в логической форме, имеющей несколько допусти- мых статических состояний (0, 1, XиZ) и известные динамические взаимныепере- ходымежду статическими состояниями. Для решения задачи моделирования цифровых компонентов в имитаторе AltiumMixed Simреализована поддерж- ка специфических моделей имитатора XSPICE, описывающего цифровые ком- поненты. Изначально XSPICE обладал откры- той программной спецификацией и допускал «достраивание» функцио- нальности за счёт разработки допол- нительных моделей компонентов в виде программных модулей на языке C++, обладающих определённой совме- стимостью по программному интер- фейсу с ядром имитатора. Этот под- ход давал широкие возможности для построения моделей, но требовал от инженера нетривиальной специализа- ции дополнительно как программиста. Кроме того, каждое расширение функ- циональных возможностей имитатора требовало новой сборки программных библиотек и зависело от применяемо- го компилятора. Используя разные ком- пиляторы, разработчики расширений ядра имитатора могли получать различ- ные результаты даже при одном исход- ном коде. Чтобы снизить требования к навыкам программирования, в ядро имитатора Altium Mixed Sim введена универсаль- ная модель цифрового компонента. Данная модель реализует определяе- мую пользователемфункциональность через восприятие плоского текстового файла, содержащего описание цифро- вого элемента на языке Digital SimCode. С таким подходом нет необходимости в расширении имитатора дополнитель- ными пользовательскими программа- ми, а значит, можно снизить уровень требуемых навыков для разработки ПО. Пользователю, разрабатывающему модель цифрового компонента, теперь не нужны специальность программи- ста, знание C++, достаточно овладеть гораздо более простым языком Digital SimCode. Назначение Digital SimCode Digital SimCode является языком опи- сания аппаратуры (HDL), схожим по основной функциональности с дру- гими языками программирования. SimCode предназначен для описания функционирования цифровых эле- ментов на логическом уровне. Работа модели Digital SimCode основана на принципе событийно- го моделирования: имитатор отсле- живает входящие сигналы, проверяет на изменение эквивалентного логи- ческого состояния и отслеживает вну- тренние состояния модели. При нали- чии события изменения состояния входящего сигнала или внутреннего состояния модели формируется обра- ботка события. Изменённые выход- ные сигналы отражаются во внешних цепях моделируемого цифрового ком- понента. Сигналы модели, обращённые к внешней схеме, называют выводами или портами модели. Основные возможности Digital SimCode позволяет: ● описывать перечни входных и вы- ходных сигналов, указывать выводы питания, выводы типа «вход-выход», формировать подгружающие эффек- ты входов; ● указывать выходные нагрузочные ха- рактеристики для выходных выводов; ● указывать законы преобразования электрических уровней в логиче- ские состояния, а законы логических состояний – в электрические уровни; ● описывать логические функции устройства на основе логических термов; ● реализовать циклы, использовать ус- ловные ветвления;

RkJQdWJsaXNoZXIy MTQ4NjUy