2017-10-20 77 views
0

我想做一个4位输入模3模块。我不断收到错误“实例化不允许在连续区域,除了检查器实例”。我不确定我做错了什么。verilog:实例化是不允许在连续区域,除了检查实例

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 
+1

[multiplier 4-bit verilog using half and full adders]可能的副本(https://stackoverflow.com/questions/20842388/multiplier-4-bit-with-verilog-using-just-half-and -full-adders) – Qiu

回答

1

我不知道你在这里做什么,但是你不能在always块中实例化模块。它只是没有任何意义。此外,该开始语句在您放置它的地方没有功能。它属于always块的开始部分。 无论你想要做什么,只要在always块外面实例化所有的模块,就可以了。

+0

谢谢!我知道我做错了什么。显然有不止一个.. –

+0

很高兴听到,你已经想通了:) – urban