The Design Constraints Working Group is chartered with developing a Design Constraint Specification Standard. The Standard, which encompasses a constraint description language, a constraint dictionary, and a constraint conceptual model, is intended for the prescription, representation, and preservation of the "design intent" throughout the design cycle of an electronic system or subsystem design.
The design intent, typically expressed in a collection of constraints, assertions, and environment conditions, is the manifestation of system level design requirements other than the logical functionality. Logical functionality is expressed in design languages such as Verilog and VHDL that are covered by other standards. As the implementation of the design progresses, the design intent may expand to cover more detailed aspects of the desired implementation, and the original system level design requirements may be modified and transformed in various ways.
This Working Group envisions the need to establish a common framework across the industry for capturing and transferring design intent, independent of application tools or design processes. The key objectives of the Standard are to:
Related works currently deferred or excluded from the group charter
are:
The standard should be language-independent, initially supporting chip and module level designs done in a mixture of Verilog, VHDL languages. Later work should add support for mixed-signal designs and corresponding design languages.
The standard should address required performance characteristics, implementation details, and descriptions of (as well as restrictions on) the environment in which the design is to be used.
The standard should be in consistent with exiting accredited public-domain standards. The working group will attempt to avoid overlapping efforts with other standard organizations, while achieve semantic consistency in the areas of overlap.
A Constraint Data Exchange Format is considered a deferred item, and currently not included in the scope. This is because we recognize data exchange format is more of an issue with the tool environment. And, interoperability among tools can still be achieved at the constraint description language level. However, the working group should review this position at a later time when appropriate.
Constraint domain refers to different aspects of design objectives that need to be evaluated in tandem to observe the design tradeoffs best for the design over-all. Constraint domains considered as within the scope of this standard are:
The initial focus of this working group is set as follows:
The following identifies areas of potential overlap with the efforts of other standard groups:
DC-WG should work with these groups to define the relationships between this DC-WG standard and their respective efforts.
A document that outlines the conceptual model adapted by the working group provides an architectural framework the standard is to base upon. The intent of the model is to:
The dictionary is to provide standard terminology, structural relationship, and semantic definition of the generic constructs and their associated parameters used for the concise definition of design constraints.
Initially, a tabulated constraint summary will be generated to provide a concise catalog of the different types of constraints, assertions, and environment conditions. Included in the summary table will be a name for each constraint, a list of the possible parameters, and a brief description of the semantics.
It is envisioned that any existing tool can adopt the semantics dictionary in various language implementations. A specific version of constraint description language suitable for user entry will be designed. A specification document for the language design will be provided, which should include a complete description of the syntax and semantic specific to each constraint and its parameters.
A golden parser and syntax checking program for the above constraint description language will be provided. The syntax checker should read a constraint command file and report all syntax errors but will not check for semantic errors. The program will be placed in the public domain.