[sv-cc] extern uses for declaring tasks and functions


Subject: [sv-cc] extern uses for declaring tasks and functions
From: Francoise Martinolle (fm@cadence.com)
Date: Thu Mar 06 2003 - 12:57:35 PST


You may want to look at this issue which was found in the BNF. This extends the
use of the extern keyword for declaring tasks and functions as extern to
the interface. There is mention of it in the interface chapter, but it is
missing
from the bnf and there is no example about it. Therefore there is a precedent
for the extern syntax for declaring functions and tasks in Verilog.
Francoise
        '

[sv-bc] Fwd: Re: Fwd: Questions about SystemVerilog syntax
                                            for interfaces

Subject: [sv-bc] Fwd: Re: Fwd: Questions about SystemVerilog syntax for
interfaces
From: Karen Pieper (Karen.Pieper@synopsys.com)
Date: Wed Feb 26 2003 - 19:05:21 PST

      Next message: Srouji, Johny: "[sv-bc] our F2F meeting tomorrow
(Thursday, 27 February) - REMIND ER"
      Previous message: Brad Pierce: "[sv-bc] BNF, port declarations --
proposal -- 17.5, A.1.4, A.2.1.2, A.2.3, 17-1, 17-2, 10-1"
      Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

>Here is a proposal for an issue found by a user within synopsys.

K

>Karen,
>
>An interface item can be an external declaration
>
><external_declaration> ::= 'extern' <named_fn_proto> ';'
> | 'extern' ['forkjoin'] <named_task_proto> ';'
>
>I think this is missing from the BNF, and should be added.
>
>
>Peter.
>
>At 17:50 26/02/2003 -0800, you wrote:
>>I haven't seen them. Would you like me to forward them to SV-BC? Do we
>>have answers for them?
>>
>>Thanks,
>>
>>K
>>
>>At 04:27 PM 2/12/03 +0000, you wrote:
>>>Hi Karen,
>>>
>>>Have these issues been brought up at the BNF review?
>>>
>>>Peter.
>>>
>>>>
>>>>Hi Peter,

          This user is trying to understand the 3.0 spec. His issues:

>>>>Extern Tasks
>>>>------------------------
>>>>Expecially puzzling in the use of "extern" within an interface
>>>>declaration.
>>>>What I would like to do is something like this
>>>>
>>>>interface some_SC_if;
>>>> extern task read( output int val ); // just prototype. No task
>>>> body defined
>>>>endinterface
>>>>
>>>>(1) The spec says on page 185, section 18.5 Tasks and function in
>>>>interfaces:
>>>>
>>>> "... If the tasks or functions are defined in a module, using a
>>>> hierarchical name, they must also be declared as
>>>> extern in the interface, or as export in a modport."
>>>>
>>>>However searching for "extern" reveals that it is a reserved keyword
>>>>but nowhere used in the formal syntax
>>>>(annex A). It is only used in conjunction with "extern jorkjoin" within
>>>>examples of section 18.
>>>>
>>>>
>>>>Formal Syntax of Interfaces
>>>>-----------------------------
>>>>I can find the definition of rule 'task_prototype' in A.2.7 page 194,
>>>>but I can not find where this rule is used. Searching
>>>>the PDF doc does not find any usage of the rule (the definition is
>>>>repeated in section 10.2 but that doesn't matter).
>>>>
>>>>
>>>>Can you shed some light what the correct syntax is?
>>>>
>>>>Thanks,
>>>>
>>>>Ulli
>>>>



This archive was generated by hypermail 2b28 : Thu Mar 06 2003 - 12:59:21 PST