Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Verilog-AMS (от Verilog Analog Mixed-Signal Simulation) — язык описания и моделирования аппаратуры, был создан компанией Accellera на основе Verilog-A и Verilog-D с дополнительными возможностями, целью которого является работа с аналоговыми, аналогово-цифровыми системами и интегральными микросхемами, использование модулей, на высоких уровнях поведенческого и структурного описания систем и её компонентов.
Verilog-AMS — язык описания аппаратуры (hardware description language (HDL); Verilog (IEEE 1364—1995 Verilog HDL)). Характеристики Verilog-AMS модулей могут быть описаны математически и внутренними параметрами этого модуля. Структура компонента также может быть описана в термах связанных с ним подкомпонент. Данное описание может быть использовано в разных дисциплинах. Компоненты и архитектура Verilog-AMS HDL состоят из полной IEEE 1364—1995 Verilog HDL спецификации (Verilog-D) для описания аналоговых систем (Verilog-A) плюс дополнения к ним Verilog-AMS HDL.
Verilog-AMS HDL применяется для описания контактов, портов и цепей. При работе с аналоговыми устройствами используются законы сохранения обобщённой формы, такие как Кирхгофа и потенциала (KPL и KFL). Они определены в терминах количеств (например, напряжения и тока), связанных с поведением аналоговых схем. Verilog-AMS HDL может также использоваться, чтобы описать цифровые системы (в IEEE 1364-1995 Verilog HDL) и смешанные (аналогово-цифровые) системы, используя дискретные и непрерывные описания как определено в LRM.
Verilog-AMS HDL расширяет особенности цифрового языка моделирования (IEEE 1364—1995 Verilog HDL), обеспечивая единственный объединённый язык совместимый с аналоговой и цифровой семантикой.
Система является совокупностью связанных компонентов, которые взаимодействуют, самими компонентами также могут быть системы, когда иерархическая система определена. Если компонент не имеет никаких подкомпонентов, то он является примитивом. Каждый примитив связан с нулем или большим количеством сетей. Каждая цепь связана с сигналом, который может перемещаться по множественным уровням иерархии. Поведение каждого компонента определено значениями в сети. Если все цепи, которые связаны с сигналом, находятся в дискретном домене, сигнал — цифровой. Если находятся в непрерывном домене, сигнал — аналоговый. Сигнал, который является совокупностью от сетей обоих доменов, называют смешанным сигналом. Точно так же и порт, аналоговый порт и цифровой порт, и порт, подключенный к аналоговым, и цифровым — смешанный порт. Компоненты соединяются с узлами через порты и цепи, чтобы формировать иерархию. Если сигнал — аналоговый или смешанный, это связано с узлом, в то время как цифровой сигнал не связан с узлом. Независимо от количества аналоговых сетей в аналоговом или смешанном сигнале, аналоговый сигнал представлен только единственным узлом. Это гарантирует, что смешанный или аналоговый сигнал имеет только одно значение-потенциал относительно земли. Чтобы моделировать системы, необходимо иметь законченное описание системы и всех её компонентов. Описания систем обычно дается структурно, то есть содержит образцы компонентов и как они связаны, используя поведенческое или структурное описание. Поведенческое описание — математическое описание, на уровне сигналов в портах компонентов.
Важная характеристика систем — есть два значения, связанные с каждым узлом, потенциал (значение напряжения в электрических системах) и ток (поток в электрических системах). Потенциал узла связан со всеми непрерывными портами и сетями, связанными с узлом, и цепи видят тот же самый потенциал. Поток разделен, как поток от всех непрерывных портов и сетей в узле, и при суммировании дает ноль (0). Таким образом, узел действует как малая точка взаимосвязи, в которой потенциал один и тот же на всем узле, и на котором ток не сможет накопиться. Таким образом, узел сочетает в себе Закон Кирхгофа и Законы Тока (KPL и KFL). Когда элемент соединяется с узлом через порт или сеть, он может воздействовать, на потенциал в узле, или на ток в узле через порт или сеть. С консервативными системами также можно определить поведение ветви. Ветвь — путь потока между двумя узлами через элемент. Каждый ветвь имеет связанный потенциал (разница потенциалов между этими двумя узлами) и поток. Поведенческое описание элемента — это совокупность связанных ветвей.
В результате подключений порта аналоговых сетей, один узел может быть связан со множеством сетей с различными характеристиками. Модели потока сигнала могут быть описаны, как потенциалы выводов модуля, функции потенциалов при вводах, не зависят от потока. Как пример — изменяющийся повторитель напряжения:
module shiftPlus5(in, out);
input in;
output out;
voltage in, out; //напряжение-ток сигнала,
//но только потенциального характера
analog begin
V(out) <+ 5.0 + V(in);
end
endmodule
Если бы множество таких модулей было расположено каскадом последовательно, то было бы необходимо сохранить заряд (то есть, суммировать токи) в любом пройденном узле. Если, с другой стороны, вывод этого устройства были соединены с узлом, то вывод устройства, будет управляем источником напряжения. В этом случае ток через источник способствовал бы тому, чтобы сохранить заряд в узле.
Подход состоит в том, чтобы записать составляющие характеристики описания, используя консервативную семантику, кроме порта, требуются значения для всех составляющих, которые фактически используются в описании. Таким образом, порты сигнала требуют только потенциал, который определен.
Например, рассмотрим дифференциальный усилитель напряжения, и резистор. Усилители описаны, используя порты напряжения или тока сигнала, а резистор использует смешанные порты.
В этом случае, объявлено только напряжение на портах, потому что только напряжение используется в теле модели.
module voltage_amplifier (out, in) ;
input in ;
output out ;
voltage out , // Значение напряжения определенно функцией V()
in;
parameter real GAIN_V = 10.0 ;
analog
V(out) <+ GAIN_V * V(in) ;
endmodule
Здесь только ток используется в теле модели
module current_amplifier (out, in) ;
input in ;
output out ;
current out , // Значение тока определенно функцией I()
in ;
parameter real GAIN_I = 10.0 ;
analog
I(out) <+ GAIN_I * I(in) ;
endmodule
Описание резистора связывает напряжение и ток на портах.
module resistor (a, b) ;
inout a, b ;
electrical a, b ; //функции V() и I()
parameter real R = 1.0 ;
analog
V(a,b) <+ R * I(a,b) ;
endmodule