Hi thereI am compiling a class gettingncvlog: *E,SVNIMP (/prj/so_asic/USERS/STANZANI/SO_ASIC/CONFIG/../DIGITAL/SIMULATION/TBENCH/so_i2s.v,52|17): SystemVerilog construct not yet implemented: compilation unit top scope declaration.class so_i2s_layer;I am using versionncvlog -verTOOL: ncvlog 05.83-p002how can it be claimed 'system verilog support' if classes (a key feature for SV) is not usable?thanks
Hi Marco.At the moment, classes must be declared within a package, module or program.They're not permitted to "float" at the top level, hence the message you saw.I'd suggest you put any global classes into a package, and import that into whichever unit requires them.This makes for tidier encapsulation anyway :-)One last point, if you're using SystemVerilog, you'd do best to keep to the latest version, as that will have the best feature set. Currently the latest version is IUS6.1s2.Steve.
Thanks Stephenagree that the ebst practice is to put them in a package. BTW it does not seems possible to define interfaces in a package as well (which is desirrable, IMO, sicne I'd put i a package everything that does not generate istances: right?)actually whe have just this version @Accentcheers
FWIW: Interfaces are more like a module. They are instanced, etc and many tools even search for them like modules if you use the -y directive. So I would not think putting them in a package would be a good thing.
Hi Ajeetha.I'll file that enhancement request - it makes sense.If you're using Cadence tools when working for your clients, I guess the best thing is to get your client to file the service request under their SourceLink account ID. There may be an alternative way that you can file them directly, but I'm not aware of it.Regards.Steve.
I filed enhance to improve error message. Thank you for the suggestion.Tim
Thanks Tim & Steve, glad to see the quick action to make the tool easy to use, appreciate it!CheersAjeetha, CVCwww.noveldv.com