性格成分分析表:VHDL仿真,Verilog HDL仿真入门--ModelSim使用简介

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 00:35:16

仿真VHDL和Verilog HDL并没有什么区别,一般的软件两种语言也都支持,仿真的步骤和方法也都是一样的。

常用的软件有Model Sim和Quartus II。

Quartus II功能很强大!实际的工作经常用它,它提供了功能仿真和时序仿真两种方式,但是作为学习HDL 并不方便,因为它compile编译的时候很慢,对于复杂的逻辑更是要很长时间。好的一点是,Quartus II编译后可以清楚的看到它使用了芯片的多少资源,各信号不同的延时等等。另外,Quartus II编译后也可以调用第三方的仿真工具,如Model Sim进行仿真。

而Model Sim只完成逻辑功能的仿真,并不考虑具体使用什么器件,学习HDL或者设计逻辑的时候compile一次所用的时间很短,便于调试找出逻辑的错误。所以初学仿真推荐使用Model Sim。本文也只讲下用Model Sim仿真逻辑的方法。

以下部分基本是参照软件帮助简写的,只是原来是英文的而且说的比较繁琐一些,也更详细内容更多。详见Model Sim菜单Help--SE PDF Documentation--tutorial。

仿真有两种方法。一种是Basic Simulation,就是直接建立库,然后编译源文件。另一种是通过建立Project来仿真,建立Project时软件会为它建立一个库,然后的仿真是一样的。

Basic Simulation的流程图如下

Basic Simulation的流程图如下


下面详细写一个例子的步骤

1. 建立库。选择菜单File>New>Library。建立新库就选a new library and a mapping to it,library name 和library physical name 都填work(当然其它名也行)。如下图。

下面详细写一个例子的步骤

1. 建立库。选择菜单File>New>Library。建立新库就选a new library and a mapping to it,library name 和library physical name 都填work(当然其它名也行)。如下图。

    确定后,在Work Space区的Library选项卡里就能看到新建的库work。


2. 编译VHDL或Verilog HDL源文件。 选择菜单Compile>Compile,在弹出的窗口中打开Model Sim安装文件夹下的 /modeltech/examples/tutorials/vhdl/basicSimulation/ (里面是软件自带教程的例子逻辑,Verilog HDL对应的例子在/examples/tutorials/verilog/basicSimulation里)。将里面的counter.vhd和tcounter.vhd一起选中,点击Compile,然后点击Done关闭弹出窗口。

    这两个源文件就编译好了,在Work Space区里的Library卡里可以看到库work下出现了两个编译完成的entity(或module),如下图。


3.   仿真。在Work Space区的library选项卡中,展开库work前的加号,双击test_counter,载入到仿真。


    
     这时Work Space区中新增了一些选项卡,弹出了Objects面板。

    选择菜单View>Debug Windows>Wave调出波形窗口。

在Work Space面板的Sim选项卡中右击test_counter,选择Add>Add to Wave。在波形窗口的列表里就能看到被添加到波形仿真的信号。

    开始仿真。点击工具栏上的Run按钮 ,就看到了计数器各信号的波形。

    默认仿真100ns。

    如果点击Run All按钮 则会一直仿真下去,知道点击Break按钮 或在代码中遇到断点。

    设置断点的方法是在代码文件的行号上单击,会出现红点。再单击变黑则断点无效。

    要重新仿真,可以单击工具栏上的Restart 按钮,在弹出的窗口中可以设置要保留的内容然后单击Restart。

    这些仿真涉及的按钮命令都可以在菜单Simulate中找到,仿真结束最后不要忘了选择菜单Simulate>End Simulate。

 

Project Simulation流程图如下

    同样是计数器的例子。

1. 建立project。选择菜单File>New>Project,任意填写Project Name和存储路径,default library name保持默认的work不变,确定。

2. 直接在确定后弹出的窗口选择Add Existing File或在Work Space面板的Project选项卡里右击选择Add to Project>Exitsting File。添加Model Sim安装目录examples/tutorials/vhdl/projects下的counter.vhd和tcounter.vhd两个文件到project(Verilog HDL的例子在examples/tutorials/verilog/projects下)。

    这时可以看到Project里新添入的两个文件的status都是?。

3. 更改编译顺序(仅针对VHDL)。选择菜单Compile>Compile Order,在弹出窗口中上下移动文件改变编译次序,或者点击Auto Generate让Model Sim来自动决定。

   

4. 在Work Space面板的Project选项卡里任意处右击,选择Compile>Compile All,编译成功则源文件的status变为绿色对勾。双击载入simulation,波形仿真方法与Basic Simulation相同。

仿真时,控制激励信号的方法有两种,一种是在源文件里用代码产生仿真的输入信号,如上面的例子(详见程序自带的例子文件的代码),另一种是在波形窗口中编辑输入信号的波形,或者载入已编辑好的波形文件来仿真。在下一篇日志里做了一些介绍。