ИСПОЛЬЗОВАНИЕ ПОДМНОЖЕСТВА VHDL-AMS ДЛЯ МОДЕЛИРОВАНИЯ ЦЕПЕЙ МЕТОДОМ ГАРМОНИЧЕСКОГО БАЛАНСА.

Геннадий Сердюк*, Борис Шелковников**,
* <gserdyuk@ridgetop-group.com>, ** Институт телеком-муникационных систем  НТУУ <КПИ>, Индустриальный пер.2, 03056 Киев, Украина; <shelk@ ukr.net>

 


Аннотация – Доклад представляет иссследование возможности использования аналогового подмножества VHDL-AMS для целей моделирования цепей методом Гармонического Баланса и предлагает расширения языка в частотной области для увеличения гибкости моделирования и расширения моделируемого класса цепей.

 

1. Введение

В течение последних лет были приложены существенные усилия в области разработки языков описания аппаратных средств. Два языка описания аппаратного обеспечения цифровых и аналоговых цепей получили статус стандарта – VHDL-AMS и Verilog-AMS. Это важное достижение, поскольку открывает способ для стандартизации библиотек элементов и открытие рынка обмена моделями [3]. Однако оба языка означены как языки описания  моделей во временной области и не поддерживают моделирование в частотной области, что требуется  для большинства радиочастотных и СВЧ задач. Более того, VHDL-AMS не содержит строго определенного аналогового подмножества.

Настоящая статья имеет целью показать, что существует ограниченное подмножество VHDL-AMS, которого достаточно для описания аналоговых цепей и предложить расширение VHDL-AMS  для целей моделирования в частотной области.

 

2. Метод Гармонического Баланса

Уравнение непрерывной (аналоговой) цепи может быть сформулирована следующим образом:

