to solve differential equations in verilog-a?

Discussion in 'Cadence' started by lijp09, Jul 26, 2008.

  1. lijp09

    lijp09 Guest

    Hi,
    Now I'm using verilog-a to do some research on modeling kinematic
    structures. We all know that ddt or idt is accepted in verilog-a, such
    like the following sentences:
    Pos(v)<+ddt(x);

    But if Fdrv is from a source outside my module and i want to output
    the x in the following differential equation, how can i?

    a*x''+b*x'+cx=Fdrv

    i've written these codes,
    .......(includings)
    module test(Fdrv,x);
    inout Fdrv,x;
    kinematic Fdrv,x;
    kinematic v; //temp. var. to hold ddt(x)
    parameter real a=xxx, b=xxx, c=xxx; // assume a,b,c are
    properly defined
    analog begin
    Pos(v)<+ddt(x);
    F(Fdrv)<+a*ddt(Pos(v))
    +b*Pos(v)
    +c*Pos(x);
    end
    endmodule

    if i input x to module test, i will get proper output of Fdrv, but
    if i want to input Fdrv and get the
    proper value of x, which means i want to solve this differential
    equation, it never works.
    How can i solve this problem? thank you very very much....
     
    lijp09, Jul 26, 2008
    #1
  2. lijp09

    Riad KACED Guest

    Riad KACED, Jul 29, 2008
    #2
  3. lijp09

    Riad KACED Guest

    Hi,

    I'm not gonna answer your question since my Verilog-A is very average.
    But there is a forum where you are most likely to find answers for
    these kind of questions:
    http://www.designers-guide.org/Forum/YaBB.pl?board=behavioral

    That said, many people in this forum are fit enough to answer you
    indeed. The only thing is how to catch these very busy guys ?!

    Good luck anyway !
    Riad.
     
    Riad KACED, Jul 29, 2008
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.