为什么 Modelsim 10 不编译旧代码?
我最近刚刚升级到 Modelsim 10,当我重新编译所有代码时,37 个代码中只编译了 30 个。那些无法编译的文件有一个常见错误,
No feasible entries for infix operator "&"
我只是包含了 std_logic 的包,将位更改为 std_logics,它神奇地解决了第一次重新编译时的问题(对我来说这是罕见的景象)。我的问题是为什么新编译器(如果它是新的)不接受 bit & ?无符号(N 降至 0)。是否是某种新标准迫使 HDL 编码人员使用更多抽象?我看到一个类似的问题解决了我的问题,但我想知道为什么编译突然不同。
I just recently upgraded to Modelsim 10 and when I recompiled all my code, only 30 out of 37 compiled. Those that wouldn't compile had a common error
No feasible entries for infix operator "&"
I simply included the packages for std_logic, change bits to std_logics, and it magically fixes the problem on the first recompiling (a rare sight for me). My question is what is why did the new compiler (if it even is new) not accept bit & unsigned(N downto 0). Is it some kind of new standard to force HDL coders to use more abstraction? I saw a similar question which solved my problem, but I want to know why the compilation is suddenly different.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的新 ModelSim 是否使用不同的默认设置(例如
-2008
而不是-87
)?Could it be that your new ModelSim uses different default settings (e.g.
-2008
instead of-87
)?对于设置旧版本的VHDL,您应该在文件modelsim.ini中更改它(它有各种参数):
For set old version of VHDL, you should change it in file modelsim.ini (it has various parameter):