Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog 发现';模块';在';endmodule';_Verilog_System Verilog_Hdl - Fatal编程技术网

Verilog 发现';模块';在';endmodule';

Verilog 发现';模块';在';endmodule';,verilog,system-verilog,hdl,Verilog,System Verilog,Hdl,我在一个简单的cpu上工作,在系统verilog中有一个寄存器,如下所示: module register( input clk, e, input [7:0]in, output reg [7:0]out ); always@(posedge clk or posedge e) begin if(e == 1) out <= in; else out <= out; end endmodule 这件事让我抓狂。我只看到一次模块声

我在一个简单的cpu上工作,在系统verilog中有一个寄存器,如下所示:

module register(
input clk, e,
input [7:0]in,
output reg [7:0]out
);

always@(posedge clk or posedge e)
begin
    if(e == 1)
        out <= in;
    else
        out <= out; 
end
endmodule

这件事让我抓狂。我只看到一次模块声明,并且我没有看到我的语法有任何错误。感谢您的帮助

我猜在您的设计中,有如下内容:

module upper_module;
// ...
`include "register.v"
// ...
endmoudle
这将创建一个嵌套模块。要修复它,请将
`include
行移到
模块上方或
端模块下方

技术上嵌套的模块是SystemVerilog的一部分(参见IEEE标准1800-2005§19.6嵌套模块和§23.4嵌套模块),但供应商可能尚未实现此功能



仅供参考:
或posedge e
不应该在那里。同步逻辑应该是一个边缘时钟和零到两个异步复位,其中异步复位将触发器分配给内容

您说的是SystemVerilog,但您没有使用SV构造<代码>寄存器
是用Verilog-2001编写的。就是这样!它包含在模块声明上方的另一个模块中,但该模块包含在另一个模块中,因此出现了问题。非常感谢。另外,感谢您对逻辑的输入,非常感谢。还有一件事可能导致了它。我在我的一个模块中注释掉了一个endmodule语句,因此它在一个模块中看到了一个模块。再次感谢!
module upper_module;
// ...
`include "register.v"
// ...
endmoudle