我使用Cocotb来验证RTL的设计。我在Python中调用多()函数有问题,请参阅下面的代码和错误.
代码:
@cocotb.test()
async def test(dut)
for i in range(10):
#something
for j i in range(10):
#something
#------------------
output = multi()
print(output)
@cocotb.test()
async def multi =(a=4 , b=7)
await asyncio.sleep(0.1)
result = a*b
await RisingEdge(dut.clk_i)
print("result",result)
dut.value_a.value = a
dut.value_b.value = b
await RisingEdge(dut.clk_i)
print("Dut : ",int(dut.final_value.value))错误:
loop = events.get_running_loop()
RuntimeError: no running event loop我试着运行编译来得到乘法结果,但是我得到了一个错误,就像上面看到的那样……
发布于 2022-11-01 13:42:27
您有一个明显的错误multi =( -删除=。
另外,您很可能不想使用asyncio.sleep,而是指示模拟器使用https://docs.cocotb.org/en/stable/triggers.html?highlight=timer#cocotb.triggers.Timer等一段时间
https://stackoverflow.com/questions/74274097
复制相似问题