gpt4 book ai didi

tcl - 在继续 TCL 脚本之前如何等待 Modelsim Simulations 完成

转载 作者:行者123 更新时间:2023-12-04 22:59:23 27 4
gpt4 key购买 nike

我正在尝试在 Modelsim 中执行回归测试。我调用一个 TCL 脚本来编译我的源文件并启动 vsim。我启动了一个 .do 文件,它运行了一系列测试平台,所有这些测试平台都输出结果文件。我要添加的是一个自动检查器,用于验证结果文件是否与已知的良好运行相匹配。问题是在启动modelsim 之后,TCL 脚本在执行检查器“results_pass.py”之前不会等待模拟完成。

set nice_pid [open "|$modelsim_dir/vsim.exe -do do_files/vsim.do -novopt -gui"]
cd ../../Scripts
set script_name "results_pass.py"
set tb_name "rcp"
call_python $script_name $tb_name
vwait forever

对于那些想知道我为什么要调用 Python 脚本的人。主要是因为我对 TCL 知之甚少,但没有时间去将遗留的 TCL 脚本更改为 Python。

无论如何,我相信我可以在第 1 行和第 2 行之间保留一些东西,它会等待来自 modelim 的一些指示,表明它已完成执行我的 .do 文件。任何建议表示赞赏。

最佳答案

你试过VUnit吗? https://github.com/LarsAsplund/vunit

它是一个开源的 VHDL 测试框架,已经可以满足您的需求。

它可以并行运行测试以及使用不同的泛型值。

一个测试台可以有多个测试,这些测试可以在独立的模拟中运行,也可以在同一个模拟中运行。

它可以发出 Jenkins 可以理解的测试报告,其中包含测试输出、运行时间和状态。

它带有一个 VHDL 库的便利函数,例如 check_equal。

它具有完整的 VHDL 依赖性扫描,因此只需添加文件,VUnit 就会知道要增量编译什么以加快编辑/编译/运行周期。

可以运行用户定义的模拟后检查,以验证例如输出文件是否符合黄金数据。

除了批量运行之外,它还可以在带有单个标志的 GUI 中启动测试。

它支持 Modelsim 和 GHDL,Aldec 和 NVC 即将推出。

我个人用它来管理 200 多个测试用例。

免责声明我是主要作者之一。
它的创建是为了避免世界上的每个 VHDL 团队使用不同质量的内部脚本重新发明轮子。

关于tcl - 在继续 TCL 脚本之前如何等待 Modelsim Simulations 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com