always过程语句块一般在综合逻辑中,initial过程语句块一般在初始化激励序列中,它们彼此之间都是“并行”的,这是从模拟硬件执行角度来理解“并行”。与此同时,仿真器即便要处理这些过程块,也需要从软件语句执行着手。这意味着在同一个仿真时刻去执行的(并行)语句块,需要由仿真器安排它们的执行顺序,这是从仿真软件执行角度来理解“顺序”。
关键词:
执行顺序,initial,always,parallel,order
避坑指南:
不对多个initial过程块的执行顺序做假设。如果要按照顺序执行,可将逻辑放置在同一个initial过程块,或使用event实现线程间的同步。
参考代码: sv_parallel_initial_process.sv
仿真结果:
阅读手记: