在Vivado 2018.1(项目模式)下进行顶级仿真时,我收到错误消息:
ERROR: [VRFC 10-1342] root scope declaration is not allowed in verilog 95/2K mode [../../../../common_function.sv]
common_function.sv
...
function integer value_conv (input integer value); <--- error at this line
begin
value_conv = ((value*0.30) + 0.49);
end
endfunction
...
实际上,此功能的代码已在Cadence中成功运行。
即使成功以Vivado非项目模式运行(即手动运行xvlog xelab xsim)
但是现在我做的是顶级,涉及太多的Xilinx IP,我很难找出所有IP的仿真代码并手动运行xvlog。...等等 因此,我更改为项目模式。
我已阅读以下帖子 Vivado Sim Error: "root scope declaration is not allowed in verilog 95/2K mode"
我遵循它,并将代码包装在“模块标头()”中
但是随后,“ value_conv”变得无法解析。