我正在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
答案 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 是我的测试平台模块名称)。