您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Xilinx-fpga-设计培训中文教程-5-1
Xilinx工具流程实验Xilinx工具流程实验介绍本实验介绍ISE软件结构向导管脚及区域约束编辑器和Xilinx的工具流程目标完成此实验后你将会•••在ISE的项目导航器中建立一个新的项目利用结构向导建立一个DCM例化将例化置于设计之中•利用软件的缺省选项实现一个设计•利用PACE工具指定管脚位置和区域位置过程注意当用Toolwire来执行实验时所有的软件程序文件和项目都在卷标U:\下而不是在C:\下建立一个新的项目第一步登录到ISE项目导航器在C:\training\fund\labs\flow子目录下建立一个名称为FlowLab的新项目目标器件为xc2v40-4fg256设计流程可以是XSTVerilog或XSTVHDL你可以根据你的喜好选择相应的语言打开XilinxISE5.1软件从开始菜单里选择程序Programs→XilinxISE5.1→项目导航器ProjectNavigatorXilinx工具流程实验→新项目NewProject这时新项目窗口就会打开图5b-1图5b-1.新项目窗口对于项目名键入FlowLab对于项目位置使用按钮浏览到C:\training\fund\labs\flow单击OK选择器件家族Virtex2选择器件为xc2v40封装为fg256速度等级为–4选择设计流程XSTVerilog或XSTVHDL单击OK添加源文件第二步将子目录C:\training\fund\labs\flow\verilog或C:\training\fund\labs\flow\vhdl中所有源文件添加到FlowLab项目中在项目导航器窗口中选择项目Project→添加源文件AddSource在添加已有源文件对话框图5b-2中用下拉菜单浏览到C:\training\fund\labs\flow子目录然后进入VHDL或Verilog子目录这取决于你在建立项目时所选择的流程Xilinx工具流程实验→新源文件NewSource在新源文件窗口中选择结构向导(ArchitectureWizard)并输入MyDCM作为文件名点击下一步Next然后在下一个窗口中点击完成FinishXilinx工具流程实验(图5b-4).图5b-4.结构向导选择对话框注意RocketI/O向导在此不可选这是因为我们的目标器件为Virtex-II而RocketI/O能力仅在Virtex-IIPRO器件中才有在XilinxDCM向导–通用设置窗口操作如下输入DCM例化名MyDCM_inst选中CLK2X输出框去除RST引脚的选择输入输入时钟频率为100MHz然后点击下一步图5b-5.XilinxDCM向导–通用设置窗口Xilinx工具流程实验向导中–时钟缓冲器窗口保持选项为缺省设置并点击完成注意一个新的文件(MyDCM.xaw)被添加到项目源文件窗口选择MyDCM.xaw文件进入当前源文件进程窗口双击查看HDL源文件并检查结构向导所产生的源代码将DCM例化置于设计(VHDL)中第四步注意对于Verilog进入第五步将例化模板中的部件声明部分拷贝到ch_fifo.vhd中的合适位置然后将部件例化从例化模板中拷贝到ch_fifo.vhd中的合适位置最后分配信号和修改代码以完成例化见本节的子步骤6和7将DCM例化置于设计中)保存修改好的文件在项目源文件窗口双击ch_fifo.vhd打开源代码选择文件MyDCM.xawMyDCM.xaw选中后进入当前源文件进程窗口双击查看HDL例化模板在HDL例化模板中复制部件声明这一部分(从COMPONENTMyDCM开始到ENDCOMPONENT为止)并粘贴到ch_fifo.vhd的第四十行(在部件fifo_2048x8之后在信号pn_lock,wr,wr_addr_srst:std_logic之前)在HDL例化模板中复制部件例化这一部分(从Inst_MyDCM:MyDCM直到文件结束为止)并粘贴到ch_fifo.vhd的第五十四行在begin之后在pn_correlator_inst:pn_correlator之前按照如下方式完成例化MyDCM_inst:MyDCMPORTMAP(clkin_in=wr_clk_in,locked_out=lock,clk2x_out=rd_clk,clk0_out=wr_clk);目前设计中有两个时钟信号没有用到DCM既然我们现在已使用了DCM我们需要修改和添加一些信号名以便例化能工作有三个地方需要修改a)在ch_fifo实体声明中将wr_clk改为wr_clk_in.b)在ch_fifo实体中将rd_clk信号删除既然该信号将要由DCM生成Xilinx工具流程实验)在五十三行附近其它信号声明之后begin行之前添加以下信号声明signallock,rd_clk,wr_clk:std_logic;选择文件File→保存Save以保存文件Xilinx工具流程实验置于设计(Verilog)中第五步将部件例化从例化模板中拷贝到ch_fifo.v中的合适位置最后分配信号和修改代码以完成例化见本节的子步骤4和5将DCM例化置于设计中)保存修改好的文件在项目源文件窗口双击ch_fifo.vhd打开源代码现在选择文件MyDCM.xawMyDCM.xaw选中后进入当前源文件进程窗口双击查看HDL例化模板在HDL例化模板中复制部件声明这一部分(从MyDCM开始一直到最后的);结束)并粘贴到ch_fifo.v的第十行(在wire[7:0]wr_data之后在pn_correlatorpn_correlator_inst之前)按照如下方式修改例化MyDCMMyDCM_inst(.CLKIN_IN(wr_clk_in),.LOCKED_OUT(lock),.CLK2X_OUT(rd_clk),.CLK0_OUT(wr_clk));目前设计中有两个时钟信号没有用到DCM既然我们现在已使用了DCM我们需要修改和添加一些信号名以便例化能工作有四个地方需要修改a)在ch_fifo模块的端口列表中将wr_clk改为wr_clk_inb)同样在ch_fifo模块的端口列表中,删除rd_clk端口c)在ch_fifo的端口声明中从输入信号列表中删去rd_clk信号因为此信号将由DCM产生d)添加下列wire声明到第七行lock,rd_clk,wr_clk这样整个一行将变成wirepn_lock,wr,wr_addr_srst,lock,wr_clk,rd_clk;选择文件File→保存Save以保存文件Xilinx工具流程实验实现设计.确认在项目源文件窗口中选择的是顶层的设计文件(如图5b-6).顶层设计文件名为ch_fifo.v/vhd图5b-6.项目源文件窗口在当前源文件进程窗口如图5b-7中双击实现设计ImplementDesign注意工具将会执行实现设计所必需的所有进程在本实现中在进入实现之前工具将先执行综合图5b-7.当前源文件进程窗口Xilinx工具流程实验进程条在当前源文件进程窗口点击实现设计旁边的+展开实现步骤并查看进程我们称此为展开一个进程每一步完成之后在每一步旁边将出现一个符号•••绿色的对号表示成功黄色的惊叹号表示有警告红色的X表示有错误对于这个特定的设计在每一步将会有一个黄色的惊叹号警告但这些警告无碍可以忽略当实现完成时项目导航器窗口底部的控制/信息窗口将会显示以下信息Done:completedsuccessfully.打开PACE第八步在项目导航器中以建立一个新源文件的方式建立一个名为myucf的UCF文件然后从当前源文件进程窗口中打开PACE工具用户约束UserConstraints→指定封装引脚AssignPackagePins在我们能够打开PACE之前我们必须建立一个UCF文件按照警告信息要建立一个UCF文件只要选择项目Project→新源文件NewSource选择实现约束文件输入myucf作为文件名点击下一步Next在下一个窗口中确定选择的是ch_fifo点击下一步然后在最后一个窗口中点击完成如图5b-11)Xilinx工具流程实验符号这些符号是中间为圆圈的框它们可能是不同颜色的方框圆圈后的不同颜色代表不同的I/O组注意在器件结构窗口中相应的引脚是如何被高亮的在设计层次窗口点击I/O引脚旁的的+号展开I/O引脚子目录你也可以展开全局逻辑和逻辑子目录来检查其中的内容这些名称来自于设计图5b-13.设计层次窗口注意设计对象列表窗口是如何跟着设计层次窗口中所选的子目录而变化的Xilinx工具流程实验信号指定到BANK2上将DCM元件放置在位置DCM_X1Y1上将BRAM元件放置在块RAM位置X1Y1上在设计层次窗口选择I/O管脚子目录注意可以为每一个信号指配一个实际的引脚位置或为一个信号指定在特定组中的引脚范围在设计对象列表-I/O引脚窗口中将所有rd_data?信号指定到BANK2上可以这样操作选择一个信号在位置这一列点击框的右侧使用选择组的下拉菜单然后选择BANK2图5b-14.
本文标题:Xilinx-fpga-设计培训中文教程-5-1
链接地址:https://www.777doc.com/doc-4748707 .html