我想对ModelSim中的几个参数进行修改,例如MessageFormat。 在这种程度上,我对位于ModelSim安装目录中的 modelsim.ini 文件进行了更改,但是当我重新启动ModelSim时,默认参数仍然存在。
根据ModelSim的用户指南,该程序非常简单:
- 使用文本编辑器打开modelsim.ini文件。
- 在文件的相应部分中找到要编辑的变量。
- 在等号(=)后输入变量的新值。
- 如果用分号(;)注释掉变量,则删除分号。
- 保存。
醇>
我知道我正在编辑正确的文件(启动时,ModelSim打印“读取C:/ [安装路径] /modelsim.ini,如果我删除或重命名它,我会收到警告)所以我真的不知道为什么我没有考虑任何改变。
我有什么不对的吗?感觉我在这里遗漏了一些明显的东西。
答案 0 :(得分:2)
我终于找到了造成这种情况的原因:
当 ModelSim 启动时,它会在项目目录中搜索 modelsim.ini 文件。如果找到,成绩单将只打印“ reading modelsim.ini ”。但是,在我的情况下,文件未被读取,即未考虑指定的参数,如果文件为空或包含随机文本,则在启动ModelSim时不会出现错误或警告。
如果在那里找不到modelsim.ini文件,它会在安装目录中查找相同的文件。如果找到,转录本将打印“读取[安装目录] /modelsim.ini ”。其余的与以前一样,这个文件并没有真正读过(在我的例子中)。
如果无法在任何地方找到modelsim.ini文件,则脚本将打印以下错误:“错误:(vish-7)无法在读取模式下打开ini文件”modelsim.ini“。 “ 但是,除了这个错误,一切都会正常工作。
事实证明,实际使用的ModelSim参数存储在另一个文件中: [ProjectDirectory] / [ProjectName] .mpf 此文件包含与.ini文件中完全相同的信息(在我的情况下,内容与默认.ini中的内容完全相同)。
ModelSim正确考虑了对此文件的更改。
答案 1 :(得分:1)
我还要指出,如果您不想依赖默认顺序查找文件,还有一个vsim参数来指定.ini文件的位置:
例如:
vsim -modelsimini ./modelsim.ini -do sim.do top
答案 2 :(得分:0)
我不记得100%的.ini优先级和复制逻辑,但是你可能在开始模拟的目录中有一个modelsim.ini。该文件可能包含旧设置。
当你开始模拟时,Modelsim使用本地.ini文件,我认为如果有本地的.ini,它会完全忽略全局.ini文件。当你第一次开始模拟时,我也认为它复制了全局模拟,即如果没有本地.ini。
Modelsim 需要本地.ini文件,因为它包含模拟的参数和库映射。尝试修改或删除它以查看是否使用了新参数。
另请注意,如果从其他工具(如Xilinx的设计套件)启动Modelsim,.ini文件可能来自其他工具而非Modelsim。例如,当从Xilinx发布modelsim时,它有一个.ini,其中包含Xilinx仿真库的映射。
答案 3 :(得分:0)
我偶尔会遇到同样的问题。如果我没记错的话,绕过它的方法是创建一个位于ModelSim可执行文件上方一个目录的新modelsim.ini文件,然后编辑该文件。