Modelsim:error loading design解决方案

Modelsim:error loading design解决方案

      • 1:安装问题
      • 2:工程问题
      • 3:代码问题
      • 4:软件优化问题

Modelsim是一个对用户相当不友好的软件,初次使用总是各种错误,这里选择一个常见问题(Error: error loading design)说明解决方案,不过要提前说明的是,这里只是部分解决方案,未必可以涵盖所有场景,仅供参考。

1:安装问题

确保你的安装路径不要包含任何中文字符,特殊字符,空格,如果不是,请卸载软件以后重新安装破解,参考安装路径D:\Altera\Modelsim_se_10.5\。

2:工程问题

确保你的所有工程设置都设置正确,下面例举几点:

  1. 确保你的Assignment->settings->EDA Tools setting->simulation->NativeLink setting - >Test Bench files路径是正确的.Modelsim:error loading design解决方案_第1张图片

  2. 确保你的工程包含所有需要的文件Modelsim:error loading design解决方案_第2张图片

3:代码问题

  1. 检查未在顶层文件中修改的端口是否为wire(这一点十分关键)
//-----------------led.v-----------------------//
...
module  led
(
    input   wire    key_in  ,  
    output  wire    led_out   
);
...
//-----------------end-------------------------//
  1. 检查测试文件的实例化是否与设计文件中的模块是否匹配

实际上,就和编程语言中的函数或者方法一样,比如C语言中你要调用一个函数,参数列表必须与声明相一致才可以。
int swap(int*, int *);

swap(&a, &b);

//--------------in file led.v------------------//
...
module  led     //这是在led.v中定义的模块,模块名是led
(
    input   wire    key_in  ,  
    output  wire    led_out   
);
...
//-----------------end-------------------------//

//-----------in file tb_led.v------------------//
...
led led_inst
(
    .key_in (key_in ), 
    .led_out(led_out) 
    //这么是错误的,参数顺序不匹配
    //.led_out(key_in),
    //.key_in(led_out)
);
...
//----------------end-------------------------//
  1. 是否给了实例化一个名字

/比如在c++中创建一个Stack对象,你的语法应该类似于
Stack s = Stack(5);
这里s是Stack对象的一个名字,Verilog中类似(尽管它不是编程语言),实例化中“对象”要有名字

//比如在c++中创建一个Stack对象,你的语法应该类似于
Stack s = Stack(5);
//这里s是Stack对象的一个名字,Verilog中类似(尽管它不是编程语言),实例化中“对象”要有名字

//这个是正确的
led led_inst			 //led 就好比上面的Stack,led_inst就好比s
(
    .key_in (key_in ), 
    .led_out(led_out) 
);
//其实这句代码的写法更像是Stack s(5)

//这个是错误的
led					  	//实例化没有一个名字
(
    .key_in (key_in ), 
    .led_out(led_out) 
);

4:软件优化问题

实际上,这就是笔者开始学习时最后遇到的问题,确保排查了各种可能因素最后还是报错,解决方案如下:
找到你的modelsim安装路径,找到modelsim.iniModelsim:error loading design解决方案_第3张图片
使用文本编辑器打开后编辑(需要先去掉文件的只读属性)
定位到VoptFlow = 1
改为VoptFlow = 0,关闭它的自动优化功能,保存退出(为了安全可以恢复只读属性)
Modelsim:error loading design解决方案_第4张图片
Modelsim:error loading design解决方案_第5张图片
然后成功加载

最后说明本文不能保证涵盖所有肯情况,仅供参考。

你可能感兴趣的:(fpga,modelsim,fpga,仿真器)