如何分别为输入与输出指定AUTO_TEMPLATE通配符?
Verilog AUTO_TEMPLATE 限定规则仅作用于输出端口
要让通配符模板只对输出端口生效,只需在规则前加上OUTPUT关键字即可,这是支持Verilog AUTOINST自动例化的工具(如Verilator、Synopsys DC等)的原生语法。
修改后的示例代码
/* sub AUTO_TEMPLATE ( OUTPUT .\(rg_.*\) (\1_@), ); */ sub sub (/*AUTOINST*/);
规则说明
OUTPUT关键字明确限定这条模板仅匹配输出端口,输入、双向(INOUT)端口不会应用这条规则- 原通配符逻辑保持不变:对所有以
rg_开头的输出端口,在端口名后追加实例编号(@代表工具自动填充的当前实例编号)
扩展用法
如果需要针对不同方向的端口设置不同规则,可以分别用INPUT、OUTPUT、INOUT关键字区分:
/* sub AUTO_TEMPLATE ( OUTPUT .\(rg_.*\) (\1_@), INPUT .\(in_.*\) (\1_in), INOUT .\(io_.*\) (\1_bidir), ); */ sub sub (/*AUTOINST*/);
内容的提问来源于stack exchange,提问作者Nazar
相关产品推荐
相关产品推荐

