如何修复错误(10170):Verilog HDL语法错误,位于Satellite.v(3)附近的text:“;“模块”;;期待&引用;

如何修复错误(10170):Verilog HDL语法错误,位于Satellite.v(3)附近的text:“;“模块”;;期待&引用;,verilog,Verilog,我正在尝试用Verilog编写一个代码(将两个模块添加在一起),并将其上传到FPGA。我想用LCD 1602模块启动一个IR模块,我创建了一个模块,并在主模块中编写了IR和LCD模块 module Satellite(clk, rs, rw, en,dat,rst_n,IR,led_cs,led_db) module lcd(clk, rs, rw, en,dat) input clk; output [7:0] dat;

我正在尝试用Verilog编写一个代码(将两个模块添加在一起),并将其上传到FPGA。我想用LCD 1602模块启动一个IR模块,我创建了一个模块,并在主模块中编写了IR和LCD模块

module Satellite(clk, rs, rw, en,dat,rst_n,IR,led_cs,led_db)

    module lcd(clk, rs, rw, en,dat)  
            input clk;  
             output [7:0] dat; 
             output  rs,rw,en;

代码有两个问题

  • 模块声明需要
    如下所示:
    模块abc(端口1,端口2,…)

  • verilog中不允许在模块内声明模块。
    模块
    <代码>端模块
    结构必须是独立的

  • 因此,您的代码可能如下所示:

    module Satellite(clk, rs, rw, en,dat,rst_n,IR,led_cs,led_db);
        input clk;
        // ... define other ports
    
        // instantiate the module 'lcd'
        lcd lcd(clk, rs, rw, en, dat);
    
        // ... do something else
    endmodule
    
    module lcd(clk, rs, rw, en,dat);  
            input clk;  
             output [7:0] dat; 
             output  rs,rw,en;
    
        // ... do something here
    endmodule
    

    dat0:begin rsi之所以这么做,是因为这个链接中有一个答案。如果您有任何建议解决方案,请告诉我您可以通过添加
    来修复它。。。在
    )之后添加了
    。但它仍然损坏,并且出现了相同的问题错误(10170):Verilog HDL语法错误,位于Satellite.v(3)附近的文本:“module”;应为“;”。两个模块都做了吗?顺便说一句,仅允许在
    系统verilog
    中使用模块中的模块。Verilog不允许在其他模块内声明模块。因此,在
    模块lcd
    之前,您需要
    endmodule
    。这只是代码的一部分,对于您的第2点,我正确地声明了模块,并且在模块末尾添加了“;”在这种情况下,您必须更改您的问题,以便它显示所有相关的代码。我再也不明白你在问什么了。//F默认值:led\u db=8'b1000\u 1110;在这些行中,它给了我这个错误错误(10170):Verilog HDL语法错误在Satellite.v(248)附近的文本:“endcase”;应为“:”或“,”。这不是答案,也与问题中的任何内容无关。
                  reg  dis; 
                  reg [0:0] led_cs;
                  reg [7:0] led_db;
                .
    
                .
    
                .
    
    case(led2)
    
    
                        8'b01101000: 
                            led_db=8'b1100_0000;        
                            dis="0";
                                        .
    
                .
    
                .