【问题标题】:How can I undo something set in the global modelsim.ini?如何撤消在全局 modelsim.ini 中设置的内容?
【发布时间】:2017-12-13 03:43:51
【问题描述】:

我想使用 OSVVM。 Modelsim 带有一个旧版本的 OSVVM,该版本预编译在一个名为 osvvm 的库中。这是在全局modelsim.ini 文件中设置的:

osvvm = $MODEL_TECH/../osvvm

我希望能够编译更高版本的 OSVVM。我仍然想将它编译成一个名为osvvm 的库,因为这是 OSVVM 源代码所期望的。

我只是通过在全局modelsim.ini中注释掉上面的行来暂时解决这个问题。这行得通,但不是很可持续:每次我们安装 Modelsim 时都必须这样做(大概)。

那么,有没有办法在本地modelsim.ini 文件中撤消这一行?这对我来说更可持续。或者,是否有其他不涉及对特定机器进行更改的方法?

【问题讨论】:

    标签: vhdl modelsim


    【解决方案1】:

    您可以简单地覆盖本地“modelsim.ini”中的全局​​映射。当您进入目录时(至少在 modelsim GUI 中),该文件会自动加载。

    只需在您的项目/模拟目录中创建一个本地 modelsim.ini 并填写:

    [Library]
    ; load the global modelsim.ini
    others = $MODEL_TECH/../modelsim.ini
    ; overwrite the existing mapping
    osvvm = osvvm
    

    (假设您的 osvvm 已经在您的项目目录中的目录 osvvm 中构建。否则只需添加正确的路径即可。)

    【讨论】:

      【解决方案2】:

      几乎每个 ModelSim 程序都可以通过选项 -modelsim_ini 加载 私有 modelsim.ini。您可以编写自己的modelsim INI 文件。

      我建议,从全局 modelsim.ini 中删除 OSVVM,并创建一个引用现有全局文件的本地 modelsim.ini。 INI 文件语法:

      others = ../../modelsim.ini
      

      【讨论】:

      • 感谢您的回复。我确实提到我试图避免编辑全局 modelsim.ini,因为以后每次安装 Modelsim 时都必须这样做。 (我们有一个可以添加此步骤的程序,但接下来每次安装 Modelsim 时都需要做另一件事。)
      • 替代方案是: 1. 通过 Python 脚本将现有的modelsim.ini 读入内存; 2.为一些库分配修补modelsim.ini文件; 3. 将打补丁的版本写入用户目录; 4. 在对 vcom、vlib、vmap 的所有调用中使用修补文件...。或者,将修补版本写入运行 modelsim 的每个工作目录。
      • 你有没有试过,如果一个现有的osvvm映射被再次读取会发生什么? modelsim 是否会使用已安​​装的 modelsim.ini 中的映射覆盖第一个映射?
      • 是的 - 似乎是这样。我用另一个答案中的文本生成了一个本地modelsim.ini,它解决了这个问题。
      猜你喜欢
      • 2015-04-24
      • 2014-11-07
      • 2015-03-28
      • 2012-01-27
      • 2010-10-03
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 2019-04-10
      相关资源
      最近更新 更多