如图2.27所示,右键单击LED.v,在弹出的选项中选择New Source,建立新文件。下面我们将对LED.v进行仿真,看看仿真信号是否符合要求。
图2.27 建立新的仿真文件
系统会弹出如图2.28所示的对话框:
图2.28 设置图形仿真文件的文件名和路径
图2.28,左边这一列是待建立的新源文件的类型,有很多种,我们只说其中两种,其他的以后遇到了再介绍。Test Bench Wave form和Verilog Test Fixture都是用于仿真的。Test Bench Waveform是图形界面操作的仿真,用户只需对图形仿真界面进行操作就可以。而Verilog Test Fixture是需要用户手动输入文本形式的仿真文件,由ISE对文本仿真文件进行处理。在大型的仿真系统中,最好使用文本形式的。我们现在是初学,使用图形仿真就可以。
上图2.28中,文件名区域取个名字LED_test,选择默认路径。点击“下一步”、“下一步”和“完成”。
图2.29 时序初始化设置
如上图2.29,系统会弹出一个对话框,对定时信息进行初始化。我们重点关注3个画了方框的区域。一个FPGA芯片,一定会有时钟。上面这张图片就是要对时钟进行定义。
上图左边方框部分,主要是对时钟的高电平时间、低电平时间、输入信号建立时间和输出延迟等进行定义。这个项目里,我们暂时不做修改。
上图右上角方框部分,主要是选择单时钟、多时钟和组合逻辑电路。有些单时钟的时序触发电路有好几个输入信号,这里可以用下拉列表把某个信号设置为单时钟。有些时序触发电路有几个时钟,就可以选择多时钟。有些电路是组合逻辑电路,没有时钟,相应的就可以选择组合逻辑选项。
右下角方框部分,可以设置仿真时间的长度。
点击“OK”。
ISE主界面会显示如下图2.30所示的变化。
下图2.30中,右边的方框5显示ISE新建立了一个图形的文档,我们可以对它进行操作。
我们还没有对这个文档进行保存,所以在左上角的方框2区域,我们看到该项目的层级结构是文件LED.v是建立在该项目(LED.ise)之下的。层级结构前面有一个减号。我们正在建立的仿真文件LED_test.tbw应该是对LED.v文件进行测试的,所以LED_test.tbw的级别应该要比LED.v还要低一级。
图2.30 图形仿真文件的工作界面
我们先点击保存。保存的图标在图2.30的方框1。左边是只保存当前的文件。右边是保存全部文件。点击任何一个都可以。点击保存以后,上图的区域2就会变成如下图2.31所示的层级结构。如果在仿真过程中的层级结构不是如下图所示,就表示过程出错了。右键选择这些文件后可以移除掉,然后重复以上的步骤即可。
我们再看上图2.30。区域3显示了模块的所有输入和输出端口。输入是我们可以控制的。由于之前我们设置了clk是时钟,于是clk右边区域什么时候是高电平什么时候是低电平,我们没法再设置了。如果之前没有设置clk是时钟,当点击clk右边时,可以进行设置。ISE集成开发环境会根据输入来计算输出。这个例子里,也就是根据clk来计算LED随着时间的变化,然后显示在区域4。换句话说,我们此时没法手动设置输出。输出是由计算机计算得到的。当用户尝试用鼠标点击LED右边区域,可以进行设置,但是所进行的设置无效。
图2.31 保存图形仿真文件后的界面显示
设置好以后,点击保存图标。如下图2.32所示,左键单击LED_test.tbw,选中它。我们下面要对LED_test.tbw文件进行操作。我们可以对LED_test.tbw这个文件做什么事呢?点击下图的进程视图页签Process View。选中Process View,我们就可以看到可以对选中的文件做什么操作。(www.xing528.com)
图2.32 图形仿真文件的操作
右键选择生成期待的仿真结果,在弹出的右键菜单中选择运行“Run”。
图2.33 运行图形仿真文件
系统会弹出一个对话框,如下图2.34所示,问:一次只能运行一个tbw文件,是否愿意关掉当前已经打开的tbw文件并再开一个新的?选是。
图2.34 图形仿真文件的对话框
根据之前是否手动设置过输出信号,系统可能会弹出如下图2.35的对话框:
图2.35 图形仿真文件的对话框
上面这个对话框,选是。
图2.36 产生的期望的仿真结果
上图2.36就是产生的期望的仿真结果。看上图。最初的LED信号是x,表示未知信号。第一个脉冲clk上升沿来了之后,always块语句才执行,LED才被赋值为1。随后LED一直为1.这个结果满足我们设计的程序所要实现的预期。
如下图2.37,也可以右键点击行为模型仿真Simulate Behavioral Model,选择运行Run。
图2.37 行为模型仿真
系统会生成行为模型仿真的结果,如下图2.38所示。注意要点击下图的方框区域页签才能看到仿真结果。这个仿真结果是灰色背景的。这就是功能仿真,或者叫作行为模型仿真。它只对程序是否能实现功能进行仿真,对于器件延时等不予考虑。
图2.38 行为模型仿真的结果
如下图2.39,如果选中LED_test.tfw页签,则显示了ISE根据图形界面的输入所产生的文本测试文件。运行这个文本测试文件,就可以产生图形仿真的结果。之前我们说到的文本测试的方式,就是这种。我们也可以手动输入来建立文本测试文件。
图2.39 图形仿真产生的文本测试文件
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。