Verilog :除检查器实例化外,不允许在顺序区域中实例化



我正在尝试制作一个 4 位输入模 3 模块。我不断收到错误"除检查器实例化外,不允许在顺序区域中进行实例化"。我不确定我做错了什么。

module divisible_3(
   input [3:0] a,
   output div3);
wire xnor30;
wire xnor21;
wire and32;
wire xnor10;
wire xnor_and;
wire andxnor_and;
begin
always @ (*)
two_input_xnor xnor1 (a[3], a[0], xnor30);
two_input_xnor xnor2 (a[2], a[1], xnor21);
two_input_and and1 (a[3], a[2], and32);
two_input_xnor xnor3 (a[1], a[0], xnor10);
two_input_and and2 (xnor30, xnor21, xnor_and);
two_input_and and3 (and32, xnor10, andxnor_and);
two_input_or or1 (xnor_and, andxnor_and, div3);
end
endmodule
我不知道

你想在这里做什么,但你不能在总是块中实例化模块。这没有任何意义。此外,该 begin 语句在您放置它的位置没有任何功能。它属于始终块的开头。无论您要做什么,只需在 always 块之外实例化所有模块即可。

最新更新