这里记载一下使用modelsim进行简单的仿真,方便以后使用的时候进行查看。所谓的简单的仿真,就是没有IP核、只用图形界面不用tcl脚本进行的仿真。简单的仿真步骤为:

1、改变路径到工作环境下的路径下面,创建工程。

2、添加仿真的源文件(.v文件等)。

3、编译源文件。

4、启动仿真,添加仿真信号。

5、调试、查看仿真波形。

这里就使用一个简单的例子——8分频电路,进行演示和讲解:

 

1、改变路径到工作环境下的路径下面,创建工程:

  ①打开modelsim后如果有工程,则先关掉工程:

        

ModemManager详解 modemsim_源文件

关掉工程:

         

ModemManager详解 modemsim_创建工程_02

 

 

  ②改变工作路径:


 

ModemManager详解 modemsim_源文件_03

ModemManager详解 modemsim_ModemManager详解_04

 

③创建工程

       

ModemManager详解 modemsim_源文件_05

          

ModemManager详解 modemsim_源文件_06

ModemManager详解 modemsim_创建工程_07

OK之后,在当前的工作目录下面就创建了一个“work”的文件夹,这也就是物理库:

      

ModemManager详解 modemsim_源文件_08

 

 

 

2、添加仿真源文件

            

ModemManager详解 modemsim_ModemManager详解_09

或者右击空白处:

       

ModemManager详解 modemsim_ModemManager详解_10

 

然后进行选择添加:

      

ModemManager详解 modemsim_选项卡_11

        

ModemManager详解 modemsim_创建工程_12

        

ModemManager详解 modemsim_创建工程_13

 

 

 

 

3、编译源文件

    

ModemManager详解 modemsim_选项卡_14

或者:

         

ModemManager详解 modemsim_选项卡_15

 

编译成功后:

      

ModemManager详解 modemsim_创建工程_16

 

如果编译不成功的,根据提示的信息,进行修改代码,然后对不成功的模块进行部分编译:

     

ModemManager详解 modemsim_选项卡_17

(如果modelsim看到的中文是乱码,那么可以在编辑器中进行模式转换,如从ASC转换成xxx编码模式),然后修改再编译(注意,所有的目录都应该放在英文路径中)。

 

4、启动仿真,添加仿真信号。

  ①切换到库选项卡,点开work,启动仿真

  在信息栏上面有两个选项卡:library和project两个选项卡,编译完之后,文件被编译到work目录下(library上面有work的选项,点开可以看到设计和仿真的.v文件),work文件夹里面包含此次工程编译库的信息;用modelsim打开的是.mpf
文件,也就是.mpf是modelsim的工程文件。

                   

ModemManager详解 modemsim_源文件_18

右击tb文件(如下图所示),选中测试模块的文件,右击,选择第二个simulation without optimistic(不进行优化代码再仿真,因为优化代码可能会把一些信号给优化掉),然后就启动了仿真:

           

ModemManager详解 modemsim_选项卡_19

  ②进行添加仿真信号

   启动仿真后,信息栏上面的选项卡会增加一个选项:sim;也就是总共有三个选项卡在信息栏上面(Library,project,sim)在sim选项中,左边是模块的整体结构;右击例化的设计文件,选择 ADD wire,就可以添加信号到波形窗口

 

     

ModemManager详解 modemsim_ModemManager详解_20

 

ModemManager详解 modemsim_源文件_21

然后就弹出了波形窗口:

      

ModemManager详解 modemsim_选项卡_22

 

 

 

5、调试、查看仿真波形。

  ①点击运行

         

ModemManager详解 modemsim_源文件_23

就可以看到波形了:

    

ModemManager详解 modemsim_创建工程_24

Run是每点击一次运行固定的时间(如100ns);

Continuerun是一直运行,直到点击break,点击break后显示波形;

runall是运行所有,直到点击break,点击break后显示波形。

  ②看波形,发现不对;修改代码后,需要在project区进行重新编译,然后回到sim区,点击

ModemManager详解 modemsim_选项卡_25

重新开始,然后根据①的步骤就可以继续完成简单的仿真工作了。

 

注:添加仿真信号可以直接把信号拖到波形窗口区:

       

ModemManager详解 modemsim_ModemManager详解_26

然后可以调试查看波形。关于其他调试、查看波形的技巧,以后学习了、用到了再进行记录。