Verilog-AMS
Verilog-AMS és un derivat del llenguatge de descripció de maquinari Verilog que inclou extensions de senyal analògic i mixt (AMS) per tal de definir el comportament dels sistemes de senyal analògic i mixt. Amplia els bucles del simulador basat en esdeveniments de Verilog/ SystemVerilog/VHDL, mitjançant un simulador de temps continu, que resol les equacions diferencials en el domini analògic. Tots dos dominis estan acoblats: els esdeveniments analògics poden desencadenar accions digitals i viceversa.[1]
Visió general
[modifica]L'estàndard Verilog-AMS es va crear amb la intenció de permetre als dissenyadors de sistemes de senyal analògic i mixt i circuits integrats crear i utilitzar mòduls que encapsulin descripcions de comportament d'alt nivell, així com descripcions estructurals de sistemes i components.
Verilog-AMS és un llenguatge de modelatge estàndard de la indústria per a circuits de senyal mixt. Proporciona semàntica de modelatge en temps continu i basat en esdeveniments, de manera que és adequat per a circuits analògics, digitals i mixtes analògics/digitals. És especialment adequat per a la verificació de circuits integrats analògics, de senyal mixt i de RF molt complexos.[2]
Verilog i Verilog/AMS no són llenguatges de programació procedimentals, sinó llenguatges de descripció de maquinari (HDL) basats en esdeveniments. Com a tal, proporcionen funcions de llenguatge sofisticades i potents per a la definició i sincronització d'accions i esdeveniments paral·lels. D'altra banda, moltes accions definides a les sentències del programa HDL es poden executar en paral·lel (una mica semblants als fils i tasques en llenguatges procedimentals, però molt més detallats). No obstant això, Verilog/AMS es pot combinar amb llenguatges de procediment com el llenguatge ANSI C mitjançant la interfície de procediment Verilog del simulador, que facilita la implementació de la suite de proves i permet la interacció amb codi heretat o equips de banc de proves.[3]
Exemple de codi
[modifica]Verilog/AMS és un superconjunt de l'HDL digital de Verilog, de manera que totes les declaracions del domini digital funcionen com a Verilog (vegeu-hi exemples). Totes les peces analògiques funcionen com a Verilog-A.[4]
L'exemple de codi següent a Verilog-AMS mostra un DAC que és un exemple de processament analògic que s'activa per un senyal digital:
`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
Referències
[modifica]- ↑ «[https://accellera.org/images/downloads/standards/v-ams/VAMS-LRM-2-4.pdf Verilog-AMS Language Reference Manual]» (en anglès). https://accellera.org.+[Consulta: 16 juliol 2023].
- ↑ «Verilog-AMS Tutorials — Documentation» (en anglès). https://verilogams.com.+[Consulta: 16 juliol 2023].
- ↑ «Verilog-A and Verilog-AMS Reference Manua» (en anglès). http://edadownload.software.keysight.com.+[Consulta: 16 juliol 2023].
- ↑ «Verilog-A/MS — Documentation» (en anglès). https://verilogams.com.+[Consulta: 16 juliol 2023].