modelsim的 # (vish-4014) No objects found matching '/*'

http://blog.sina.com.cn/s/blog_671c69ae01010063.html

 

一、

    在6.2以前的所有版本中,modelsim安装目录下的modelsim.ini文件中,VoptFlow选项是默认被注释掉,也就是关闭的,而在6.2系列版本中,默认是打开的,这就可能导致仿真时出现问题。


VoptFlow
ini文件中的描述是:Set to turn on automatic optimization of a design.
但是如果打开,在用modelsim仿真时,可能出现不能把object添加到wave中去的问题,用add wave all命令的话,会提示


# ** Error: (vish-4014) No objects found matching '/tb_ethernet/wb_clk'.
# Executing ONERROR command at macro ./../bin/eth_wave.do line 3
# ** Error: (vish-4014) No objects found matching '/tb_ethernet/wb_rst'.
# Executing ONERROR command at macro ./../bin/eth_wave.do line 4
# ** Error: (vish-4014) No objects found matching '/tb_ethernet/wb_int'.
# Executing ONERROR command at macro ./../bin/eth_wave.do line 5
# ** Error: (vish-4014) No objects found matching '/tb_ethernet/mtx_clk'.
# Executing ONERROR command at macro ./../bin/eth_wave.do line 6

必须把ini文件中的这句
VoptFlow = 1
注释掉,或者把1改为0,方可解决问题。

二、   如果一不能解决,再用二来解决。

     点击工具栏中的“simulate”按钮,或用菜单中的命令“simualte->start simulation”调出start smulation窗口,关键是把窗口中最下边optimization栏中的Enable optimization项目前的钩钩去掉,然后选择仿真的文件,点击OK,就一切正常了,能看到objects了。

<think>好的,用户让我解释一下这个批处理脚本的内容,他们可能是在学习如何编写批处理文件,或者是在处理多个仿真任务时遇到了问题。首先,我需要仔细看看这段代码的结构和每个部分的作用。 这段脚本以@echo off开头,这是常见的关闭回显的命令,让命令提示符不显示执行的命令本身,只显示结果。接下来有四个start命令,每个都启动一个CMD窗口,执行不同的操作。最后的echo语句提示所有窗口已启动。 用户可能想知道每个命令的具体作用,特别是那些参数的含义,比如start后面的“Window1”,cmd /c的作用,以及各个路径和vsim命令的含义。他们可能在使用ModelSim或其他仿真工具,因为看到了vsim命令,这通常用于启动仿真。 需要解释每个部分:start命令的各个参数,比如窗口标题,cmd /c和/k的区别,cd切换目录,执行多个命令的连接符&&。还有,vsim的参数如-c和-do,可能是在运行编译和仿真脚本。 用户可能是在尝试同时运行多个仿真任务,比如并行测试不同的测试用例,或者分布在不同目录下的项目。他们可能想了解如何正确配置路径,或者如何确保各个窗口按顺序执行命令而不冲突。 另外,用户可能关心这段脚本的实际应用场景,比如自动化测试、多任务处理,或者分布式仿真。需要解释这种脚本在工程中的用途,比如加速测试流程,或者管理多个并发的仿真实例。 还要注意潜在的问题,比如相对路径是否正确,各个VSIM目录是否存在,compile.do和runX.do脚本的位置是否准确。用户可能在运行脚本时遇到了路径错误,或者命令执行失败的问题,需要检查目录结构和脚本权限。 最后,提醒用户根据实际情况调整路径和命令,确保每个窗口中的操作正确无误。可能还需要说明如何调试脚本,比如在命令执行失败时添加暂停命令pause,以便查看错误信息。</think>这是一个Windows批处理脚本(.bat文件),主要用于**并行启动多个命令行窗口执行仿真任务**。以下是逐行分析: --- ### **第一部分:关闭回显** ```batch @echo off ``` - `@echo off` 表示**关闭命令回显**(执行命令时不显示命令本身) - `@` 符号确保当前行(`echo off`)也不显示 --- ### **第二部分:启动第一个CMD窗口** ```batch start "Window1" cmd /c echo WINDOW1 START && cd ../VSIM1 && vsim -c -do ../TB/compile.do && do ../TB/run1.do ``` - `start "Window1"` 启动一个标题为 `Window1` 的新命令行窗口 - `cmd /c` 表示在新窗口中执行命令后**自动关闭窗口** - 命令链分解: - `echo WINDOW1 START` → 输出提示信息 - `cd ../VSIM1` → 切换到上级目录的 `VSIM1` 文件夹 - `vsim -c -do ../TB/compile.do` → 调用仿真工具(如ModelSim)执行编译脚本 `compile.do` - `do ../TB/run1.do` → 执行仿真运行脚本 `run1.do` --- ### **第三到第五部分:启动其他CMD窗口** ```batch start "Window2" cmd /c ... # 类似逻辑,操作路径为VSIM2,运行run2.do start "Window3" cmd /c ... # 路径为VSIM3,运行run3.do start "Window4" cmd /c ... # 路径为VSIM4,运行run4.do ``` - 每个窗口独立操作不同目录(`VSIM1`-`VSIM4`) - 分别执行对应的仿真运行脚本(`run1.do`-`run4.do`) --- ### **最后:完成提示** ```batch echo All CMD windows have been started. ``` - 主脚本输出提示,表示所有子窗口已启动 --- ### **关键参数说明** | 参数 | 作用 | |---------------------|----------------------------------------------------------------------| | `start "标题"` | 启动新窗口并设置窗口标题(**标题不可省略**,否则路径可能被误识别为标题) | | `cmd /c` | 执行完命令后关闭窗口;若需保持窗口打开可改为 `cmd /k` | | `&&` | 连接多个命令,只有前一个成功后才执行下一个 | | `vsim -c -do` | `-c` 进入命令行模式,`-do` 执行指定脚本 | --- ### **典型应用场景** 1. **多实例仿真测试**:并行运行不同配置的仿真(如不同测试用例) 2. **分布式任务处理**:在多台机器/目录下同步执行任务 3. **自动化脚本管理**:通过脚本批量控制仿真流程 --- ### **注意事项** 1. **路径准确性**:确保 `../VSIM1`、`../TB` 等路径存在 2. **脚本权限**:`compile.do` 和 `runX.do` 需要有可执行权限 3. **仿真工具环境**:需提前配置好 `vsim` 命令的环境变量 如果需要调试,可在命令末尾添加 `pause` 防止窗口闪退。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值