Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все / - ПР / Multisim_Руководство пользователя_2007_1 / Multisim_Руководство пользователя_2007.pdf
Скачиваний:
702
Добавлен:
22.03.2015
Размер:
11.35 Mб
Скачать

6.13.3 Файл интерфейса (Ifspec.ifs)

Файл интерфейса задает выходные и входные таблицы (out, in tables) имена, используемые моделью, электрические соединения с устройством (ports) и определенные пользователем переменные (parameters), которые поддерживают лучшее управление поведением модели. Таблицы поясняются в этом разделе с примерами, приведенными для каждой из них. Пример файла интерфейса показан в «Пример файла интерфейса». Файл интерфейса, вместе с файлом реализации (implementation) нуждаются в компиляции в DLL для завершения построения код-модели.

6.13.3.1 Таблица имен

Имя модели, текст описания и имя реализации функции на Си определены в таблице имен. Имя модели должно быть тем же, что и поддиректория, содержащая файлы код-модели. Рекомендуется, чтобы имя модели было восьми символьным.

Таблица имен имеет следующий синтаксис:

NAME_TABLE:

C_Function_Name: function_name Spice_ModelName: model_name Description: “text”

где:

function_name это действительный Си идентификатор, являющийся именем основной точки входа (функции) для код-модели. Он может быть, а может не быть, таким же, как имя SPICE модели. Для избежания конфликта имен мы рекомендуем вам использовать префикс «UCM_» для использования с код-моделью или пользоваться префиксом на ваш выбор. Следующие префиксы используются ядром XSPICE симулятора и не должны использоваться пользовательскими код-моделями:

National Instruments Corporation

273

Multisim User Guide

model_name это действительный SPICE идентификатор, который будет использован в SPICE deck .model записи для ссылки на эту кодмодель. Может быть, а может не быть, с тем же именем, что и Си

 

функция.

text

это строка, описывающая назначение и функционирование код-

модели.

 

Например:

NAME_TABLE:

Spice_Model_Name: capacitor C_Function_Name: cm_capacitor

Description: “Capacitor with voltage initial condition”

National Instruments Corporation

274

Multisim User Guide

6.13.3.2 Таблицы портов

Порты устройства определены в таблице портов. Таблица портов имеет следующий синтаксис:

PORT_TABLE:

Port_Name: name Description: text Default_Type: default Allowed_Type: [type type type] Vector: vector Vector_Bounds: size

Direction: dataflow Null_Allowed: null

где:

name это действительный SPICE идентификатор, дающий имя порту.

text это строка, описывающая назначение и функционирование порта.

default задает тип, используемый для порта, когда тип явно не задан. Должен

быть одним из пунктов списка «type».

type

перечисляет разрешенные типы, к которым порт может быть

 

присоединен, с именами, разделенными запятыми или пробелами

 

(например, [d, g, h]).

vector задает будет или нет порт вектором и может считаться шиной. Выбор из:

*yes — этот порт вектор

*no — этот порт не вектор

National Instruments Corporation

275

Multisim User Guide

size

только для портов-векторов, задает верхнюю и нижнюю границу размера

 

вектора. Нижняя граница определяет минимальное количество элементов,

 

верхняя граница определяет максимальное количество элементов. Для

 

свободного размера или, если порт не вектор, используйте дефис «-».

dataflow задает направление потока (dataflow) через порт. Выбор из:

*in

*out

*inout

null

Например:

определяет, будет или нет ошибкой оставлять порт неприсоединенным. Выбор из:

*yes — этот порт может оставаться неприсоединенным

*no — этот порт должен быть присоединен

PORT_TABLE:

 

Port_Name:

cap

Description:

“capacitor terminals”

Direction:

inout

Default_Type:

hd

Allowed_Types:

[hd]

Vector:

no

Vector_Bounds:

-

Null_Allowed:

no

6.13.3.3 Таблица параметров

Параметры устройства определены в таблице параметров. Таблица параметров имеет следующий синтаксис:

PARAMETER_TABLE:

Parameter_Name: name Description: text Data_Type: type Vector: vector Vector_Bounds: size Default_Value: default Limits: range Null_Allowed: null

где:

name это действительный SPICE идентификатор, который будет использован в SPICE deck .model карте для ссылки на этот параметр.

textстрока, описывающая назначение и функционирование параметра.

National Instruments Corporation

276

Multisim User Guide

type тип данных параметра. Относится к основному типу данных Си (то есть, «double»), не к концептуальному типу параметра (то есть, «voltage». Выбор из:

*boolean (если тип данных Си “Boolean_t” с правильными значениями MIF_TRUE и MIF_FALSE)

*complex (если тип данных Си “Complex_t” с двумя частями: действительной и мнимой)

*int (если тип данных Си “int”)

*real (если тип данных Си “double”)

*string (если тип данных Си “char*”)

*pointer (если тип данных Си “void*”)

vector: определяет, будет ли параметр вектором или скаляром. Выбор из: * yes — параметр вектор

* no — параметр скаляр

size:

только для параметров-векторов, задает верхнюю и нижнюю границы

размера вектора. Нижняя граница определяет минимальное количество

 

 

элементов, верхняя — максимальное. Для свободного размера или

 

параметра не вектора используйте дефис «-». Альтернативно, задайте имя

 

порта, чей размер вектора будет использован для этого параметра.

default

Если Null_Allowed это «yes», то будет использовано значение по

 

умолчанию, если строка SPICE deck .model не содержит значения этого

 

параметра. Значение должно соответствовать Data_Type (numeric, boolean,

 

complex или string literal).

range

это ограниченный диапазон значений (для «int» и «real» типа параметров

 

только).

null

задает, будет или нет, разрешено параметру получить значение null.

 

Выбор из:

 

* yes — относящееся к SPICE deck .model карте значение этого параметра

 

может быть опущен и будет использовано значение по умолчанию или,

 

если нет предопределенного значения, неопределенное значение будет

 

передано в код-модель.

 

* no — этот параметр должен иметь значение. XSPICE выдаст флаг

 

ошибки, если в соответствующей SPICE deck .model карте опущено

 

значение этого параметра.

Например:

PARAMETER_TABLE:

Parameter_Name:

c

ic

Description:

“capacitance”

“voltage initial condition”

Data_Type:

real

real

Default_Value:

-

0.0

Limits:

-

-

Vector:

no

no

Vector_Bounds:

-

-

Null_Allowed:

no

no

National Instruments Corporation

277

Multisim User Guide