• 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. Task implementation outside module or class?

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 64
  • Views 14365
  • 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

Task implementation outside module or class?

archive
archive over 18 years ago

Hello , Is it possible to decalre Tasks in a seperate file (without module or class) and use the task in a program or module. task.sv: File name ------------------ task test; $display ("In task"); endtask test.sv: Filename ------------------ program test(Interface) `include "task.v" initial test endprogram Inorder to accomodate above implementation what changes to be made in the code. Thanks in advance. Thanks & Regards, Quest Team


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

    i think u may have to import the module or package in which the program exists...
    import::
    this enables u to use all the module properties.... (data types ,functions, tasks.. etc)


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

    Hi,

    You can declare tasks (and functions) in a SystemVerilog package. The package contents can then be imported, one-by-one or with a wildcard, into any program or module. This is a cleaner solution than using Verilog `include. e.g.

    //simple_package.sv
    package simple_package;
       task test();
          $display("This is a test\n");
       endtask // test
    endpackage // simple_package


    //simple_program.sv
    program simple();
       import simple_package::test;

       initial
         begin
            $display("Calling test..");
            test();
         end
    endprogram // simple


    The command "irun *.sv"  generates the following output:
    Calling test..
    This is a test


    Regards,
    Dave

      


    Originally posted in cdnusers.org by dl_doulos
    • 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