Прежде чем можно будет записать модель Verilog-A объекта схемы РФ, необходимо создать rfmodel.rational
объект представлять компонент.
Существует два способа создать объект модели РФ:
Можно подбирать модель рациональной функции к данным компонента с помощью rationalfit
функция.
Можно использовать rfmodel.rational
конструктор, чтобы задать представление остатка полюса компонента непосредственно.
В этом разделе рассматриваются использование модели рациональной функции. Для получения дополнительной информации об использовании конструктора смотрите rfmodel.rational
страница с описанием.
Когда вы используете rationalfit
функция, чтобы создать rfmodel.rational
объект, который представляет компонент РФ, аргументы, которые вы задаете, влияет, как быстро получившаяся модель Verilog-A запускается в средстве моделирования схемы.
Можно использовать rationalfit
функция только с этими двумя обязательными аргументами. Синтаксис:
model_obj = rationalfit(freq,data)
где
model_obj
указатель на объект модели рациональной функции.
freq
вектор значений частоты, которые соответствуют значениям данных.
data
вектор, который содержит данные, чтобы соответствовать.
Для более быстрой симуляции создайте объект модели с самым маленьким количеством полюсов, требуемых точно представлять компонент. Чтобы управлять количеством полюсов, используйте синтаксис:
model_obj = rationalfit(freq,data,tol,weight,delayfactor)
где
tol
— соответствующий относительной погрешности допуск, в децибелах. Задайте самый большой приемлемый допуск к своему приложению. Используя более трудный допуск значения могут обеспечить rationalfit
функция, чтобы добавить больше полюсов в модель, чтобы достигнуть лучшей подгонки.
weight
— вектор, который задает взвешивание подгонки на каждой частоте.
delayfactor
— значение, которое управляет суммой задержки, раньше соответствовало данным. Задержка вводит фазу, переключают на нижний регистр частотный диапазон, который может потребовать, чтобы большое количество полюсов соответствовало использованию модели рациональной функции. Когда вы задаете величину задержки, rationalfit
функция представляет задержку как экспоненциальный сдвиг фазы. Этот сдвиг фазы позволяет функции соответствовать данным с помощью меньшего количества полюсов.
Эти аргументы описаны подробно в rationalfit
страница ссылки на функцию.
Можно также задать количество полюсов непосредственно с помощью npoles
аргумент. Точность модели не гарантируется с подходом, таким образом, вы не должны будете задавать npoles
когда точность очень важна. Для получения дополнительной информации о npoles
аргумент, смотрите rationalfit
страница с описанием.
Если вы планируете интегрировать модуль Verilog-A в большой проект для симуляции с помощью подробных моделей, таких как модели схемы транзисторного уровня, время симуляции, использованное модулем Verilog-A, может оказать тривиальное влияние на полное время симуляции. В этом случае нет никакой причины занять время, чтобы оптимизировать модель рациональной функции компонента.
Для получения дополнительной информации о rationalfit
аргументы функции, смотрите rationalfit
страница с описанием.
Вы используете writeva
метод, чтобы создать модуль Verilog-A, который описывает объект модели РФ. Этот метод пишет модуль в заданный файл. Используйте синтаксис:
status = writeva(model_obj,'obj1',{'inp','inn'},{'outp','outn'})
записать модуль Verilog-A для объекта модели model_obj
к файлу obj1.va
. Модуль имеет дифференциальные входные сети, inp
и inn
, и дифференциальные выходные сети, outp
и outn
. Метод возвращает status
, логическое значение true
если операция успешна и false
в противном случае.
writeva
страница с описанием описывает аргументы метода подробно.
Пример экспорта модуля Verilog-A появляется в примере RF Toolbox™, Моделируя Высокоскоростную Основную плату (Часть 5: Модель Рациональной функции к Модулю Verilog-A).