Где v(t), u(t),y(t) i(v(t), q(v(t) и , v(t) и u(t) предполагаются T периодическими, y(t) – отклик линейной подсхемы и i(v) и q(v) – единственные нелинейные члены.

Рассматривая v и f для уравения (1) как ряды Фурье и делая необходимые преобразования, уравнения Гармонического Баланса (ГБ) могут быть записаны таким образом:

           (2)

Где,K – коли-чество учтенных частот, - квадратные блочные матрицы частот и импедансов.

Поскольку большинство нелинейностей моделируется во ременной области, первые два члена уравнения (2) обычно вычисляются через временную область с использованием быстрого преобразования Фурье (БПФ) следующим образом:

                            (3)

Аналогично для  Q(V).

Полученное уравнение (3) решается обыкновенно явным или неявным методом Ньютона [4,6,7].

3. Подмножество VHDL-AMS

Возможно выделить три главные части языка, которые служат разным целям: описывать цифровое (дискретное) поведение компонентов, описывать непрерывное (аналоговое) поведение компонент и описывать собственно структуру цепи (системы). Последняя часть обеспечивает разбиение цепи на компоненты. Она поддерживает конструкционные возможности языка.

Дискретная часть реализована с использованием сигналов и параллельных операторов. Аналоговая часть реализована через величины (иными словами – переменные цепи), терминалы и одновременные операторы (уравнения). Третья, часть описания цепи, представлена оператором воплощения компонента и предназначена для определения топологии цепи.

На самом нижнем уровне модели все компоненты описываться при помощи уравнений. Этот уровень описания создает основу для разработки библиотек моделей. Разработчик может строить уравнения любой сложности, вызывая функции, используя как простые  одновременные операторы, так и процедурные, которые строят уравнение из последовательных вычислений. Разработчик может создавать свои функции используя другие языки и использовать из в VHDL-AMS.

Например, чтобы определить нелинейный резистор:

 


entity nlr is      -- интерфейс сущности

port(terminal a,b: electrical);

generic (r, r2: real);  -- величины

end entity;

 

-- сущность может иметь много архитектур

architecture BEHAV_1 of nlr is

quantity U across Ir through a to b;

begin

Ir*r + Ir*Ir*r2 == U;   -- уравнение

end;

 

 

И далее можно использовать:

 

R1: entity nlr (BEHAV_1) 

     port map (t1, out2)  generic map(1200);

 

Дополнительно, язык поддерживает несколько атрибутов, которые, позволяют получить производные, интегралы и задержки величин. Например, если определено:

 


quantity a: real;

 

 

то далее в коде можно использовать:

 

 

adot…      -- производная от a

ainteg…     -- интеграл от a

adelayed(1.e-6)  -- a задержанная на 1 us

 

 

Это делает возможным использование описанного подмножества VHDL-AMS как языка моделирования для программы анализа методом гармонического баланса. Используя указанное подмножество, можно описывать нелинейное  динамическое поведение во временной области, соответствующее нелинейным интегро-дифференциальным уравнениям  с задержками. Это относиться к членам 1 и 2 Ур-я (2).

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

4. Расширения для Метода ГБ

Поскольку VHDL-AMS определен полностью во временной области, он не содержит средств для определения поведения в частотной области. Для расширения возможностей языка предлагается дополнительный атрибут, который представляет изображение некоторой величины в частотной области.

Если определена величина x, то ее образом будет xFD. Например для конденсатора:

 

ic'FD ==  2*math_j*math_p*FREQUENCY*C*ucFD;

 

FREQUENCY здесь – предопределенная функция языка, возвращающая значение текущей частоты.

Более обще:

 

x’FD==func(FREQUENCY,a,b,c)*y’FD;

 

где func() может определяться пользователем.

Значения импеданса цепи могут быть вычислены во время моделирования или выбраны из внешнего источника – файла или базы данных

Необходимо заметить, что предполагается, что любой одновременный оператор, который использует величину с атрибутом ‘FD в сущности весь определен в частотной области. Невозможно смешивать области внутри одного оператора (уравнения). Это не противоречит общепринятой практике, поскольку обычно уравнения определяются в одной области.

Описанное расширение соответствует слагаемому 3 уравнения (3),  расширяя класс описываемых задач на цепи с распределенными параметрами и другие линейные цепи, для которых пригодно описание поведения в частотной области.

 

5. Заключение

Сформулировано подмножество VHDL-AMS, пригодное  для моделирования аналоговых радиочастотных цепей методом гармонического баланса. Так же предложены расширения VHDL-AMS для моделирования в частотной области.

Подход увеличивает гибкость при моделировании радиочастотных и СВЧ компонент и расширяет класс описываемых языком задач.

Это множество языка обозначено как VHDL-AMS/FD и реализовано в программе анализа радиочастотных цепей Rincon [5].

 

Список Литературы

[1] VHDL-AMS Language Reference Manual, IEEE Standard No.: 1076.1-1999

[2] G. Serdyuk, D. Goodman, “VHDL Approach Improves Nonlinear Simulation”,  Microwaves & RF, November 2001, pp. 76-102.

[3] M. Mierzwinsky ar al, “Changing the Paradigm for Compact Model Inegration in Circuit Simulators Using Verilog-A”,
http://www.tiburon-da.com/ NanoTech2003.pdf

[4] Ken Kundert, “Simulation Methods for RF Integrated Circuits”, ICCAD-94.

[5] Rincon User Manual, Ridgetop Group, Inc., http://www.ridgetop-group.com

[6] V. Rizzoli at al, “Fast and Robust Inexact Newton Approach to the Harmonic Balance Analysis of Nonlinear Microwave Circuits”, IEEE and Guided Wave Letters, Vol. 7, No. 10, October, 1997.

[7] C.T. Kelley, “Iterative Methods for Linear and Nonlinear Equations”; Frontiers in Applied Mathematics, vol 16, SIAM, 1995

 

 

VHDL-AMS Subset for HB Simulation

Gennady Serdyuk <gserdyuk@ridgetop-group.com>
Boris Shelkovnikov,  Telecommunication Systems Institute NTTU <KPI>, Industrialnij per.2, 03056 Kiev, Ukraine. <shelk@ ukr.net>

 

This report shows that there is limited subset of VHDL-AMS, which is sufficient to describe pure analog circuits and to propose simple VHDL-AMS extension to get advantages of frequency-domain modeling and simulation.

While VHDL-AMS standard [1] does not separate language onto digital and analog parts, it is possible to distinguish three main language parts, intended to serve different purposes: describe digital (discrete) behavior of components, describe analog (continuous) behavior of components and structural description part.

Analog part is implemented through quantities (say - unknowns of circuit), terminals (special kind of quantities, supports conservation semantic) and simultaneous statements (represent equations). Given the equation support, designers can build higher-level blocks mixing lower-level blocks and equations, using quantities and terminals to interconnect blocks. In addition, language supports some attributes, which allow getting quantity derivatives, integrals and delays. 

That makes possible usage of described VHDL-AMS subset as modeling language for Harmonic Balance simulator. It allows description of nonlinear dynamic behavior in time domain, correspondent to nonlinear integro-differential equations. To extend language capabilities, additional attribute is proposed, which represent image of certain quantity in frequency domain.

For gioven quantity x attributed quantity x’FD will represent frequency-domain image of x. Equations wil look like:

 

 

x’FD==func(FREQUENCY,a,b,c)*y’FD;

 

where func() may be user defined and FREQUENCY here is predefined language function returning value of current frequency.

This extension correspondents to 3-rd term of Eq.(3) and makes broader the class described circuits, including distributed parameters circuits and other linear circuits, which may be described in frequency-domain.

VHDL-AMS subset suitable for RF analog circuit simulation by Harmonic Balance technique is described along with possible Frequency-Domain modeling extensions.

Approach gives increasing flexibility in RF&MW component modeling and broadens the class of tasks to be described by language.

That set is called VHDL-AMS/FD and used in Rincon RF circuit simulator [5].

Parts of presented work are made under contract with Ridgetop Group., Inc.