वेरिलॉग-एएमएस
वेरिलोग-एएमएस हार्डवेयर विवरण भाषा का व्युत्पन्न है जिसमें एनालॉग और मिश्रित-सिग्नल सिस्टम के व्यवहार को परिभाषित करने के लिए एनालॉग और मिश्रित-सिग्नल एक्सटेंशन (एएमएस) सम्मिलित हैं। यह सतत-समय सिम्युलेटर द्वारा वेरिलोग/सिस्टम वेरलॉग/वीएचडीएल के इवेंट-आधारित सिम्युलेटर लूप का विस्तार करता है, जो एनालॉग-डोमेन में अंतर समीकरणों को हल करता है। दोनों डोमेन एनालॉग इवेंट डिजिटल क्रियाओं को ट्रिगर कर सकते हैं और इसके विपरीत युग्मित हैं: ।[1]
अवलोकन
वेरिलॉग-एएमएस मानक एनालॉग और मिश्रित सिग्नल सिस्टम और एकीकृत परिपथ के डिजाइनरों को सक्षम करने के कथन से बनाया गया था, जो कि उच्च-स्तरीय व्यवहार विवरणों के साथ-साथ सिस्टम और घटकों के संरचनात्मक विवरणों को बढ़ाने वाले मॉड्यूल को बनाने और उपयोग करने के लिए एकीकृत परिपथ का उपयोग किया जाता है।[2][3][4] वेरिलॉग-एएमएस मिश्रित सिग्नल परिपथ के लिए उद्योग मानक मॉडलिंग भाषा है। यह निरंतर-समय और घटना-चालित मॉडलिंग शब्दार्थ दोनों प्रदान करता है, और इसलिए एनालॉग, डिजिटल और मिश्रित एनालॉग/डिजिटल परिपथ के लिए उपयुक्त है। यह विशेष रूप से बहुत जटिल एनालॉग, मिश्रित-सिग्नल और आरएफ एकीकृत परिपथ के सत्यापन के लिए अनुकूल है।[5]
वेरिलॉग और वेरिलॉग/एएमएस प्रक्रियात्मक प्रोग्रामिंग भाषाएं नहीं हैं, किन्तु इवेंट-आधारित हार्डवेयर विवरण भाषाएँ (एचडीएलएस) हैं। जैसे, वे समानांतर कार्यों और घटनाओं की परिभाषा और सिंक्रनाइज़ेशन के लिए परिष्कृत और शक्तिशाली भाषा सुविधाएँ प्रदान करते हैं। दूसरी ओर, एचडीएल प्रोग्राम स्टेटमेंट में परिभाषित कई क्रियाएं समानांतर में चल सकती हैं (कुछ सीमा तक प्रक्रियात्मक भाषाओं में थ्रेड्स और टास्कलेट के समान, किन्तु बहुत अधिक ठीक-ठीक दाने) । चूँकि, वेरिलोग/एएमएस को सिम्युलेटर के वेरिलोग प्रक्रियात्मक इंटरफ़ेस का उपयोग करके एएनएसआई सी भाषा जैसी प्रक्रियात्मक भाषाओं के साथ जोड़ा जा सकता है, जो टेस्टसुइट कार्यान्वयन को कम करता है, और विरासत कोड या टेस्टबेंच उपकरण के साथ परस्पर क्रिया की अनुमति देता है।
वेरिलोग-एएमएस समिति का मूल इरादा एनालॉग और डिजिटल डिजाइन दोनों के लिए एकल भाषा थी, चूँकि विलय की प्रक्रिया में देरी के कारण यह एक्सेलेरा में रहता है, जबकि वेरिलोग सिस्टमवरिलॉग में विकसित हुआ और आईईईई में चला गया था।
कोड उदाहरण
वेरिलॉग/एएमएस वेरिलॉग डिजिटल एचडीएल का सुपरसेट है, इसलिए डिजिटल डोमेन में सभी कथन वेरिलॉग में काम करते हैं (उदाहरण के लिए वहां देखें)। सभी एनालॉग पार्ट्स वेरिलोग-ए के रूप में काम करते हैं।
वेरिलॉग-एएमएस में निम्न कोड उदाहरण डीएसी दिखाता है जो एनालॉग प्रोसेसिंग के लिए उदाहरण है जो डिजिटल सिग्नल द्वारा ट्रिगर किया गया है:
`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
क्रियान्वयन
जबकि भाषा को प्रारंभ में केवल वाणिज्यिक कंपनियों द्वारा समर्थित किया गया था, व्यवहार मॉडलिंग उपसमुच्चय के कुछ भागो, "वेरिलॉग-ए" को ट्रांजिस्टर-मॉडलिंग समुदाय द्वारा अपनाया गया था। एडीएमएस अनुवादक एक्सवाईसीई और एनजीस्पाइस जैसे ओपन-सोर्स सिमुलेटर के लिए इसका समर्थन करता है। अधिक संपूर्ण कार्यान्वयन अब ओपनवीएएफ के माध्यम से उपलब्ध है। पोस्ट-स्पाइस सिम्युलेटर ग्नुकैप को मानक दस्तावेज़ के अनुसार डिज़ाइन किया गया था, और सिम्युलेटर स्तर और व्यवहार मॉडलिंग दोनों के लिए वेरिलॉग-एएमएस के लिए इसका समर्थन बढ़ रहा है।
यह भी देखें
- वेरिलॉग
- वेरिलोग-ए
- वीएचडीएल-एएमएस
- सिस्टम सी-एएमएस
संदर्भ
- ↑ Scheduling semantics are specified in the Verilog/AMS Language Reference Manual, section 8.
- ↑ Accellera Verilog Analog Mixed-Signal Group, "Overview," http://www.verilog.org/verilog-ams/htmlpages/overview.html
- ↑ Verilog-AMS Language Reference Manual
- ↑ The Designer's Guide to Verilog-AMS
- ↑ Verification of Complex Analog Integrated Circuits Archived October 18, 2006, at the Wayback Machine
बाहरी संबंध
- I. Miller and T. Cassagnes, "वेरिलॉग-एएमएस Eases Mixed Mode Signal Simulation," Technical Proceedings of the 2000 International Conference on Modeling and Simulation of Microsystems, pp. 305–308, Available: https://web.archive.org/web/20070927051749/http://www.nsti.org/publ/MSM2000/T31.01.pdf
सामान्य
- एक्सेलेरा वेरिलॉग Anaglic Mixed- सिग्नल ग्रुप
- वेरिलॉगएएमएस.com-वेरिलॉग-एएमएस और वेरिलॉग-ए के लिए उपयोगकर्ता का मैनुअल
- डिजाइनर गाइड समुदाय, वेरिलोग-ए/एमएस-वेरिलोग-एम्स में लिखे गए मॉडलों के उदाहरण
- eda.org एएमएस wiki - मुद्दे, भविष्य के विकास, Systemवेरिलॉग एकीकरण
खुला स्रोत कार्यान्वयन
- openvएएमएस, ओपन-सोर्स वेरिलोगम्स-1.3 आंतरिक वीपीआई-जैसे प्रतिनिधित्व के साथ पार्सर
- v2000 परियोजना-वेरिलॉग-एएमएस parser & elaborator
श्रेणी: हार्डवेयर विवरण भाषाएँ