Failed to compile ahdlcmi module library

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
 
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).
 
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.

On 22 Feb 2007 08:59:34 -0800, batik99@gmail.com wrote:

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
--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Renaldi, looking at your code, what happens before the rising edge of
clk? Is it complaining about no initial value for hold?


David

batik99@gmail.com wrote:
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
 
Renaldi,

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

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

Andrew Beckett wrote:

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
Principal European Technology Leader
Cadence Design Systems, UK.
On 22 Feb 2007 08:59:34 -0800, batik99@gmail.com wrote:


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
 

Welcome to EDABoard.com

Sponsor

Back
Top