Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Help me fixing ncvlog compile error

Status
Not open for further replies.

elone

Member level 3
Member level 3
Joined
Dec 29, 2001
Messages
63
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
402
A ncvlog compile error ?

This is verilog src:
`celldefine
module add1d1 (A, B, CI, SM, CO);
input A, B, CI;
output SM, CO;

wire int_res_0, int_res_1, int_res_2;

/////////////////////////////////////
// FUNCTIONALITY //
/////////////////////////////////////

xor (SM, A, B, CI);
and (int_res_0, A, B);
and (int_res_1, A, CI);
and (int_res_2, B, CI);
or (CO, int_res_0, int_res_1, int_res_2);

/////////////////////////////////////
// TIMING //
/////////////////////////////////////

specify
specparam tpd_CI_SM_posedge = (0, 0, 0, 0, 0, 0);
specparam tpd_A_SM_posedge = (0, 0, 0, 0, 0, 0);
specparam tpd_B_SM_posedge = (0, 0, 0, 0, 0, 0);
specparam tpd_CI_SM_negedge = (0, 0, 0, 0, 0, 0);
specparam tpd_A_SM_negedge = (0, 0, 0, 0, 0, 0);
specparam tpd_B_SM_negedge = (0, 0, 0, 0, 0, 0);
specparam tpd_CI_CO = (0, 0, 0, 0, 0, 0);
specparam tpd_A_CO = (0, 0, 0, 0, 0, 0);
specparam tpd_B_CO = (0, 0, 0, 0, 0, 0);

(posedge CI => (SM:A)) = tpd_CI_SM_posedge;
(posedge A => (SM:B)) = tpd_A_SM_posedge;
(posedge B => (SM:A)) = tpd_B_SM_posedge;
(negedge CI => (SM:A)) = tpd_CI_SM_negedge;
(negedge A => (SM:B)) = tpd_A_SM_negedge;
(negedge B => (SM:A)) = tpd_B_SM_negedge;
(CI => CO) = tpd_CI_CO;
(A => CO) = tpd_A_CO;
(B => CO) = tpd_B_CO;
endspecify
endmodule
`endcelldefine





This is error :
ncvlog: 05.00-p001: (c) Copyright 1995-2003 Cadence Design Systems, Inc.
specparam tpd_CI_SM_posedge = (0, 0, 0, 0, 0, 0);
|
ncvlog: *E,NOPPLS (C:/verilog/cl41.v,32|34): illegal syntax except when defining PATHPULSE$ specparam [13.7(IEEE)].
 

visualart

Advanced Member level 1
Advanced Member level 1
Joined
Dec 21, 2001
Messages
466
Helped
28
Reputation
56
Reaction score
4
Trophy points
1,298
Activity points
3,333
parameter number maybe error.
Format is (0:0:0, ..., ...)?
 

elone

Member level 3
Member level 3
Joined
Dec 29, 2001
Messages
63
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
402
When i use modelsim compile it, everything is OK ?
 

joe2moon

Full Member level 5
Full Member level 5
Joined
Apr 19, 2002
Messages
280
Helped
19
Reputation
38
Reaction score
7
Trophy points
1,298
Location
MOON
Activity points
3,717
Ambiguity

I have tried to compile above module by different Verilog simulators.
- 1) Verilog-XL:
> verilog add1d1.v
It's o.k.

- 2) NC-Verilog:
> ncxlmode add1d1.v
Error message !

- 3) VCS
> vcs -c add1d1.v
Error message !
---------------------------------------------------------------------------------
But, if modify the timing triplet in add1d1.v to 0.0:0.0:0.0,
then all three simulaors can compile it successfully.
---------------------------------------------------------------------------------

I think maybe it comes from the definition about how to
specify the timing triplet has some ambiguity :?
---------------------------------------------------------------------------------

ps:
I have seen another tool that does not support the triplet format
in original add1d1 module before....
 

elone

Member level 3
Member level 3
Joined
Dec 29, 2001
Messages
63
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
402
This is a T$MC stdlib file ! How this happen ?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top