返回介绍

A.10 Footnotes (normative)

发布于 2020-09-09 22:56:13 字数 3789 浏览 1063 评论 0 收藏 0

  1. Embedded spaces are illegal.
  2. A simple_identifier, c_identifier, and arrayed_reference shall start with an alpha or underscore ( _ ) character, shall have at least one character, and shall not have any spaces.
  3. The $ character in a system_tf_identifier shall not be followed by white_space. A system_tf_identifier shall not be escaped.
  4. End of file.
  5. The unsigned number or fixed point number in time_literal shall not be followed by a white_space.
  6. implicit_class_handle shall only appear within the scope of a class_declaration or out-of-block method declaration.
  7. In any one declaration, only one of protected or local is allowed, only one of rand or randc is allowed, and static and/or virtual can appear only once.
  8. dpi_function_proto return types are restricted to small values, as per 27.4.5.
  9. Formals of dpi_function_proto and dpi_task_proto cannot use pass by reference mode and class types cannot be passed at all; for the complete set of restrictions see 27.4.6.
  10. The apostrophe ( ‘ ) in unbased_unsized_literal shall not be followed by white_space.
  11. unsized_dimension is permitted only in declarations of import DPI functions, see dpi_function_proto.
  12. More than one unsized dimension is permitted only in declarations of import DPI functions, see dpi_function_proto.
  13. When a packed dimension is used with the struct or union keyword, the packed keyword shall also be used.
  14. A charge strength shall only be used with the trireg keyword. When the vectored or scalared keyword is used, there shall be at least one packed dimension.
  15. In a data_declaration that is not within the procedural context, it shall be illegal to use the automatic keyword.
  16. It shall be legal to omit the covergroup_variable_identifer from a covergroup instantiation only if this implicit instantiation is within a class that has no other instantiation of the covergroup.
  17. The .* token shall appear at most once in a list of port connections.
  18. A timeunits_declaration shall be legal as a non_port_module_item, non_port_interface_item, non_port_program_item, package_item or class_item only if it repeats and matches a previous timeunits_declaration within the same time scope.
  19. In a multiple_concatenation, it shall be illegal for the multiplier not to be a constant_expression unless the type of the concatenation is string.
  20. In a shallow copy the expression must evaluate to an object handle.
  21. It shall be legal to use the $ primary in an open_value_range of the form [ expression : $ ] or [ $ : expression ].
  22. { } shall only be legal in the context of a queue.
  23. The $ primary shall be legal only in a select for a queue variable or in an open_value_range.
  24. A type_identifier shall be legal as an enum_base_type if it denotes an integer_atom_type, with which an additional packed dimension is not permitted, or an integer_vector_type.
  25. In a constant_function_call, all arguments shall be constant_expressions.
  26. The list_of_port_declarations syntax is explained in Section 18.8, which also imposes various semantic restrictions, e.g., a ref port must be of a variable type and an inout port must not be. It shall be illegal to initialize a port that is not a variable output port.
  27. It shall be legal to declare a void struct_union_member only within tagged unions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文