![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 82838485868788 ... 233 Использование библиотечных полей описано в подразделе Создание собственных компонентов и подготовка их к моделированию раздела Компоненты и модели. В полях 1, 2 и 3 введите тип компонента, имя модели и местоположение файла модели. Теперь все готово для спецификации выводов (Text Field 4) и данных списка соединений, которые включают информацию о положении и номерах выводов (Text Field 5). Text Field 4. Поскольку компонент имеет два элемента, строка в этом поле plns= будет состоять из двух частей: pins=l: [ ... ]2: [ ... 1 Порядок перечисления выводов здесь не фиксирован, но для удобства они перечислены слева направо и сверху вниз для каждого элемента. pins=l: [2,3,4,1,5,6,7,1412: [12,11,10,13,9,8] Text Field 5. Первый элемент этой строки - ссылка на позиционное обозначение (%D). Последний элемент - ссылка на модель (%М). Между этими ссылками находится информация о положении и номерах выводов, которая называется также списком узлов. Синтаксис для цифровых и аналоговых компонентов различен. Для первых существуют две части: отдельно для входных и выходных узлов, каждая из которых заключается в квадратные скобки. Узлы должны быть перечислены в том же порядке, что и выводы в INPUTS и OUTPUTS выражениях в SimCode. Если обратиться к примеру исходного файла для микросхемы 74LS74, то можно увидеть следующие строки для входных и выходных выражений: INPUTS VCC, GND, PRE, DATA, CLK, CLR; OUTPUTS VCC LD, PRE LD, DATA LD, CLK LD, CLR LD, QN, Q; (Синтаксис этих выражений будет позднее в данном примере.) Самый простой способ сделать раскладку выводов - начертить таблицу с перечислением выводов в порядке, который требуется для SimCode модели, затем в соответствующей строке таблицы вписать положение этих выводов в списке выводов (Text Field 4), как показано в таблице 4.44. Таблица 4.44
Отсюда получаем список узлов путем добавления символа "i" (input) после каждого входного вывода и символа "о" (output) после каждого выходного. В результате запись в поле Text Field 5 приобретет следующий вид: netlist=%D (%8i %7i %3 %1 %2 %41(%8о %Зо %1о %2о %4о %6о %5о] %М Шаг 3 - создание промежуточного файла связи модели Следующий шаг - создание файла связи модели (файла с расширением .MDL), который связывает условное графическое обозначение с ASCII файлом SimCode модели. После того, как модель будет скомпилифована, созданный на этом шаге файл изменится таким образом, что уже будет ссьшаться на скомпилированный файл SimCode модели. В любом текстовом редакторе нужно создать новый файл с именем 74LS74.MDL. Далее необходимо его сохранить в том месте, которое определено в поле Text Field 3 для данного условного графического обозначения. MDL файл включает одну строку .MODEL и необходимое количество строк комментариев (начинающихся с символа "*"). Синтаксис строки .MODEL: .MODEL 74LS74 xsimcode(file="{MODEL PATH}74LS74.TXT" func=ls74 .MODEL Объявляет вьфажение для модели. 74LS74 Имя модели (как в поле Text Field 2). xsimcode Тип модели для цифровой SimCode модели. file= Указывает на файл, содержащий цифровой SimCode код данного устрой- ства. {MODEL PATH} заменяется на имя папки моделей (Models), которая определена в файле ADVSIM.INI. func= Определяет функцию цифрового SimCode кода данного устройства. data= Содержит данные в ASCII коде для функции READ DATA (необязательно). {mntymx} Передает параметры цифровой модели (Digital Model Parameters) устройства в SimCode (должно в точности соответствовать приведенному). Шаг 4 - запись исходного кода для файла SimCode модели Следующий шаг - создание цифровой SimCode модели для устройства, что можно сделать в любом текстовом редакторе в формате ASCII. Этот файл может иметь любое имя и расширение, но такое, чтобы оно совпадало с именем, заданным в параметре files в файле с расширением .MDL. Обычно имя содержит название описываемого устройства, например: 74LS74.TXT. В одном файле можно разместить несколько SimCode моделей и ссылаться на них с помощью параметра funcs. Несколько позже в этом разделе приводится пример SimCode кода для микросхемы 74LS74. Этот SimCode код можно скопировать непосредственно из файла справки через буфер обмена или ввести с помощью клавиатуры. Правильность функционирования нового устройства рекомендуется проверять путем создания простой схемы и последующего ее тестирования. Заметим, что для однозначного определения ошибок функционирования во время тестирования в схеме должно присутствовать не более одного нового устройства. При запуске программы моделирования исходный код модели будет автоматически скомпилирован и записан в текстовый файл SIMLIST.TXT, который будет сохранен в директории, где находится проект моделируемой схемы. Этот файл также содержит листинг процесса выполнения исходного кода модели. Затем можно надлежащим образом переработать исходный SimCode код модели и продолжать тестирование до окончательной отладки данной модели. Шаг 5 - создание скомпилированного файла SimCode модели После того, как SimCode код будет успешно скомпилирован, можно извлечь информацию о скомпилированной модели из файла SIMUST.TXT и создать файл скомпилированной модели (например, 74LS74.SCB). Существует возможность сохранить несколько моделей в одном файле, но необходимо присвоить параметру А1е= в файле MDL значение, совпадающее с именем файла библиотеки скомпилированных SimCode моделей. По умолчанию эти модели хранятся в папке \Program Files\Design Explorer 99 SEU-ibraryVSImV SimCode для микросхемы 74LS74 Далее следует описание всех частей исходного SimCode кода, описывающего поведение устройства 74LS74. Секция 1 - Идентификация функции SimCode Строка # Is74 source идентифицирует начало исходного текста SimCode функции для 74LS74. Секция 2 - Описание данных Эта секция содержит описание выводов и переменных. Команда INPUTS объявляет имена входных выводов, а также выводов VCC и GND. Порядок перечисления выводов в этом выражении и в библиотечном текстовом поле 5 (Library Text Field 5) символьного обозначения должны совпадать. Команда OUTPUTS объявляет имена выходных выводов. Заметим, что сюда также включаются и входные выводы, но с суффиксом LD, чтобы устройство могло обеспечить обратную нагрузку на управляющую цепь. В это выражение включен вывод VCC, но нет вывода GND. Порядок перечисления выводов в этом выражении и в поле Library Text Field 5 символьного обозначения должны совпадать. Команда PWR GND PINS объявляет выводы питания и заземления и определяет уровни напряжения на них для дальнейшего использования в этом SimCode коде. Секция 3 - Инициализация SimCode функции Секция IF (init sim) THEN выполняется только один раз в начале процесса моделирования. Здесь устанавливаются характеристики устройства, которые не должны подвергаться изменениям при внешних воздействиях, например справочные данные. Здесь также должны быть указаны наиболее вероятные состояния на выходах устройства. Секция завершается командой EXIT. Секция 4 - Выражения LOAD и DRIVE Эти выражения используются для задания нагрузочной способности по входу и выходу данного устройства. Секция 5 - Выполняемые функции устройства Эта часть может очень сильно отличаться у разных устройств. В данном примере использована команда EXT TABLE. В других моделях устройств могут применяться IF...THEN, STATE BIT, NUMBER, a также другие команды, определяющие логические функции устройства. Секция 6 - Проверка на несоответствия в настройках устройства Здесь производится проверка на несоответствия в настройках, которые в реальных условиях могут стать причиной неправильного функционирования данного устройства. Если эта функция включена, в процессе моделирования данное устройство может работать, но будут выводиться разного рода предупреждения. 0 ... 82838485868788 ... 233 |