• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. Declaring class outsside program block

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 64
  • Views 14554
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Declaring class outsside program block

archive
archive over 18 years ago

Hello, Is it possible to declare class outside the program block like bellow? class gen; endclass program test; endprogram;


Originally posted in cdnusers.org by sundar_80
  • Cancel
  • archive
    archive over 18 years ago

    Sorry for my earlier code for not following the rules, i have correct the format of the code now. class gen; endclass program test; endprogram; Sundar


    Originally posted in cdnusers.org by sundar_80
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Sundar,
     >> Is it possible to declare class outside the program block like bellow?

    Yes, language allows it though I personally discourage it - atleast encapsulate them under packages. I know some debug tools today work best if classes are declared inside program.

    HTH
    Ajeetha, CVC
    www.noveldv.com  


    Originally posted in cdnusers.org by ajeetha
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hello Ajeetha,
    Thanks a lot for your mail, as you mentioned its always better to encapsulate it in package, i also feel that's the good practice.
    But one query, if a class is encapsulated inside package is it possible to use the class itself, as far my knowledge about SV(i have very little knowledge) only task defined in the package can be used not the class is that correct?

    Sundarraj


    Originally posted in cdnusers.org by sundar_80
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hi Sundar,
    You can encapsulate the class inside a package and whenever you want to use this class, just "import" that package. You can import the package using following

    import ::*;

    then you can easily use the class and its all properties and methods which were declared in that package.


    regards
    Jagvin


    Originally posted in cdnusers.org by jagvinder
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    The command for importing the package is

    import package_name::*;

    sorry, i missed it in last mail.


    regards
    Jagvinder


    Originally posted in cdnusers.org by jagvinder
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Hello Jagvinder,
    Thanks a lot for your mail. I will try to use as you mentioned.

    Sundarraj


    Originally posted in cdnusers.org by sundar_80
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information