1#
发表于 2015-06-26 21:07:19
教程说明:
ISE包括ISIM的工具。一个实验教程将包括如何仿真和验证已经完成的设计。
教程目的:
完成了这个实验教程后,你将学会:
1. 学会使用HDL testbench完成一个设计的仿真
2. 学会使用波形观察信号。
教程过程:
教程分为3个部分:
1. 完成testbench的书写
2. 仿真设计
3. 熟悉ISIM的环境
看一下我们写的HDL的仿真文件:
双击uart_led.xise打开工程
打开顶层的Testbench的顶层工具test_uart_rx.v,了解一下他的功能。
在design的窗口,选择Simulation的选项。
双击 test_uart_rx.v 打开该文件。
到44行,看一下我们输入:"Welcome to Xilinx ISE Design Tool Flow"的字符串。
到54行看一下仿真激励,大家好好研究一下这个仿真激励,会对大家有很大的帮助。(关于这些语法现象以后我们再开贴子说明)
点击前面的+号展开层次结构。
双击打开 tb_uart_rx.v,跳到64行学习时钟如何生成,跳到105行看下顶层例化。
接收数据UART的 rxd_i data的输入端口是被符合RS-232协议的串口数据驱动。
这rx_data 输出端口将被送进错误检查的任务中。
仿真设计:
运行该仿真,检查输出波形。
1 在 Hierarchy 窗口里,确保test_uart_rx.v testbench文件被选择。
2 在过程窗口里面,选择 ISim的仿真器
3 右击Simulate Behavioral Model选择Process Properties.
把Run for Specified Time上面的勾去掉。
双击 Simulate Behavioral Model,编译Testbench启动ISIM.
5 仿真并没有启动,因为刚才的改动,如果没有改动,仿真将自动执行。
6 点击RunAll的按钮 ( <ignore_js_op> )
7 再选择waveform的选项(Default.wcfg),使用Zoom to Full View按钮( <ignore_js_op> )缩小到最小。
然后使用Zoom In按钮放大到你想要的大小。
8 m默认的是,只有Testbench顶层的信号才能被显示。而该顶层只有几个参数和要传送的字符串。
为了是实际的信号能被看到,他们需要被我们加上去。但是这之后必须重新进行仿真。
9 变换char_to_send的显示方式为AISCII,在waveform的选项(Default.wcfg)右键 char_to_send[7:0]选择Radix > ASCII
10 对string[0:303]重复上面步骤
11 添加信号tb/uart_rx_i0到波形窗口。不要添加BAUD_RATE 和CLOCK_RATE参数。
点击In the Instance and Process Name 窗口, 扩展test_uart_rx and tb.
选择uart_rx_i0.在object窗口选择好信号,点击右键添加到波形窗口。也可以直接通过拖拉的方式添加。
12 前面已经说过必须重新仿真,然后点击先点击Restart然后点击Run All toolbar 按钮重新仿真
13 改变rx_data为ASCII,在rx_data_rdy有效时,检查接收数据是不是正确。可以选择rx_data_rdy,然后使用Next Transition的按钮( <ignore_js_op>)来追踪数据。
基本使用介绍完了。
|