我用verilog实现了SIPO移位寄存器,但出现了未知错误

我用verilog实现了SIPO移位寄存器,但出现了未知错误,verilog,Verilog,主文件 module D_ff (q, D, Clk, Reset); input Clk, D, Reset; output q; always @ (posedge Clk); and(q, D, Reset); endmodule module SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4); input Clk, Reset, Data; output Out1, Out2, Out3

主文件

module D_ff (q, D, Clk, Reset);
    input Clk, D, Reset;
    output q;
    always @ (posedge Clk);
        and(q, D, Reset);
endmodule

module SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4);
    input Clk, Reset, Data;
    output Out1, Out2, Out3, Out4;
    begin
    D_ff sr0 (Out0, Data, Clk, Reset);
    D_ff sr1 (Out1, Out0, Clk, Reset);
    D_ff sr2 (Out2, Out1, Clk, Reset);
    D_ff sr3 (Out3, Out2, Clk, Reset);
    end
endmodule
测试台文件

 'timescale 1ps/1ps

    module tb_SIPO;
        reg Clk, Reset, Data;
        wire Out1, Out2, Out3, Out4;

        SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4);

        initial
        Clk=0;  
        always #11 Clk=~Clk;
        Reset=1; Data=0;
        initial begin
            #15 Reset=1; Data=1;
            #20 Reset=1; Data=0;
            #30 Reset=1; Data=0;
            #10 Reset=0; Data=1;
            #20 Reset=0; Data=0;
            #5 Reset=0; Data=0;
            #20 Reset=0; Data=0;
            #20 Reset=0; Data=0;
            #20 Reset=0; Data=0;
            #20 Reset=0; Data=0;
            #70 Reset=0; Data=0;
            #5 $finish;
        end

    endmodule
错误:(vlog-13053)C:/Modeltech_pe_edu__10.4a/examples/tb_sipo.v(1):接近>“'t”:数值常量中的非法基说明符

**错误:(vlog-13069)C:/Modeltech_pe_edu__10.4a/examples/tb_sipo.v(1):near>“'t”:语法错误,意外的基,应为类

我不知道这个错误是什么意思。我的程序中没有“t”,我看不到任何非法的基说明符。
这有什么问题?

您使用了
时间刻度来指定模拟器的参考时间单位。但它应该是:

`timescale
而不是:

'timescale

用于在Verilog中指定数字,例如
8'hFF
。这就是编译器寻找数值常量的原因。

非常感谢!你救了我的命。但当我编译它并模拟文件时,“错误加载设计”错误出现了。此错误是什么?IMHO
D_ff
模块不应编译,因为存在两个错误,您的错误可能会解决此问题。