Verilog-A
   HOME

TheInfoList



OR:

Verilog-A is an industry standard modeling language for analog circuits. It is the continuous-time subset of
Verilog-AMS Verilog-AMS is a derivative of the Verilog hardware description language that includes analog and mixed-signal extensions (AMS) in order to define the behavior of analog and mixed-signal systems. It extends the event-based simulator loops of Veril ...
. A few commercial applications may export
MEMS Microelectromechanical systems (MEMS), also written as micro-electro-mechanical systems (or microelectronic and microelectromechanical systems) and the related micromechatronics and microsystems constitute the technology of microscopic devices, ...
designs in Verilog-A format.


History

Verilog-A was created out of a need to standardize the
Spectre Spectre, specter or the spectre may refer to: Religion and spirituality * Vision (spirituality) * Apparitional experience * Ghost Arts and entertainment Film and television * ''Spectre'' (1977 film), a made-for-television film produced and writ ...
behavioral language in face of competition from
VHDL The VHSIC Hardware Description Language (VHDL) is a hardware description language (HDL) that can model the behavior and structure of digital systems at multiple levels of abstraction, ranging from the system level down to that of logic gates ...
(an IEEE standard), which was absorbing analog capability from other languages (e.g. MAST). Open Verilog International (OVI, the body that originally standardized Verilog) agreed to support the standardization, provided that it was part of a plan to create Verilog-AMS — a single language covering both analog and digital design. Verilog-A was an all-analog subset of Verilog-AMS that was the first phase of the project. There was considerable delay (possibly procrastination) between the first Verilog-A language reference manual and the full
Verilog-AMS Verilog-AMS is a derivative of the Verilog hardware description language that includes analog and mixed-signal extensions (AMS) in order to define the behavior of analog and mixed-signal systems. It extends the event-based simulator loops of Veril ...
, and in that time Verilog moved to the IEEE, leaving Verilog-AMS behind at
Accellera Accellera Systems Initiative (Accellera) is a standards organization that supports a mix of user and vendor standards and open interfaces development in the area of electronic design automation (EDA) and integrated circuit (IC) design and manufactu ...
. The email log from 2000AD can be foun
here


Standard Availability

Verilog-A standard does not exist stand-alone - it is part of the complete Verilog-AMS standard. Its LRM is available at the
Accellera Accellera Systems Initiative (Accellera) is a standards organization that supports a mix of user and vendor standards and open interfaces development in the area of electronic design automation (EDA) and integrated circuit (IC) design and manufactu ...
website. However, the initial and subsequent releases can be foun
here
with what will probably be the final releas
here
since future work will leverage the new net-type capabilities in
SystemVerilog SystemVerilog, standardized as IEEE 1800, is a hardware description and hardware verification language used to model, design, simulate, test and implement electronic systems. SystemVerilog is based on Verilog and some extensions, and since 200 ...
. Built-in types like "wreal" in Verilog-AMS will become user-defined types in
SystemVerilog SystemVerilog, standardized as IEEE 1800, is a hardware description and hardware verification language used to model, design, simulate, test and implement electronic systems. SystemVerilog is based on Verilog and some extensions, and since 200 ...
more in line with the
VHDL The VHSIC Hardware Description Language (VHDL) is a hardware description language (HDL) that can model the behavior and structure of digital systems at multiple levels of abstraction, ranging from the system level down to that of logic gates ...
methodology.


Compatibility with the

C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...

A subset of Verilog-A can be translated automatically to the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
using the Automatic Device Model Synthesizer (ADMS). This feature is used for example to translate the
BSIM BSIM (Berkeley Short-channel IGFET Model) refers to a family of MOSFET transistor models for integrated circuit design. It also refers to the BSIM group located in the Department of Electrical Engineering and Computer Sciences (EECS) at the Univers ...
Verilog-A transistor models, which are no more released in C, for use in simulators like
ngspice ''Ngspice'' is an open-source mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE, version 3f.5, which was released in 1993. A small group of maintainers and the user community ...
.


Code example

This first example gives a first demonstration of modeling in Verilog-A: `include "constants.vams" `include "disciplines.vams" module example(a,b,c,d,e,f); parameter real R = 1m; parameter real C = 1u; parameter real L = 1u; parameter integer gain = 2; input a; output b; inout c,d,e,f; electrical a,b,c,d,e,f; analog begin // Modelling lumped elements //Resistor V(c,d) <+ R*I(c,d); //Inductor // Multiple current or voltage assignments are accumulated V(c,d) <+ L * ddt(I(c,d)); //Capacitor I(e,f) <+ C * ddt(V(e,f)); // Simple amplifier // Voltages are referenced to ground if no second node is given V(b) <+ gain * V(a); end endmodule This Verilog-AMS example implements an ideal diode, by defining the current through the branch (a,c) depending on voltage at branch terminals (a), (c), and the ambient temperature of the simulated circuit: // Ideal Diode module diode (a, c); inout a, c; electrical a, c; parameter real IS = 1.0e-14; // User-configurable saturation current real idio; /* * Calculate nonlinear current through diode depending on * - thermal voltage $vt (at ambient temperature of simulated circuit) and * - voltage between terminals */ analog begin idio = IS * (limexp(V(a,c)/$vt) - 1); I(a,c) <+ idio; end endmodule For a simple DC voltage source, the branch voltage is set to the constant (DC) value: // DC Source module vsrc (p,n); parameter real dc = 1.0; inout p, n; electrical p, n; analog begin // Assign constant DC voltage at each time step: V(p,n) <+ dc; end endmodule A sine voltage generator can use the built-in ''sin()'' function: // A Sinusoidal Voltage Source `include "constants.vams" module vsin (p,n); parameter real amplitude = 1.0; parameter real freq = 50.0; parameter real phase = 0.0; inout p, n; electrical p, n; analog begin V(p,n) <+ amplitude * sin(`M_TWO_PI * freq * $abstime + phase); $bound_step(0.1/freq); // demand at least 10 points per cycle to avoid aliasing issues end endmodule


See also

*
Verilog-AMS Verilog-AMS is a derivative of the Verilog hardware description language that includes analog and mixed-signal extensions (AMS) in order to define the behavior of analog and mixed-signal systems. It extends the event-based simulator loops of Veril ...
*
Verilog Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register-transfer level of abstraction. It is also ...


References


External links


Language design objectives (circa 1994)

Accellera Verilog Analog Mixed-Signal Group





verilogams.com
— User's manual for Verilog-AMS and Verilog-A
Designer's Guide Community
— Examples of models written in Verilog-A {{Programmable Logic Hardware description languages