Requirements on Language

  • Owner: Kenneth Bakalar
  • Secondary Owner: John Havlicek

What are the linguistic requirements on the assertion language. Syntax, semantics, relationship to existing digital languages, relationship to existing analog languages


  1. The assertion language will be used primarily in mixed-signal (analog and/or digital) time-domain simulation.
  2. A "behavior" is the result of the execution of such a simulation. An assertion will describe a temporal property of the behavior.
  3. The question of "coverage", that is, finding a sufficient set of test cases to guarantee overall correctness, is specifically excluded from consideration.

The assertion language (AL) will include as a subset all productions of the SystemVerilog Assertion language (SVA).

The semantics of AL are a set of rules that determine if a particular behavior satisfies a formula in AL. IF the AL host language is SystemVerilog then all productions of AL/SVA subset will have the same semantics as the equivalent SVA formula in SystemVerilog.

The AL superset will not create syntactic ambiguity in parsing SystemVerilog language when it is embedded in that language—it will "fit in" to this host language without requiring changes to existing productions.

The AL host language may be either IEEE 1800-2009 SystemVerilog, Accellera Verilog-AMS v2.3 or a designated successor language. A future SystemVerilog-AMS formulated with the compatibility of AL in mind will also be a host. The objects in AL formulas are restricted to those of the host language.

The AL may introduce new reserved words not currently reserved in the host language.

The simulation that generates the behavior and the evaluator that determines the truth of an AL production will run in parallel. The evaluator will observe and report on the behavior progressively; that is to say as soon (in simulation time) as the truth of the production can be determined.

The AL will support assertions that refer explicitly to the relative timing of events (temporal distance). An event is defined in the host language.

The AL will support Boolean-valued relational operators of the host language on real-valued subexpressions. Real-value subexpressions are interpreted using the semantics of the host language.

-- AnandHimyanshu - 09 Feb 2009

Topic revision: r2 - 2009-02-10 - 04:40:14 - AnandHimyanshu
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback