我们刚刚的代码通过编译变成了下载所需的文件,这个文件被下载到FPGA中之后,FPGA芯片里就会有上图所示的逻辑门被搭建起来。 它正是二选一多路器的门级结构。
2Modelsim的基本使用
我所使用的modelsim版本是modelsim SE 10.1a。打开软件界面如下图所示:
(1) 测试平台testbench
在仿真之前必须写一个测试文件,它也是一个模块。是调用顶层模块的模块,但它并不属于工程的一部分,最终也不会被下载到芯片中。它的作用就是产生激励信号输入给用户编写的模块,然后通过观察输出来分析设计是否符合要求。
既然不会被下载到芯片中,如何给激励信号,又如何产生输出?modelsim会通过仿真完成这个过程。
(2) 在modelsim中编写测试文件和用户设计的模块
File->new->source->Verilog
打开文件编辑界面如下图所示:
任意输入一个字符之后就可以CTRL+S保存,我把它保存在一个单独的文件夹中,命名mul.v 注意该软件也不支持中文路径。
接下来可以手动写入代码,我是直接粘贴了quartus II工程中的代码。如下图所示:
同样的方式新建测试文件并编写,保存。如下图所示:
(3) 基本仿真流程
1,creat the working design library
在开始仿真之前,我们要新建一个库并且把与仿真有关的文件编译到库中。 从菜单栏依次点击:file ->change directory
会出现创建新的库的对话框,默认库的名字是work,我们无需更改就用这个名字。 点击OK我们就有了a new library 叫做 work
接下来会出现对话框让我们指定 a logical mapping to it, 我把它指定到了上一步保存测试文件的位置。 如下图所示:
当你点击确定之后看一下相应文件夹下都出现了哪些新的东西,但是不要通过文本编辑器之类的工具随意更改这新信息。
同时在软件界面最下面的transcript窗口中也会出现相应记录:
再看library窗口下出现了一个空的work库:
2,compile the design uints
建好了库我们就把仿真相关的文件编译到库中。
依次点击:compile->compile出现如下图所示的对话框:
如果compile无效,可能是有别的工程处于打开的状态,关闭它就好了。