SystemVerilog代码中使用了哪些常用的后缀和前缀?我指的是SystemVerilog元素的代码指南,如变量,参数,类等。
以下是我所知道的一些内容:
前缀:
m_
- 成员(本班)cg_
- 封面组名称说明:
_if
- interface _t
- typedef _s
- struct _u
- union _e
- enum _h
- 变量名称,它是类的引用(句柄)_pkg
- package _c
- 类OR约束(选择一个并继续使用)_cb
- 计时_mp
- modport _cg
- covergroup(这可能是前缀或后缀)答案 0 :(得分:0)
其他语言中的常量等参数应保持大写。其他一切都是小写的。使用_作为分隔符,避免使用CamelCase。
对于RTL后缀,
_n for active low signals.
_a for asynchronous signals.
rst_an implies active low asynchronous reset.
这些是我遇到的最常见的,为了创造最佳答案,如果你喜欢或编辑这个答案,可以添加更多答案。
答案 1 :(得分:0)
对于RTL后缀,我已经看到_l作为_n的替代。 _i和_o表示输入和输出,但这使得autoconnect脚本更难以完成其工作。
对于前缀,src_dst_signal_name(其中src和dst是模块的简称)是一种常用的方法。
最重要的是记住并非每个人都遵循这些(或任何)约定,我的一个更令人尴尬的错误是接口无法正常工作的芯片,因为输入信号处于低电平状态但没有后缀。