在下面的代码中使用ModelSim时,我会得到这个编译错误
接近“赋值”:语法错误、意外赋值、期望标识符或TYPE_IDENTIFIER或NETTYPE_IDENTIFIER。
`define WIDTH 8
module Parityfunc(input [`WIDTH-1:0] i_data, output o_parity_out, input parity_type);
function parity (input [`WIDTH-1:0] data, input parity_type);
begin
if (parity_type) // even parity
parity <= ^data;
else if (!parity_type) // odd parity
parity <= ~(^data);
end
endfunction :
assign o_parity_out = parity(i_data, parity_type);
endmodule // Parityfunc发布于 2018-03-23 15:22:04
一种解决方案是在endfunction之后删除冒号。
`define WIDTH 8
module Parityfunc(input [`WIDTH-1:0] i_data, output o_parity_out, input parity_type);
function parity (input [`WIDTH-1:0] data, input parity_type);
begin
if (parity_type) // even parity
parity <= ^data;
else if (!parity_type) // odd parity
parity <= ~(^data);
end
endfunction
assign o_parity_out = parity(i_data, parity_type);
endmodule // Parityfunc另一个解决方案是在冒号后面添加函数名:
endfunction : parity参见IEEE Std 1800-2012,13.4功能。
https://stackoverflow.com/questions/49452996
复制相似问题