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"
// Simple DAC model
module dac_simple(aout, clk, din, vref);
	
	// Parameters
	parameter integer bits = 4 from [1:24];
	parameter integer td = 1n from[0:inf);  // Processing delay of the DAC
	
	// Define input/output
	input clk, vref;
	input [bits-1:0] din;
	output aout;
		
	//Define port types
	logic clk;
	logic [bits-1:0] din;
	electrical  aout, vref;
	
	// Internal variables
	real aout_new, ref;
	integer i;
	
	// Change signal in the analog part
	analog begin
		@(posedge clk) begin // Change output only for rising clock edge	
			
			aout_new = 0;
			ref = V(vref);
			
			for(i=0; i<bits; i=i+1) begin
				ref = ref/2;
				aout_new = aout_new + ref * din[i];
			end
		end	
		V(aout) <+ transition(aout_new, td, 5n); // Get a smoother transition when output level changes
	end
endmodule

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

`include "constants.vams"
`include "disciplines.vams"
// Simple ADC model
module adc_simple(clk, dout, vref, vin);
	
	// Parameters
	parameter integer bits = 4 from[1:24]; // Number of bits
	parameter integer td = 1 from[0:inf);  // Processing delay of the ADC
	
	// Define input/output
	input clk, vin, vref;
	output [bits-1:0] dout;
	
	//Define port types
	electrical vref, vin;
	logic clk;
	reg [bits-1:0] dout;
	
	// Internal variables	
	real ref, sample;
	integer i;
	
	
	initial begin
		dout = 0;
	end

	// Perform sampling in the digital blocks for rising clock edge
	always @(posedge clk) begin
		
		sample = V(vin);
		ref = V(vref);
			
		for(i=0; i<bits; i=i+1) begin
			
			ref = ref/2;
				
			if(sample > ref) begin
				dout[i] <= #(td) 1;
				sample = sample - ref;
			end
			else
				dout[i] <= #(td) 0;
		end
	end
endmodule

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

Хотя изначально этот язык поддерживался только коммерческими компаниями, часть подмножества поведенческого моделирования «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 дней с момента нарушения.)