实验一Nexys 3 实验板及设计软件A1.1 实验简介Nexys3实验板专门由Xilinx大学合作计划(XUP)为各种层次的大学工科培养计划设计,由美国Digilent公司()制作。
因ISE软件版本不同,读者所用软件的菜单排列与名称可能与本实验介绍的略有不同,但其功能基本相同。
读者可以参考本实验提供的软件使用细节。
A1.2 实验目的熟悉Nexys3实验板使用和芯片设计流程,熟悉使用下列软件:·MATLAB/Simulink(作者使用R2010b)。
·System Generator(作者使用13.2)。
·ISE(10.1之前版本,作者使用13.2)。
·ChipScope(与ISE相应版本,作者使用13.2)。
·Xilinx ISE Simulator或ModelSim(Mentor Graphics软件)。
学习从电路设计到比特流下载全过程,学习使用ChipScope观察来自芯片的信号波形。
A1.3 实验任务本实验由3部分组成:第一部分学习使用Simulink,学习用Simulink元件和Xilinx元件搭建电路模型,熟悉使用Simulink软件界面;第二部分学习使用System Generator(SysGen)和ISE工具,学习基于Simulink模型的综合流程,熟悉ISE工具环境和使用SysGen生成的设计工程文件,学习使用布局布线工具和FPGA编辑器,学习阅读综合报告等;第三部分学习将物理综合结果下载到FPGA芯片,学习下载前VHDL行为方针,学习用ChipScope观察比特流下载后来自芯片的波形。
A1.4 实验步骤第一部分:Simulink 与Xilinx设计单元库的使用1.启动MTALAB,指定一个工作目录(如F:\FPGA\DSP\LAB1)为当前目录(见图A1.1)。
图A1.1 MATLAB Simulink 的启动按钮与当前目录窗口2.单击MATLAB工具栏内的Simulink按键(见图A1.1),或在MATLAB命令行中输入simulink。
这时弹出Simulink Library Browser(见图A1.2)。
图A1.2 Simulink单元库浏览器3.选择File→New→Model命令,打开新建模型编辑器。
4.在Simulink Library Browser中浏览Xilinx Blockset(见图A1.3),选择Basic Elements选项。
从右边的元件窗口将以下图标拖曳到模型编辑器中从Xilnx Blockset目录下的Index栏目下找到延迟(Delay)单元放入编辑器。
从Simulink目录下的Sources栏目找到Constant 单元,从同一目录下的Sinks栏目找到Scope单元,均放入电路编辑器。
图A1.3 Xilinx Blocks菜单及当前电路5.连接各模块:在Constant单元的输出端口按下鼠标左键,拉到Gateway In单元的输入端口。
连接成功后鼠标箭头的单线十字变为双线十字,放开鼠标左键后连接线由虚线变为实线。
所有单元前后连接完成后得到如图A1.4所示的电路。
将模型保存到文件delay1.mdl。
放入的System Generator图标用于设置仿真参数和设计综合,不必连接到电路。
图A1.4 延迟单元与输入输出单元组成的电路(delay1.mdl)6.为比较输入与输出波形,可以在信号源Constant与Gateway In之间连接另一个Scope(见图A1.5a),或者接一个双输入端口Scope(见图A1.5b)。
双击打开Scope,单击Scope 窗口上沿第二个工具图标Parameters,打开窗口后,在Numbers of axes 文本框中填入2,单机OK按钮后Scope的输入端口变为两个。
如图A1.5b所示为将Scope输入端口之一接Constant输出。
图A1.5a 输入端接另一个Scope图A1.5b 比较输入输出波形(delay2.mdl)7.仿真之前先设置各单元的参数。
双击各元件弹出参数设置窗口。
图A1.6为Gateway In的参数设置窗口。
Gateway In相当与一个采样量化装置,用户可以选择采样周期(Sample period)、量化位宽(Number of bits)、对量化(Quantization)的处理(Truncate/Round)和对溢出(Overflow)的处理(Wrap/Saturate)等。
如图A1.6所示设置Gateway In的参数:位宽为8,小数位为0,Overflow设为Wrap,采样周期为1(默认值)。
打开Constant 单元查看参数为单位阶跃输入(保持默认值不变)。
双击延迟单元查看延迟单位(Latency)为1(默认值)。
Gateway Out的功能是把8位定点数转化为浮点数后输出给Scope上。
打开Gateway Out确认Translate into output 选项已被选中,保持参数不变。
图A1.6 Gateway In参数设置8.Simulink工具栏系统仿真时间设置为默认值10.0(以仿真时钟周期为单位,可以根据需要修改)。
单击Simulink仿真按钮▶开始仿真。
双击Scope观察输出波形。
如图A1.7所示为图A1.5b所示电路双端口Scpoe上显示的波形,上半部为输入波形,下半部为输出波形,可以看到输出波形延迟了1单位时间。
可以用Scope工具栏里提供的按钮调整坐标范围和缩放波形等。
将电路模型重新保存为delay2.mdl。
图A1.7 双输入Scope显示的波形9.在Simulink Sources目录下找到正弦信号(Sine wave)单元放入电路图。
删除Constant单元,用正弦信号单元代替常数单元接到Gateway In输入。
打开Sine Wave单元,设置参数如下:幅度(Amplitude)为50,频率(Frequency)为2*pi*100,采样时间(Sample time)为1e-4(即采样频率为10kHz)(见图A1.8)。
同时设Gateway In的Sample period 为1e-4。
打开System Generate模块,将Simulink system period时间也设为1e-4。
打开延迟单元将Latency 改为10。
将Simulink仿真时间改为0.02(即2个正弦波周期)。
图A1.8 Sine Wave参数设置10.单机仿真按钮,在Scope中看到如图A1.9所示的波形。
分析观察到的延迟是否与电路设计一致。
将仿真正确的电路保存为sinewave.mdl。
图A1.9 Scope显示输入输出正弦波形11.调整设计:改变正弦信号波形(幅度、频率、采样频率),改变延迟单元时延长度,改变仿真运行时间等,分别观察仿真波形输出的变化,记录仿真结果。
注意:改变Gateway In采样频率时要相应调整System Generator中的Simulink system period设置,一般应保持一致,否则仿真时系统可能会提示错误。
12.将正弦波幅度从50改为150,再次仿真,观察输出波形的变化。
改变Gateway In模块关于Overflow的选项Wrap和Saturate,然后重新仿真,观察仿真结果的变化并做出解释。
第二部分:System Generator 与ISE的使用1.再次打开电路模型delay1.mdl。
2.双击System Generator图标后弹出System Generator的参数设置窗口(见图A1.10)。
可设置的参数包括:编译生成的网表格式(HDL Netlist)、工具支持的FPGA芯片型号(这里使用Nexys3板子的芯片Spartan6 xc6slx16-2csg324)、生成工程文件的目标目录(Target directory,默认目录./netlist)、综合工具(XST)、硬件描述语言(VHDL或Verilog)。
在时钟标签下参数包括:产生时钟信号的引脚名称(V10,依赖于芯片型号和系统板)。
FPGA clock period 是Simulink仿真时间步长,一般System Generator中的Simulink system period 时间要与Gateway In参数Sample period时间一致。
图A1.10a Sy sGen参数设置图A1.10b SysGen参数设置3.因System Generate 综合后将产生大量的文件,为便于管理工程,建议为每一个电路建立一个目录。
例如,为电路delay1.mdl建立一个delay1目录。
System Generator生成文件将保存与delay1/netlist下。
4.参数设置完毕之后单击System Generator窗口中的Generate按钮。
System Generator开始编译,编译成功后在目标目录./netlist下将生成一系列项目文件。
目录下的部分文件是ISE综合时的输入文件。
ISE读入这些文件后综合生成用于FPGA芯片物理实现的比特流。
5.双击桌面上的ISE图标或从“开始”菜单中启动ISE工具(作者使用ISE13.2版)。
6.执行File Open Project命令,可以浏览到delay工程所在的目录。
打开工程文件delay1_cw.ise(见图A1.11)。
Hierarchy窗口中列出的是与该工程有关的源文件。
Processes 窗口中列出的是用于FPGA物理综合的系统工具,本实验中只介绍其中一部分。
图A1.11 打开工程后的ISE窗口7.展开Processes窗口中的Implement Design目录,看到Place & Route子目录(见图A1.12)。
进一步展开Place & Route,右击Generate Post-Place & Route Static Timing 选择Run命令。
这时ISE开始编译综合,在位于下方的Console窗口将显示运行过程信息。
运行结束后在Console窗口中将显示如图A1.13所示的信息。
运行结束后在目录前标上绿色记号表示该条目已顺利运行结束。
同时可以看到在工程目录delay下又增加了一些新生成的目录和文件,这些都是编译综合过程中各种工具生成的中间文件。
图A1.12 Processes窗口各级目录图A1.13Post-Place & Route成功结束信息8.在Processes窗口的最上方双击Design Summary/Reports,在Detailed Reports中选择Placeand Route Report。
其中显示了如图A1.14所示的资源使用报告等信息。