The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> Help me understand this verilog-A code https://designers-guide.org/forum/YaBB.pl?num=1305632055 Message started by dfury on May 17th, 2011, 4:34am |
Title: Help me understand this verilog-A code Post by dfury on May 17th, 2011, 4:34am Help me understand this verilog-A code .I simply dont know anything about verilog-A. I want to modify this code for low voltage of 0 and high voltage of 2.5V.Can anyone help me modify this. This is a code for a comparator " module comparator(sigin, sigref, sigout); input sigin, sigref; output sigout; electrical sigin, sigref, sigout; parameter real sigout_high = 10; parameter real sigout_low = -10; parameter real sigin_offset = 0; parameter real comp_slope =1000; analog begin @ ( initial_step ) begin if (sigout_high <= sigout_low) begin $display("Range specification error. sigout_high = (%E) less than sigout_low = (%E).\n", sigout_high, sigout_low ); $finish; end end V(sigout) <+ 0.5 * (sigout_high - sigout_low) * tanh(comp_slope*(V(sigin, sigref)- sigin_offset)) + (sigout_high + sigout_low)/2; " REGARDS |
Title: Re: Help me understand this verilog-A code Post by boe on May 17th, 2011, 8:46am Dfury, Set sigout_high and sigout_low accordingly. Note that tanh has an output range of +/-1. B O E |
Title: Re: Help me understand this verilog-A code Post by dfury on May 17th, 2011, 8:52am okay.what about how we control the comparators speed? i mean if one input is changing at a rate of 1000MHz then will this work? |
Title: Re: Help me understand this verilog-A code Post by Geoffrey_Coram on May 17th, 2011, 12:57pm Did you look at the comparator posted on this site? http://www.designers-guide.org/Books/dg-vams/ch5/ch5-listing05.tgz It has td and tt (delay and transition time), which you should be able to use to control the speed. |
Title: Re: Help me understand this verilog-A code Post by dfury on May 17th, 2011, 1:24pm okay but is this an analog input comparator? |
Title: Re: Help me understand this verilog-A code Post by boe on May 18th, 2011, 2:30am Dfury, The code you suggested in the initial post is infinitely fast. It just scales the input and limits with tanh. The code Geoffrey suggested is also a continuous-time comparator. However, you need to scale the output appropriately. B O E |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |