[sv-bc] RE: Time consuming tasks in always_ff

From: Korchemny, Dmitry <dmitry.korchemny@intel.com>
Date: Tue Jul 19 2011 - 13:31:00 PDT

But in the definition of always_comb (9.2.2.2.2) contains the following restriction:

Statements in an always_comb shall not include those that block, have blocking timing or event controls, or fork-join statements.

Why always_comb and always_ff are inconsistent?

From: Steven Sharp [mailto:sharp@cadence.com]
Sent: Tuesday, July 19, 2011 23:27
To: Korchemny, Dmitry; Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

I don't believe there is any text forbidding it, so it would be allowed. There is the statement that tools should perform checks to warn if the behavior does not represent sequential logic, which could be interpreted as including this. But it only calls for a warning, and is pretty meaningless since tools can already produce warnings whenever they want.

I don't believe there is any definition in the LRM of a non-time-consuming task, or any construct that requires such a definition. If someone were to propose such a thing, I would tell them to change it to disallow tasks and allow void functions instead. If someone wants to propose that time-consuming tasks not be allowed in always_ff, I would say that all tasks should be disallowed instead.

From: Korchemny, Dmitry [mailto:dmitry.korchemny@intel.com]
Sent: Tuesday, July 19, 2011 4:16 PM
To: Steven Sharp; Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

I would like first to understand whether time consuming tasks are legal in always_ff. I think this should be defined in the LRM unambiguously regardless of checker needs.

From: Steven Sharp [mailto:sharp@cadence.com]
Sent: Tuesday, July 19, 2011 23:14
To: Korchemny, Dmitry; Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

If you want to allow non-time-consuming tasks, the easiest thing to do is allow functions, which would include void functions, which are effectively non-time-consuming tasks. This doesn't require adding any new definitions, and is much easier to analyze than whether a task is time-consuming.

From: Korchemny, Dmitry [mailto:dmitry.korchemny@intel.com]
Sent: Tuesday, July 19, 2011 4:09 PM
To: Steven Sharp; Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

I do not want to limit this to system tasks. A user may want to write his own task.

From: Steven Sharp [mailto:sharp@cadence.com]
Sent: Tuesday, July 19, 2011 23:06
To: Korchemny, Dmitry; Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

I don't believe that any system tasks are time consuming. You need to recognize that there is a difference between a SystemVerilog task and a system task.

From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Korchemny, Dmitry
Sent: Tuesday, July 19, 2011 11:23 AM
To: Maidment, Matthew R; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: [sv-bc] RE: Time consuming tasks in always_ff

We want to allow tasks in checkers, e.g. $display for debug or information purposes. This enhancement is straightforward in case the task is not time consuming, hence my question.

Thanks,
Dmitry

From: Maidment, Matthew R
Sent: Tuesday, July 19, 2011 18:19
To: Korchemny, Dmitry; 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: RE: Time consuming tasks in always_ff

The LRM states the intent:

The always_ff procedure can be used to model synthesizable sequential logic behavior

Your question seems to imply that you want to deviate from this or exploit a loophole for your interests.

What is the motivation for the question?

Matt

--
Matt Maidment
mmaidmen@ichips.intel.com<mailto:mmaidmen@ichips.intel.com>
From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of Korchemny, Dmitry
Sent: Tuesday, July 19, 2011 4:20 AM
To: 'sv-bc (sv-bc@eda.org)'
Cc: sv-ac@eda-stds.org
Subject: [sv-ac] Time consuming tasks in always_ff
Hi all,
In 9.2.2.4 it is written that "The always_ff procedure imposes the restriction that it contains one and only one event control and no blocking timing controls." However, it is not written explicitly that there cannot be calls to task with such event controls. How should I interpret this statement?
Thanks,
Dmitry
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
--
This message has been scanned for viruses and
dangerous content by MailScanner<http://www.mailscanner.info/>, and is
believed to be clean.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
--
This message has been scanned for viruses and
dangerous content by MailScanner<http://www.mailscanner.info/>, and is
believed to be clean.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jul 19 13:31:53 2011

This archive was generated by hypermail 2.1.8 : Tue Jul 19 2011 - 13:32:00 PDT