Home > Community > Forums > Custom IC Design > Solving a differential equation using VerilogA Model

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Solving a differential equation using VerilogA Model 

Last post Thu, Sep 19 2013 5:56 AM by RFStuff. 0 replies.
Started by RFStuff 19 Sep 2013 05:56 AM. Topic has 0 replies and 229 views
Page 1 of 1 (1 items)
Sort Posts:
  • Thu, Sep 19 2013 5:56 AM

    • RFStuff
    • Top 25 Contributor
    • Joined on Tue, Feb 5 2013
    • Posts 256
    • Points 4,515
    Solving a differential equation using VerilogA Model Reply

    Dear All,

    I need to solve a differntial eqaition in my VerilogA marco-model

    The eqaution I want to solve is:-

     

     ddt(V(alpha)) = Vx * V(in)

    V(in) is the input signal ( as a function of time 't')  to the model.

    Vx is read from a "table_model" at (t + V(alpha) i.e (  $(abstime) + V(alpha)  )

    To solve this  I did as below:-

     

     // define branches
    branch (alpha) alpha1;
    branch (alpha) alpha2;

    I(alpha1) <+ -Vx * V(in);

    I(alpha2) <+ ddt(V(alpha));

     

      The KCL at alpha forces I(alpha1) + I(alpha2) = 0  and solve the differntial equation.   

     

    I went and checked the results.

    At  $abstime = t1

         Vx * V(in)= x1

         V(alpha)= y1

    At  $abstime = t2

         Vx * V(in)= x2

         V(alpha)= y2

     

    I think y2 should be eqaul to 

             y2= [ x2 * (t2 - t1) ]  + y1.

    But SPECTRE is showing something different than "y2" .

    Can anybody please tell where I am going wrong ?

     

    Kind Regards,

     

     

     

     

     

    • Post Points: 5
Page 1 of 1 (1 items)
Sort Posts:
Started by RFStuff at 19 Sep 2013 05:56 AM. Topic has 0 replies.