为什么Modelsim 10不能编译旧代码?

时间:2011-01-26 02:43:10

标签: vhdl modelsim

我刚刚升级到Modelsim 10,当我重新编译所有代码时,37个编译中只有30个。那些不能编译的人有一个共同的错误

No feasible entries for infix operator "&"

我只是包含了std_logic的包,将位更改为std_logics,并且它在第一次重新编译时神奇地解决了这个问题(对我来说很少见)。我的问题是为什么新的编译器(如果它甚至是新的)不接受bit&无符号(N downto 0)。是否有某种新标准迫使HDL编码人员使用更多抽象?我看到一个类似的问题解决了我的问题,但我想知道为什么编译突然不同。

2 个答案:

答案 0 :(得分:2)

可能是您的新ModelSim使用了不同的默认设置(例如-2008而不是-87)?

答案 1 :(得分:1)

对于旧版本的VHDL,您应该在文件modelsim.ini中更改它(它有各种参数):

[vcom]
; VHDL93 variable selects language version as the default. 
; Default is VHDL-2002.
; Value of 0 or 1987 for VHDL-1987.
; Value of 1 or 1993 for VHDL-1993.
; Default or value of 2 or 2002 for VHDL-2002.
; Value of 3 or 2008 for VHDL-2008
VHDL93 = ????