您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 关于FPGA应用软件VIVADO的使用心得体会与操作流程流水灯
方案标准依元素科技有限公司Xilinx全球合作伙伴设计流程简介:Vivado设计分为ProjectMode和Non-projectMode两种模式,一般简单设计中,我们常用的是ProjectMode。在本手册中,我们采用Xilinx数模混合口袋实验室,将以一个简单的实验案例,一步一步的完成Vivado的整个设计流程。在本次实验中,将会学习如何使用XilinxVivado2015.4创建、综合、实现、仿真等功能。本实验通过编写一个流水灯实验来展示使用XilinxVivado来进行基本的FPGA设计。目标:通过编写HDL文件的方式创建Vivado设计。建立仿真通过I/OPlaning添加管脚约束通过编写约束文件添加管脚约束添加时序约束生成Bitstream文件将生成的Bitstream文件下载到FPGA开发板里实验流程:一、新建工程1、打开Vivado2015.4开发工具,可通过桌面快捷方式或开始菜单中XilinxDesignTools-Vivado2014.2下的Vivado2015.4打开软件,开启后,软件如下所示:2、单击上述界面中CreateNewProject图标,弹出新建工程向导,点击Next。Step1:在Vivado中创建RTL设计Step2:进行HDL语言编写Step4:综合、实现进行管脚约束Step5:生成bit文件下载到FPGAStep3设置激励仿真方案标准依元素科技有限公司Xilinx全球合作伙伴、输入工程名称、选择工程存储路径,并勾选Createprojectsubdirectory选项,为工程在指定存储路径下建立独立的文件夹。设置完成后,点击Next。注意:工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成。4、选择RTLProject一项,并勾选Donotspecifysourcesatthistime,勾选该选项是为了跳过方案标准依元素科技有限公司Xilinx全球合作伙伴在新建工程的过程中添加设计源文件。点击Next。5、根据使用的FPGA开发平台,选择对应的FPGA目标器件。在本手册中,以Xilinx数模混合口袋实验室为例,FPGA采用Artix-7XC7A35T-1CSG324-C的器件,即Family和Subfamily均为Artix-7,封装形式(Package)为CSG324,速度等级(Speedgrade)为-1,温度等级(TempGrade)为C)。点击Next。6、确认相关信息与设计所用的的FPGA器件信息是否一致,一致请点击Finish,不一致,请返方案标准依元素科技有限公司Xilinx全球合作伙伴回上一步修改。7、得到如下的空白Vivado工程界面,完成空白工程新建。二、设计文件输入1、如下图所示,点击FlowNavigator下的ProjectManager-AddSources或中间Sources中的对话框打开设计文件导入添加对话框。方案标准依元素科技有限公司Xilinx全球合作伙伴、选择第二项AddorCreateDesignSources,用来添加或新建Verilog或VHDL源文件,点击Next。3、如果有现有的V/VHD文件,可以通过AddFiles一项添加。在这里,我们要新建文件,所以选择CreateFile一项。方案标准依元素科技有限公司Xilinx全球合作伙伴、在CreateSourceFile中输入FileName,点击OK。注:名称中不可出现中文和空格。5、点击Finish。方案标准依元素科技有限公司Xilinx全球合作伙伴、在弹出的DefineModule中的I/OPortDefinition,输入设计模块所需的端口,并设置端口方向,如果端口为总线型,勾选Bus选项,并通过MSB和LSB确定总线宽度。完成后点OK。注:led实际宽度与代码中一致,也可在代码中修改。7、新建的设计文件(此处为flowing_light.v)即存在于Sources中的DesignSources中。双击打开该文件,输入相应的设计代码。方案标准依元素科技有限公司Xilinx全球合作伙伴`timescale1ns/1psmoduleflowing_light(inputclk,inputrst,output[15:0]led);reg[23:0]cnt_reg;reg[15:0]light_reg;always@(posedgeclk)beginif(rst)cnt_reg=0;elsecnt_reg=cnt_reg+1;end方案标准依元素科技有限公司Xilinx全球合作伙伴@(posedgeclk)beginif(rst)light_reg=16'h0001;elseif(cnt_reg==24'hffffff)beginif(light_reg==16'h8000)light_reg=16'h0001;elselight_reg=light_reg1;endendassignled=light_reg;endmodule8、添加约束文件,有两种方法可以添加约束文件,一是可利用Vivado中IOplanning功能,二是可以直接新建XDC的约束文件,手动输入约束命令。a、先来看第一种方法,利用IOplanning。a.8.1、点击FlowNavigator中Synthesis中的RunSynthesis,先对工程进行综合。方案标准依元素科技有限公司Xilinx全球合作伙伴、综合完成之后,选择OpenSynthesizedDesign,打开综合结果。方案标准依元素科技有限公司Xilinx全球合作伙伴、此时应看到如下界面,如果没出现如下界面,在图示位置的layout中选择IOplanning一项。a.8.4、在右下方的选项卡中切换到I/Oports一栏,并在对应的信号后,输入对应的FPGA管脚标号(或将信号拖拽到右上方Package图中对应的管脚上),并指定I/Ostd。具体的FPGA约束管脚和IO电平标准,可参考对应板卡的用户手册或原理图)。a.8.5、完成之后,点击左上方工具栏中的保存按钮,工程提示新建XDC文件或选择工程中已有的XDC文件。在这里,我们要Createanewfile,输入Filename,点击OK完成约束过程。方案标准依元素科技有限公司Xilinx全球合作伙伴、此时,在Sources下Constraints中会找到新建的XDC文件。b、如何利用第二种方法添加约束文件。b.8.1、点击AddSources,选择第一项AddorCreateConstraints一项,点击Next。方案标准依元素科技有限公司Xilinx全球合作伙伴、点击CreateFile,新建一个XDC文件,输入XDC文件名,点击OK。点击Finish。方案标准依元素科技有限公司Xilinx全球合作伙伴、双击打开新建好的XDC文件,并按照如下规则,输入相应的FPGA管脚约束信息和电平标准。set_propertyPACKAGE_PINK3[get_ports{led[0]}]set_propertyPACKAGE_PINM1[get_ports{led[1]}]set_propertyPACKAGE_PINL1[get_ports{led[2]}]set_propertyPACKAGE_PINK6[get_ports{led[3]}]set_propertyPACKAGE_PINJ5[get_ports{led[4]}]方案标准依元素科技有限公司Xilinx全球合作伙伴[get_ports{led[5]}]set_propertyPACKAGE_PINH6[get_ports{led[6]}]set_propertyPACKAGE_PINK1[get_ports{led[7]}]set_propertyPACKAGE_PINK2[get_ports{led[8]}]set_propertyPACKAGE_PINJ2[get_ports{led[9]}]set_propertyPACKAGE_PINJ3[get_ports{led[10]}]set_propertyPACKAGE_PINH4[get_ports{led[11]}]set_propertyPACKAGE_PINJ4[get_ports{led[12]}]set_propertyPACKAGE_PING3[get_ports{led[13]}]set_propertyPACKAGE_PING4[get_ports{led[14]}]set_propertyPACKAGE_PINF6[get_ports{led[15]}]set_propertyPACKAGE_PINR15[get_portsrst]set_propertyPACKAGE_PINP17[get_portsclk]set_propertyIOSTANDARDLVCMOS33[get_ports{led[15]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[14]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[13]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[12]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[11]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[10]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[9]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[8]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[7]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[6]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[5]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[4]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[3]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[2]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[1]}]set_propertyIOSTANDARDLVCMOS33[get_ports{led[0]}]set_propertyIOSTANDARDLVCMOS33[get_portsclk]set_propertyIOSTANDARDLVCMOS33[get_portsrst]三、利用Vivado进行功能仿真1.创建激励测试文件,在Source中右击选择AddSource方案标准依元素科技有限公司Xilinx全球合作伙伴
本文标题:关于FPGA应用软件VIVADO的使用心得体会与操作流程流水灯
链接地址:https://www.777doc.com/doc-4749281 .html