Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴设计流程指导手册——2013.4Vivado设计分为ProjectMode和Non-projectMode两种模式,一般简单设计中,我们常用的是ProjectMode。在本手册中,我们将以一个简单的实验案例,一步一步的完成Vivado的整个设计流程。一、新建工程1、打开Vivado2013.4开发工具,可通过桌面快捷方式或开始菜单中XilinxDesignTools-Vivado2013.4下的Vivado2013.4打开软件,开启后,软件如下所示:2、单击上述界面中CreateNewProject图标,弹出新建工程向导,点击Next。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、输入工程名称、选择工程存储路径,并勾选Createprojectsubdirectory选项,为工程在指定存储路径下建立独立的文件夹。设置完成后,点击Next。注意:工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成。4、选择RTLProject一项,并勾选Donotspecifysourcesatthistime,勾选该选项是为了跳过在新建工程的过程中添加设计源文件。点击Next。5、根据使用的FPGA开发平台,选择对应的FPGA目标器件。(在本手册中,以Xilinx官方开Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴发板KC705为例,Nexys4开发板请选择Artix-7XC7A100TCSG324-2的器件,即Family和Subfamily均为Artix-7,封装形式(Package)为CSG324,速度等级(Speedgrade)为-1,温度等级(TempGrade)为C)。点击Next。6、确认相关信息与设计所用的的FPGA器件信息是否一致,一致请点击Finish,不一致,请返回上一步修改。7、得到如下的空白Vivado工程界面,完成空白工程新建。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴二、设计文件输入1、如下图所示,点击FlowNavigator下的ProjectManager-AddSources或中间Sources中的对话框打开设计文件导入添加对话框。2、选择第二项AddorCreateDesignSources,用来添加或新建Verilog或VHDL源文件,点击Next。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、如果有现有的V/VHD文件,可以通过AddFiles一项添加。在这里,我们要新建文件,所以选择CreateFile一项。4、在CreateSourceFile中输入FileName,点击OK。注:名称中不可出现中文和空格。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、点击Finish。6、在弹出的DefineModule中的I/OPortDefinition,输入设计模块所需的端口,并设置端口防线,如果端口为总线型,勾选Bus选项,并通过MSB和LSB确定总线宽度。完成后点击OK。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、新建的设计文件(此处为flowing_light.v)即存在于Sources中的DesignSources中。双击打开该文件,输入相应的设计代码。`timescale1ns/1psmoduleflowing_light(Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴[3:0]led);reg[23:0]cnt_reg;reg[3:0]light_reg;always@(posedgeclk)beginif(rst)cnt_reg=0;elsecnt_reg=cnt_reg+1;endalways@(posedgeclk)beginif(rst)light_reg=4'b0001;elseif(cnt_reg==24'hffffff)beginif(light_reg==4'b1000)light_reg=4'b0001;elselight_reg=light_reg1;endendassignled=light_reg;endmodule8、添加约束文件,有两种方法可以添加约束文件,一是可利用Vivado中IOplanning功能,二是可以直接新建XDC的约束文件,手动输入约束命令。a、先来看第一种方法,利用IOplanning。a.8.1、点击FlowNavigator中Synthesis中的RunSynthesis,先对工程进行综合。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、综合完成之后,选择OpenSynthesizedDesign,打开综合结果。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、此时应看到如下界面,如果没出现如下界面,在图示位置的layout中选择IOplanning一项。a.8.4、在右下方的选项卡中切换到I/Oports一栏,并在对应的信号后,输入对应的FPGA管脚标号(或将信号拖拽到右上方Package图中对应的管脚上),并指定I/Ostd。(具体的FPGA约束管脚和IO电平标准,可参考对应板卡的用户手册或原理图)。a.8.5、完成之后,点击左上方工具栏中的保存按钮,工程提示新建XDC文件或选择工程中已有的XDC文件。在这里,我们要Createanewfile,输入Filename,点击OK完成约束过程。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、此时,在Sources下Constraints中会找到新建的XDC文件。b、如何利用第二种方法添加约束文件。b.8.1、点击AddSources,选择第一项AddorCreateConstraints一项,点击Next。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、点击CreateFile,新建一个XDC文件,输入XDC文件名,点击OK。点击Finish。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、双击打开新建好的XDC文件,并按照如下规则,输入相应的FPGA管脚约束信息和电平标准。set_propertyPACKAGE_PINL16[get_portsclk]set_propertyPACKAGE_PING15[get_portsrst]set_propertyPACKAGE_PINM14[get_ports{led[0]}]set_propertyPACKAGE_PINM15[get_ports{led[1]}]set_propertyPACKAGE_PING14[get_ports{led[2]}]set_propertyPACKAGE_PIND18[get_ports{led[3]}]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设计流程手册依元素科技有限公司Xilinx全球合作伙伴三、工程实现1、在FlowNavigator中点击ProgramandDebug下的GenerateBitstream选项,工程会自动完成综合、实现、Bit文件生成过程,完成之后,可点击OpenImplementedDesign来查看工程实现结果。2、点击FlowNavigator中OpenHardwareManager一项,进入硬件编程管理界面。3、在提示的信息中,选择Openanewhardwaretarget(或在FlowNavigator中展开HardwareManager,点击OpenNewTarget),Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、在弹出的Openhardwaretarget向导中,先点击Next,进入Server选择向导。5、保持默认的Servername为localhost:60001,如无默认,在下拉框中选择即可。连接好板卡的PROG端口,并上电。点击Next。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、依次点击Next、Next、Finish完成新建HardwareTarget。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、此时,Hardware一栏中出现硬件平台上可编程的器件。(此处已Zynq-7000为例,故出现Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴两个器件,如果是纯FPGA的平台,该处只有一个器件。)在对应的FPGA器件上右击,选择AssignProgrammingFile,指定所需的bit文件。(系统默认已存在该工程的bit文件,如不需更改,可跳过该步骤)8、在FPGA器件上右击选择ProgramDevice或在FlowNavigator下的HardwareManager中点击ProgramDevice一项。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、点击OK,将bit文件下载到板卡上的FPGA中,此时Hardware对应的FPGA状态即变为Programmed。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、设计完成。Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴附一:利用Vivado进行功能仿真1、创建激励测试文件,在Source中右击选择Addsource2、在AddSource界面中选择第三项AddorCreateSimulationSources,点击Next。3、选择CreateFile,创建一个新的激励测试文件Vivado设计流程手册依元素科技有限公司Xilinx全球合作伙伴、输入激励测试文件名,点击OK,然后点击Finish,弹出module端口定义对话框,由于此处是激励测试文件,不需要有对外的接口,所以,此处为空。点击OK,空白的激励测试文件就建好了。Vivado设计流程手册依元素科技有限公司Xil