Failed to compile ahdlcmi module library

Discussion in 'Cadence' started by batik99, Feb 22, 2007.

  1. batik99

    batik99 Guest

    Hi,

    I am trying to code up a clocked comparator in verilog-A. Below is the
    code listing :

    // VerilogA for 90nm_mixer, latched_comparator, veriloga

    `include "constants.vams"
    `include "disciplines.vams"

    module latched_comparator(inp, inn, CLK, dout);
    input inp, inn;
    electrical inp, inn;

    input CLK;
    electrical CLK;

    output dout;
    electrical dout;

    parameter real vth = 0.6;
    real hold;

    analog begin
    @(cross((V(CLK)-vth), +1)) begin
    if (V(inp) > V(inn))
    hold = 1.0;
    else
    hold = 0.0;
    end
    V(dout) <+ hold;
    end
    endmodule

    Everytime I tried to compile it, I got a failed ahdlcmi compile error.
    I'm using Cadence version 5.10.41_USR_3.27.30.

    Here is the content of the ahldcmi.out file :

    ahdlcmicompile: Compiling ahdlcmi in /vol/hitz/vol2/designs/Dcdg/users/
    winoto/90nm_mixer/latched_comparator/veriloga/veriloga.va.ahdlcmi/ for
    Linux2.6.9-42.ELsmp+gcc with optimize using gcc on Thu Feb 22 08:53:37
    PST 2007 [0]
    ahdlcmicompile: Generating makefile
    PATH: /tools/CMP/cmos090_50a/UNIOPUS/uniopus_5.0.33_Lnx/tools.lnx86/
    systemc/gcc/install/bin:/tools/CMP/cmos090_50a/
    SignOffTechnoKit_cmos090gp_7M2T_5.0a/bin:/tools/CMP/cmos090_50a/
    RtlKit_3.0.2/bin:/tools/CMP/cmos090_50a/PLSKit_1.3/bin:/tools/CMP/
    cmos090_50a/DK_cmos090gp_7M2T_50A_5.0.a/bin:/tools/CMP/cmos090_50a/
    adv_AvantiTechnoKit_cmos090_7M2T_M2V_AP_5.1/bin:/tools/CMP/cmos090_50a/
    UNIOPUS/uniopus_5.0.33_Lnx/tools/bin:/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools/dfII/bin:/tools/grid/bin/lx24-amd64:.:/usr/
    cluster/bin:/usr/cluster/jdk1.5.0_10/bin:/usr/local/bin:/usr/bin:/bin:/
    tools/grid/bin/lx24-amd64:.:/usr/cluster/bin:/usr/cluster/jdk1.5.0_10/
    bin:/usr/local/bin:/usr/bin:/bin:/usr/kerberos/bin:/usr/local/bin:/usr/
    bin:/bin:/usr/X11R6/bin:/vol/hitz/tools/commercial/mathworks/
    matlabR143:/vol/hitz/tools/commercial/mathworks/matlabR143:/tools/
    mentor/calibre2006.2/ixl_cal_2006.2_30.26/bin:/tools/CMP/cmos090_50a/
    UnicadKernel_3.3:/tools/CMP/cmos090_50a/UnicadKernel_3.3/bin:/tools/
    CMP/cmos090_50a/adv_AvantiKit_2.3.7.3/bin:/tools/CMP/cmos090_50a/
    DftKit_1.3.1/bin:/tools/CMP/cmos090_50a/RtlTechnoKit_cmos090_3.0.1/
    bin:/tools/CMP/cmos090_50a/SignOffKit_2.3.8.2/bin:/tools/CMP/
    cmos090_50a/SynopsysHandOffKit_2.3.8.2/bin:/tools/CMP/cmos090_50a/
    Unidoc_2.7.b/bin:/tools/CMP/cmos090_50a/UnixBudgetKit_2.3.5/bin:/vol/
    hitz/tools/commercial/cds99/IUS/IUS54_lnx/tools.lnx86/bin
    LD_LIBRARY_PATH: /tools/CMP/cmos090_50a/UNIOPUS/uniopus_5.0.33_Lnx/
    tools.lnx86/systemc/gcc/install/lib:/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools.lnx86/mdl/lib:/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools.lnx86/dfII/lib:/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools.lnx86/lib:/tools/grid/lib/lx24-amd64:/vol/
    hitz/tools/commercial/cds99/IUS/IUS54_lnx//tools/lib:/vol/hitz/tools/
    commercial/cds99/IC5033_lnx86//tools/lib
    Compiling C file installdev.c (optimize)
    /tools/CMP/cmos090_50a/UNIOPUS/uniopus_5.0.33_Lnx/tools.lnx86/systemc/
    gcc/install/bin/gcc -ansi -march=i486 -O3 -DSYSV -DSVR4 -D_REENTRANT -
    fPIC -DconfigSPECTRE -I. -I/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools.lnx86/spectre/ahdlcmi/include -c installdev.c
    -o obj/Linux2.6.9-42.ELsmp+gcc/optimize/installdev.o || rm -f -f obj/
    Linux2.6.9-42.ELsmp+gcc/optimize/installdev.o;
    Compiling C file latched_comparator.c (optimize)
    /tools/CMP/cmos090_50a/UNIOPUS/uniopus_5.0.33_Lnx/tools.lnx86/systemc/
    gcc/install/bin/gcc -ansi -march=i486 -O3 -DSYSV -DSVR4 -D_REENTRANT -
    fPIC -DconfigSPECTRE -I. -I/tools/CMP/cmos090_50a/UNIOPUS/
    uniopus_5.0.33_Lnx/tools.lnx86/spectre/ahdlcmi/include -c
    latched_comparator.c -o obj/Linux2.6.9-42.ELsmp+gcc/optimize/
    latched_comparator.o || rm -f -f obj/Linux2.6.9-42.ELsmp+gcc/optimize/
    latched_comparator.o;
    latched_comparator.c: In function `latched_comparator_DcFuncDerLoad':
    latched_comparator.c:23: `_V_Static_dout_120' undeclared (first use in
    this function)
    latched_comparator.c:23: (Each undeclared identifier is reported only
    once
    latched_comparator.c:23: for each function it appears in.)
    latched_comparator.c:28: `_dout_flow_108' undeclared (first use in
    this function)
    latched_comparator.c: In function `latched_comparator_DcFuncLoad':
    latched_comparator.c:38: `_V_Static_dout_120' undeclared (first use in
    this function)
    latched_comparator.c:41: `_dout_flow_108' undeclared (first use in
    this function)
    latched_comparator.c: In function
    `latched_comparator_TranFuncDerLoad':
    latched_comparator.c:51: `_V_Static_dout_120' undeclared (first use in
    this function)
    latched_comparator.c:56: `_dout_flow_108' undeclared (first use in
    this function)
    latched_comparator.c: In function `latched_comparator_TranFuncLoad':
    latched_comparator.c:66: `_V_Static_dout_120' undeclared (first use in
    this function)
    latched_comparator.c:69: `_dout_flow_108' undeclared (first use in
    this function)
    /tools/CMP/cmos090_50a/UNIOPUS/uniopus_5.0.33_Lnx/tools.lnx86/systemc/
    gcc/install/bin/gcc -shared -O3 -fPIC -o obj/Linux2.6.9-42.ELsmp+gcc/
    optimize/libahdlcmi.so ./obj/Linux2.6.9-42.ELsmp+gcc/optimize/
    installdev.o ./obj/Linux2.6.9-42.ELsmp+gcc/optimize/
    latched_comparator.o -Wl,-rpath,/usr/lib -Wl,-rpath,/lib -s
    gcc: ./obj/Linux2.6.9-42.ELsmp+gcc/optimize/latched_comparator.o: No
    such file or directory
    gnumake: *** [obj/Linux2.6.9-42.ELsmp+gcc/optimize/libahdlcmi.so]
    Error 1


    Another funny thing is if I replaced the @cross section with the
    following :
    @(cross((V(CLK)-vth), +1)) begin
    hold = V(inp) - V(inn)
    end
    or change it to a simple sample-and-hold, everything compiles fine.
    Anybody can offer any clue as to what's going on ?

    Thank you,

    Renaldi
     
    batik99, Feb 22, 2007
    #1
  2. batik99

    Poojan Wagh Guest

    Have you tried using the transition() operator in Verilog-A. It may be
    the discontinuity in the output (but that's just a shot in the dark).
     
    Poojan Wagh, Feb 26, 2007
    #2
  3. Is it really IC5141 you're using? It looks from the paths as if it's IC5033 -
    which is quite old (particularly with regard to model compilation).

    Best would be to use spectre from MMSIM60 or MMSIM61.

    Regards,

    Andrew.

     
    Andrew Beckett, Feb 26, 2007
    #3
  4. batik99

    DReynolds Guest

    Renaldi, looking at your code, what happens before the rising edge of
    clk? Is it complaining about no initial value for hold?


    David

     
    DReynolds, Feb 26, 2007
    #4
  5. Renaldi,

    You need also to update your 90nm kit to the newest one working on IC5141.

    ====================
    Kholdoun TORKI
    http://cmp.imag.fr
    =====================

     
    Kholdoun TORKI, Mar 3, 2007
    #5
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.