【发布时间】:2017-07-03 01:44:11
【问题描述】:
当编译器扩展定义如下时,我遇到了跨模块解析错误:
在文件中,比如 path_defines.vh(定义所在的位置):
`define apple aaaa.bbbb.cccc.\pie[0] .dddd.eeee
我使用“\”字符和尾部的“空白”来转义 2012 年 verilog 手册中定义的字符“[”和“]”。
因此,当编译器使用此处所定义的术语解析文件(例如:design.vs)时:
`apple.ffff.gggg
并尝试扩展定义,编译器给了我一个:
跨模块引用解析错误。
尝试解析跨模块引用时发现错误。
【问题讨论】:
-
它告诉你信号不存在。显然你的路径中有一个错误。此外,您为什么要使用“转义名”?编译器不会生成这些。我认为你不需要它。
-
由于我在定义名称中使用了“[]”字符,因此需要使用“\”和尾随空格来转义“[]”字符
-
也许我应该澄清一下,Synopsys DC 编译器是否有转义字符问题?
标签: compiler-errors verilog system-verilog hdl asic