Roy*_*ion 0 verilog system-verilog
任何人都可以告诉我程序块中的非阻塞开始结束和分叉连接之间的区别。我的一位朋友告诉我,后者是不可综合的,仅用于测试平台。这是真的吗?还有其他区别吗?
Verilog/SystemVerilog 中没有非阻塞的开始/结束结构。开始/结束块以串行顺序执行每条语句,阻止下一条语句的执行,直到前一条语句完成。在最后一条语句完成后到达块的末尾。一个fork/join同时同时执行每条语句,在所有语句完成后到达块的join 。
如果每种块中只有一个语句,则两者之间没有行为差异,但基本综合工具将不接受 fork/join 构造。还有许多其他使用fork/join 的方法,您可以编写它们在行为上等同于在多个always块内仅使用开始/结束编写相同的内容,但不被认为是可综合的。这是因为综合工具依赖于识别编码风格的模板,并且资源有限,无法支持多种风格的代码编写。