问题标签 [cocotb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 将参数从 makefile 传递到 cocotb 测试台
给定来自cocotb/examples/dff/的 D-FF 示例。在不修改本机 cocotb makefile 的情况下将参数从 传递Makefile
到 cocotb 测试台的正确方法是什么?dff_cocotb.py
我试图修改cocotb/examples/dff/tests/Makefile的第 30 行:
分别
这不起作用并显示错误消息:
python - 停止 cocotb 分叉协程
我有一个等待信号上升的协程:
我在我的 «main» 测试功能中启动它,如下所示:
即使没有信号上升,我也想在一段时间后停止它。我试图“杀死”它:
但是会发生异常:
是否有正确停止分叉协程的解决方案?
hdl - cocotb 中 <= 和 = 有什么区别?
似乎我可以冷漠地使用 <= 或 = 在我的设计中设置输入信号值。两者之间有真正的区别吗?
或者
我有完全相同的输出计时图。
python - 如何打印 Cocotb 中引发的 TestError 的内容
如果我在 cocotb 测试协程下引发 TestError :
我知道测试日志中出现了错误,但我没有看到“找到错误的 CRC 值”的消息:
是否有正确的方法在日志中打印 TestError 消息?
python - yielding a coroutine in a list with cocotb
I have a coroutine which wait for an event to be set :
I want to «yield» on it with a timeout. Then to do that I did this :
But I get this error :
My coroutine is decorated with @cocotb.coroutine. If I yield it alone that works :
But I can't put it in a list. Is it possible to put coroutine in a list to block like unix select() ? Or is it reserved to Trigger class ?
python - 如何在 cocotb 中强制使用 python 3?
我正在使用 CocoTB 来测试我的 HDL 设计,但据我所知,它可以与 python2.7 或 python3 一起使用。
在 setup.py 配置文件中,我可以看到两者都受支持:
在 endian_swapper 测试(examples/endian_swapper/tests/test_endian_swapper.py)中,如果我修改测试脚本以查看使用的是哪个版本:
我可以看到使用 «make» 命令启动测试时使用了 python2.7:
我的 python3 可执行文件名为...实际上是 python3(debian)。有没有强制 cocotb 使用 python3 而不是 python2 的规范方法?
python - 在 python 文件中搜索所有 if 条件并在下一行添加 print 语句
我必须编辑一个 python 文件,以便在每个 if 条件之后,我需要添加一行,上面写着
数字 8.4(通常是 yx)指的是这个 if 条件在函数编号 8(y) 中(这些函数只是顺序数字,8 没什么特别之处)并且 x 是第 y 个函数中的第 x 个 if 条件。
当然,要添加的行必须添加适当的缩进。condition_check 是被检查的条件。
例如:
变成:
我如何实现这一目标?
额外背景:我有大约 1200 行 python 代码和大约 180 个 if 条件 - 我需要查看在执行 47 个测试用例期间是否满足每个 if 条件。换句话说,我需要进行代码覆盖。复杂性是 - 我正在使用 cocotb 刺激进行 RTL 验证。结果,没有直接的方法来驱动刺激,所以我看不到使用标准 coverage.py 测试覆盖率的简单方法。有没有办法以其他方式检查覆盖范围?我觉得我错过了什么。
ghdl - GHDL、预编译供应商原语和 Cocotb
我有一个使用 Lattice Diamond 生成的 IP 模块的设计。这使用了作为供应商库的 diamond 附带的 Macxo3l 库。
使用 GHDL,我可以使用https://ghdl.readthedocs.io/en/latest/building/PrecompileVendorPrimitives.html中的说明然后是命令来编译包括这个库的设计。
但是我一直无法使用 cocotb 进行编译。下面是我的make文件。我在哪里使用命令 VHDL_SOURCES_Lib,我在https://cocotb.readthedocs.io/en/latest/building.html找到了参考
然而,编译这个给了我错误:
我能够使用 GHDL 运行 cocotb 示例。我应该如何指示 cocotb 包含供应商原始文件。
感谢您提供任何帮助。
python - 如何在 COCOTB 中生成时钟?
我正在尝试使用我不熟悉的 Cocotb(基于 Python 的框架)验证基于闪存的设计。我过去一直使用verilog,SystemVerilog。我正在尝试为测试台生成时钟。
我试过浏览文档。我在 cocotb 网站上看到他们有时钟课程。我还看到我可以使用类似cocotb.fork(clock(dut.clk,5000).start())
的东西来生成时钟。
这就是我生成时钟所需要做的一切吗?cocotb 文档中提供的时钟类,我是否应该简单地导入它并通过在协程中编写上述语句来生成时钟?
任何帮助深表感谢。
学习者。
vivado - 如何使用 Xilinx 基于 IP 解决方案的 RTL 设计进行使用 Cocotb 的仿真?能否使用 Icarus 验证 Xilinx IP?
我有一个具有 Xilinx FIFO IP 的设计。我正在尝试使用基于 COCOTB 的测试平台来验证设计。如何使用 COCOTB 包含基于 Xilinx 的 IP 进行仿真?我使用的模拟工具是 Icarus。
任何帮助深表感谢。