全线程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)