问题描述
本人的FPGA工程需要融合多人的程序,其中以Verilog和VHDL为编程语言的模块皆有。而VHDL和Verilog在赋值语句上就有一些区别,虽然都分为非阻塞赋值和阻塞赋值。但是在我仿真过程中发现下图的非阻塞复制在VHDL中不会延后一拍,而Verilog会延后一拍(该发现错误,在后续内容中验证)。
在之前的仿真中发现:
VHDL的赋值不会延后一拍,而Verilog的赋值会延后。由此有了以下的探究过程。
探究过程
之前的疑问是在整个工程中产生的,为了进行探究,我专门写了两个文件分别只进行Verilog和VHDL的非阻塞赋值,并创建sim文件进行仿真。
情景一
a的赋值来源于sim文件中的阻塞赋值
Verilog文件如下:
VHDL文件如下: