Jump to content

Верилог-АМС

Verilog-AMS — это производная от Verilog языка описания аппаратного обеспечения , который включает расширения аналоговых сигналов и смешанных сигналов (AMS) для определения поведения аналоговых систем и систем смешанных сигналов. на основе событий Он расширяет циклы симулятора Verilog/ SystemVerilog / VHDL за счет симулятора непрерывного времени, который решает дифференциальные уравнения в аналоговой области. Обе области связаны: аналоговые события могут запускать цифровые действия и наоборот. [1]

Обзор [ править ]

Стандарт Verilog-AMS был создан с целью дать возможность разработчикам аналоговых и смешанных сигнальных систем и интегральных схем создавать и использовать модули, инкапсулирующие описания поведения высокого уровня, а также структурные описания систем и компонентов. [2] [3] [4]

Verilog-AMS — это стандартный язык моделирования схем со смешанными сигналами. Он обеспечивает семантику моделирования как в непрерывном времени, так и на основе событий, поэтому подходит для аналоговых, цифровых и смешанных аналогово-цифровых схем. Он особенно хорошо подходит для проверки очень сложных аналоговых, смешанных и радиочастотных интегральных схем. [5]

на основе событий Verilog и Verilog/AMS — это не процедурные языки программирования, а языки описания оборудования (HDL). По сути, они предоставляют сложные и мощные языковые функции для определения и синхронизации параллельных действий и событий. С другой стороны, многие действия, определенные в операторах программы HDL, могут выполняться параллельно (что-то похожее на потоки и тасклеты в процедурных языках, но гораздо более детально). Однако Verilog/AMS можно объединить с процедурными языками, такими как язык ANSI C, используя процедурный интерфейс Verilog симулятора, который упрощает реализацию набора тестов и позволяет взаимодействовать с устаревшим кодом или оборудованием испытательного стенда.

Первоначальным намерением комитета Verilog-AMS был единый язык для аналогового и цифрового проектирования, однако из-за задержек в процессе слияния он остается в Accellera, в то время как Verilog превратился в SystemVerilog и перешел в IEEE.

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

Verilog/AMS — это расширенная версия Verilog digital HDL, поэтому все операторы в цифровой области работают так же, как и в Verilog (примеры см. здесь). Все аналоговые части работают как в Verilog-A .

В следующем примере кода в Verilog-AMS показан ЦАП , который является примером аналоговой обработки, запускаемой цифровым сигналом:

`include   "constants.vams"  `include   "disciplines.vams"  простой модели DAC  // Модуль   dac_simple  (  aout  ,   clk  ,   din  ,   vref  ); 		 // Параметры 	 параметра   целочисленные   биты   =   4   из   [  1  :  24  ]; 	 параметра   целое число   td   =   1  n   from  [  0  :  inf  );    // Задержка обработки ЦАП 		 // Определение ввода/вывода 	 input   clk  ,   vref  ; 	 вход   [  биты  -  1  :  0  ]   din  ; 	 выход   выходной  ; 			 //Определение типов портов 	 log   clk  ; 	 логика   [  биты  -  1  :  0  ]   din  ; 	 электрический    выход  ,   vref  ; 		 // Внутренние переменные 	 real   aout_new  ,   ref  ; 	 целое число   я  ; 		 // Изменить сигнал в аналоговой части 	 Analog   Begin 		 @(  Posege   Clk  )   Begin   // Изменить выход только для нарастающего фронта тактового сигнала 						 aout_new   =   0  ; 			 ссылка   =   V  (  vref  ); 						 for  (  я  =  0  ;   я  <  биты  ;   я  =  я  +  1  )   начать 				 ref   =   ref  /  2  ; 				 aout_new   =   aout_new   +   ref   *   din  [  я  ]; 			 конец конец 		 V 			 (  aout  )  <   +   переход  (  aout_new  ,   td  ,   5  n  );   // Получаем более плавный переход при изменении выходного уровня 	 end  endmodule 

Модель АЦП считывает аналоговые сигналы в цифровых блоках:

`include   "constants.vams"  `include   "disciplines.vams"  простой модели АЦП  // Модуль   adc_simple  (  clk  ,   dout  ,   vref  ,   vin  ); 		 // Параметры 	 параметра   целочисленные   биты   =   4   из  [  1  :  24  ];   // Число бит 	 параметра   целое число   td   =   1   from  [  0  :  inf  );    // Задержка обработки АЦП 		 // Определение ввода/вывода 	 input   clk  ,   vin  ,   vref  ; 	 вывод   [  биты  -  1  :  0  ]   dout  ; 		 //Определение типов портов 	 electric   vref  ,   vin  ; 	 логика   клк  ; 	 reg   [  биты  -  1  :  0  ]   dout  ; 		 // Внутренние переменные 	 real   ref  ,   sample  ; 	 целое число   я  ; 			 начальное   начало 		 dout   =   0  ; 	 end 	 выполнять выборку в цифровых блоках для нарастающего фронта тактовой частоты 	 // Всегда   @(  posege   clk  )   Begin 				 Sample   =   V  (  vin  ); 		 ссылка   =   V  (  vref  ); 					 for  (  я  =  0  ;   я  <  биты  ;   я  =  я  +  1  )   начать 						 ref   =   ref  /  2  ; 							 if  (  образец   >   ссылка  )   начать 				 dout  [  i  ]   <=   #(  td  )   1  ; 				 образец   =   образец   -   ссылка  ; 			 конец 			 еще 				 dout  [  i  ]   <=   #(  td  )   0  ; 		 конец, 	 конец,  конецмодуль 

Реализации [ править ]

Хотя изначально этот язык поддерживался только коммерческими компаниями, часть подмножества поведенческого моделирования «Verilog-A» была принята сообществом, занимающимся моделированием транзисторов. Транслятор ADMS поддерживает его для симуляторов с открытым исходным кодом, таких как Xyce и ngSPICE. Более полная реализация теперь доступна через OpenVAF. Пост-SPICE-симулятор Gnucap был разработан в соответствии со стандартным документом, и его поддержка Verilog-AMS как на уровне симулятора, так и для поведенческого моделирования растет.

См. также [ править ]

Ссылки [ править ]

  1. ^ Семантика планирования указана в Справочном руководстве по языку Verilog/AMS, раздел 8.
  2. ^ Группа аналоговых смешанных сигналов Accellera Verilog, «Обзор», http://www.verilog.org/verilog-ams/htmlpages/overview.html
  3. ^ Справочное руководство по языку Verilog-AMS
  4. ^ Руководство дизайнера по Verilog-AMS
  5. ^ Проверка сложных аналоговых интегральных схем. Архивировано 18 октября 2006 г., в Wayback Machine.

Внешние ссылки [ править ]

  • И. Миллер и Т. Кассань, «Verilog-AMS упрощает моделирование сигналов смешанного режима», Технические материалы Международной конференции 2000 г. по моделированию и симуляции микросистем , стр. 305–308, доступно: https://web.archive.org /web/20070927051749/http://www.nsti.org/publ/MSM2000/T31.01.pdf

Общие [ править ]

открытым исходным Реализации с кодом

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 66f493f51a7ca0bb92dc73c27a6f22ef__1685516580
URL1:https://arc.ask3.ru/arc/aa/66/ef/66f493f51a7ca0bb92dc73c27a6f22ef.html
Заголовок, (Title) документа по адресу, URL1:
Verilog-AMS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)