全线程API
在 SpinalSim 中,您可以使用多个线程来编写测试平台,方法与 SystemVerilog 类似,有点像 VHDL/Verilog的process/always 块。这允许您使用流畅的 API 编写并发任务并控制仿真时间。
分裂和合并仿真线程
// Create a new thread
val myNewThread = fork {
// New simulation thread body
}
// Wait until `myNewThread` is execution is done.
myNewThread.join()
休眠和等待
// Sleep 1000 units of time
sleep(1000)
// waitUntil the dut.io.a value is bigger than 42 before continuing
waitUntil(dut.io.a > 42)