ModelSim错误加载设计

时间:2015-04-09 17:09:46

标签: verilog modelsim

我正在ModelSim中设计一个Master-Slave D Flip Flop实现。编译完成后(Compile > Compile All),我在控制台中键入vsim,并且抛出的唯一错误是

# vsim
# Start time: [time]
# Error loading design

是否有任何方法让vsim对出现问题更加冗长?或者,也可以有人告诉我我做错了什么?

供参考,我的代码如下:

methods.v

module dFlipFlop(
    D,
    Clk,
    En,
    Q
);

input D, Clk, En;
output Q;
reg Q;

always @ (posedge Clk)
if(~En) begin
    Q <= 1'b0;
end else begin
    Q <= D;
end

endmodule

module masterSlaveDFF(
    D,
    Clk,
    En,
    Q
);

input D, Clk, En;
output Q;

wire Y, inClk;

assign inClk = ~Clk;

dFlipFlop first (.D(D), .Clk(Clk), .En(En), .Q(Y));
dFlipFlop second (.D(Y), .Clk(inClk), .En(En), .Q(Q));

endmodule

dflipflop.v (我的测试平台)

`include "methods.v"

module masterSlaveTest();

reg D, Clk, En, Q;

initial begin
    $monitor(D, Clk, En, Q);

    D = 1;
    Clk = 1;
    En = 0;

    #5 $finish;
end

always begin
    #5 Clk = ~Clk;
end

endmodule

5 个答案:

答案 0 :(得分:1)

如果您的代码编译,并且直接调用测试工作台不起作用,也可以通过类似

的方式

vsim -novopt [your testbench module name here]

或只是

vsim

然后,至少就我而言,这是一个许可问题。请注意,我使用的是ModelSim的学生版。当我第一次运行vsim时,它给出了一条很长的错误消息,说明我需要将许可文件(在安装过程中获得)放在某个目录中。

对于学生版,您必须将文件student_license.dat重命名为license.dat并将其放在C:\Modeltech_pe_edu_10.4a\win32pe_edu\中。您的目录结构可能会有所不同,但据我所知,命名约定类似。

在某些情况下,我还读到license.dat需要位于win32pe_edu的父文件中,但就我而言,它在win32pe_edu中有效。

答案 1 :(得分:1)

对Windows用户:

如果您的代码正确并且您已将许可文件(student_license.dat)复制到正确的文件夹(C:\ Modeltech_pe_edu_ [VersionNo])并且仍然无效,请尝试以管理员身份运行ModelSim。这可能会成功。

答案 2 :(得分:1)

我有同样的问题。我通过右键单击特定库并单击“刷新”来解决它。然后,我重新编译并重新启动模拟,它工作正常。

答案 3 :(得分:0)

我遇到了同样的问题。这是我修复它的方式。当我安装modelsim时,它最终将我引导到许可证密钥页面!我填写但没有收到电子邮件!

因此,如果您没有收到包含modelsim许可证密钥的邮件,那么您将不得不重新运行安装!因此,一旦收到license_file.dat,将其粘贴到modelsim文件夹中,那么您将不会遇到任何此类问题!

答案 4 :(得分:0)

对我来说,问题出在优化上,当我在优化开启的情况下开始模拟时,它没有在测试台中显示创建的实例,通过关闭它,我得到了“错误加载设计”错误。 我如何修复它: 在gui中: 模拟 > 开始模拟 > 优化选项 > 在可见性选项卡中 > 选中“对所有模块应用完全可见性(完全调试模式)”。 在终端: vsim -gui -vopt -voptargs=+acc work.Adder_TB (Adder_TB 是我的测试平台模块名称)。