The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> trancision filter warning in verilogA https://designers-guide.org/forum/YaBB.pl?num=1453961926 Message started by deltasigmaADC on Jan 27th, 2016, 10:18pm |
Title: trancision filter warning in verilogA Post by deltasigmaADC on Jan 27th, 2016, 10:18pm I'm trying to implement sample and hold with finite rise and fall time unlike the the case in ahdlLib which has sudden jumps at output. My code is as below. module sah_ideal_risefall(vin, vout, vclk); input vin, vclk; output vout; electrical vin, vout, vclk; parameter real vtrans_clk = 2.5; parameter real risefalltime = 2p; real vout_val; analog begin @(initial_step) begin vout_val = 0; end @(cross(V(vclk) - vtrans_clk, +1)) begin vout_val = V(vin); end V(vout) <+ transition(vout_val,0,risefalltime); end endmodule During simulation spectre is giving me a warning as below. line 22: Transition filter contains a continuous signal in the expression. Since a transition filter can only be applied to piecewise constant signals, redefine the expression to ensure that the transition filter applies only to a piecewise constant signal. Isn't the variable updated only during positive edge of the clock? Doesn't that make the variable piecewise linear signal? Thank you in advance |
Title: Re: transision filter warning in verilogA Post by Ken Kundert on Jan 28th, 2016, 7:31pm I believe you are correct, the warning seems wrong to me. You don't need the initial_step() block. In varilog-A variables initialize to 0. Please do not put language or simulator questions in the design boards. -Ken |
Title: Re: trancision filter warning in verilogA Post by deltasigmaADC on Jan 28th, 2016, 9:48pm Thank you for the reply. Sorry for posting in the wrong place. |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |