Verilog-AMS

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Verilog-AMSили Verilog Analog Mixed-Signal Simulation(Verilog Аналогово Смешанное Моделирование(аналоговых и цифровых схем)) — язык описания аппаратуры, был создан компанией Accellera, на основе Verilog-A и Verilog-D с дополнительными возможностями, целью которого является работа с аналоговыми, анлогово-цифровыми системами и интегральными микросхемами, использование модулей, на высоких уровнях поведенческого, и структурного описания систем и ее компонент.

Описание и структура Verilog-AMS[править | править код]

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), обеспечивая единственный объединённый язык совместимый с аналоговой и цифровой семантикой.

Особенности языка[править | править код]

  • сигналы аналогового и цифрового типов могут быть объявлены в одном головном модуле, и аналоговые блоки могут появиться в этом же модуле
  • аналоговые и цифровые значения сигнала можно прочитать (операцией чтения) в любом контексте (аналог или цифра) в том же самом модуле
  • цифровые значения сигнала могут быть установлены (операция записи) в любом контексте вне аналогового процедурного блока
  • аналоговые потенциалы и потоки могут получить данные (операцией записи) только от аналогового процедурного блока
  • характеристики цифровых сигналов расширены
  • новая конструкция, добавлена, для облегчения автовставки определяемых пользователем модулей подключения между аналоговыми и цифровыми доменами
  • когда иерархические подключения имеют смешанный тип (то есть, аналоговый сигнал, связан с цифровым портом или цифровой сигнал, связанный с аналоговым портом), определяемые пользователем модули подключаются автоматически, чтобы преобразовать сигнал, с использованием аналогово-цифровой семантики.

Система Verilog-AMS[править | править код]

Решение анлогово-цифрового моделирования[править | править код]

Система очень продумана, являясь совокупностью связанных компонентов, которые взаимодействуют, самими компонентами также могут быть системы, когда иерархическая система определена. Если компонент не имеет никаких подкомпонентов, то он является примитивом. Каждый примитив связан с нулем или большим количеством сетей. Каждая цепь связана с сигналом, который может перемещаться по множественным уровням иерархии. Поведение каждого компонента определено значениями в сети. Если все цепи, которые связаны с сигналом, находятся в дискретном домене, сигнал — цифровой. Если находятся в непрерывном домене, сигнал — аналоговый. Сигнал, который является свокупностью от сетей обоих доменов, называют смешанным сигналом. Точно так же и порт, аналоговый порт и цифровой порт, и порт, подключенный к аналоговым, и цифровым — смешанный порт. Компоненты соединяются с узлами через порты и цепи, чтобы формировать иерархию. Если сигнал — аналоговый или смешанный, это связано с узлом, в то время как цифровой сигнал не связан с узлом. Независимо от количества аналоговых сетей в аналоговом или смешанном сигнале, аналоговый сигнал представлен только единственным узлом. Это гарантирует, что смешанный или аналоговый сигнал имеет только одно значение-потенциал относительно земли. Чтобы моделировать системы, необходимо иметь законченное описание системы и всех ее компонентов. Описания систем обычно дается структурно, то есть содержит образцы компонентов и как они связаны, используя поведенческое или структурное описание. Поведенческое описание — математическое описание, на уровне сигналов в портах компонентов.

Основные характеристики[править | править код]

Важная характеристика систем — есть два значения, связанные с каждым узлом, потенциал (значение напряжения в электрических системах) и ток (поток в электрических системах). Потенциал узла связан со всеми непрерывными портами и сетями, связанными с узлом, и цепи видят тот же самый потенциал. Поток разделен, как поток от всех непрерывных портов и сетей в узле, и при суммировании дает ноль (0). Таким образом, узел действует как малая точка взаимосвязи, в которой потенциал один и тот же на всем узле, и на котором ток не сможет накопиться. Таким образом, узел сочетает в себе Закон Кирхгофа и Законы Тока (KPL и KFL).Когда элемент соединяется с узлом через порт или сеть, он может воздействовать, на потенциал в узле, или на ток в узле через порт или сеть. С консервативными системами также можно определить поведение ветви. Ветвь — путь потока между двумя узлами через элемент. Каждый ветвь имеет связанный потенциал (разница потенциалов между этими двумя узлами) и поток. Поведенческое описание элемента — это совокупность связанных ветвей.

Примеры[править | править код]

Повторитель напряжения[править | править код]

В результате подключений порта аналоговых сетей, один узел может быть связан со множеством сетей с различными характеристиками. Модели потока сигнала могут быть описаны, как потенциалы выводов модуля, функции потенциалов при вводах, не зависят от потока. Как пример — изменяющийся повторитель напряжения:


                          module shiftPlus5(in, out);                                                                      
                          input in;                                                                                        
                          output out;                                                                                      
                          voltage in, out; //напряжение-ток сигнала,
                                           //но только потенциального характера         
                                                                                                 
                          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

Полезные ссылки[править | править код]

http://www.eda-stds.org/verilog-ams/

http://www.designers-guide.org/VerilogAMS/

http://www.verilog-ams.com

См.еще[править | править код]