XilinxISE使用教程学习.pptx
Xilinx公司软件平台介绍公司软件平台介绍-软件组成软件组成集成开发环境数字信号处理开发工具在线逻辑分析仪工具片上系统开发 布局布线工具第1页/共185页Xilinx公司软件平台介绍公司软件平台介绍-ISE Foundation软件软件 ISE Foundation软件是Xilinx公司推出的FPGA/CPLD集成开发环境,不仅包括逻辑设计所需的一切,还具有简便易用的内置式工具和向导,使得I/O分配、功耗分析、时序驱动设计收敛、HDL仿真等关键步骤变得容易而直观。第2页/共185页Xilinx公司软件平台介绍公司软件平台介绍-EDK软件软件 EDK是Xilinx公司推出的FPGA嵌入式开发工具,包括嵌入式硬件平台开发工具(Platform Studio)、嵌入式软件开发工具(Platform Studio SDK)、嵌入式IBM PowerPC硬件处理器核、Xilinx MicroBlaze软处理器核、开发所需的技术文档和IP,为设计嵌入式可编程系统提供了全面的解决方案。EDK10.1版还包括了最新的IP内核以优化系统设计。同时还包括了SPI、DDR2/DMA/PS2和支持SGMII的三模式以太网MAC等外设,FlexrayTM外设选项,以及用于DMA的PCI Express驱动支持。第3页/共185页Xilinx公司软件平台介绍公司软件平台介绍-DSP_Tools软件软件 Xilinx公司推出了简化FPGA数字处理系统的集成开发工具DSP Tools,快速、简易地将DSP系统的抽象算法转化成可综合的、可靠的硬件系统,为DSP设计者扫清了编程的障碍。DSP Tools主要包括System Genetator和AccelDSP两部分,前者和Mathworks公司的Simulink实现无缝链接,后者主要针对c/.m语言。第4页/共185页Xilinx公司软件平台介绍公司软件平台介绍-ChipScope Pro软件软件 Xilinx公司推出了在线逻辑分析仪,通过软件方式为用户提供稳定和方便的解决方案。该在线逻辑分析仪不仅具有逻辑分析仪的功能,而且成本低廉、操作简单,因此具有极高的实用价值。ChipScope Pro既可以独立使用,也可以在ISE集成环境中使用,非常灵活,为用户提供方便和稳定的逻辑分析解决方案,支持Spartan和Virtex全系列FPGA芯片。ChipScope Pro将逻辑分析器。总线分析器和虚拟I/O小型软件核直接插入到用户的设计当中,可以直接查看任何内部信号和节点,包括嵌入式硬或软处理器。第5页/共185页Xilinx公司软件平台介绍公司软件平台介绍-PlanAhead软件软件 PlanAhead工具简化了综合与布局布线之间的设计步骤,能够将大型设计划分成较小的、更易于管理的模块,并集中精力优化各个模块。此外,还提供了一个直观的环境,为用户设计提供原理图、平面布局规划或器件图,可快速确定和改进设计的层次,以便获得更好的结果和更有效地使用资源,从而获得最佳的性能和更高的利用率,极大地提升了整个设计的性能和质量。第6页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍-ISE设计流程设计流程翻译翻译映射映射布局和布线布局和布线规划规划 和预算和预算HDL RTL仿真仿真综合以创建网表综合以创建网表功能仿真功能仿真得到时序收敛得到时序收敛时序仿真时序仿真实现实现创建代码创建代码/原理图原理图配置配置FPGA产生比特流文件第7页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍-ISE主界面主界面第8页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍-主要功能主要功能 ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。下面简要说明各功能的作用:1、设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。第9页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍-主要功能主要功能 2、综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和Synplicity公司的Synplify,实现无缝链接。3、仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。第10页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍-主要功能主要功能 4、实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。5、下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了IMPACT,功能是进行芯片配置和通信,控制将程序烧写到FPGA芯片中去。第11页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍 -ISE主界面窗口功能概述主界面窗口功能概述 1)左上角的窗口是源文件窗口,设计工程所包括的文件以分层的形式列出。2)在该子窗口的下面是处理窗口,该窗口描述的是对于选定的设计文件可以使用的处理流程。3)在ISE主界面最下面是脚本窗口,在该窗口中显示了消息、错误和警告的状态。同时还有Tcl脚本的交互和文件中查找的功能。4)在ISE的右上角是多文档的窗口,在该窗口可以查看html的报告,ASCII码文件、原理图和仿真波形。通过选择View-Restore Default Layout可以恢复界面的原始设置。第12页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍 -源文件源文件(source)子窗口)子窗口 这个窗口有三个标签:源(Source)、Snapshots(快照)、Library(库)。源标签内显示工程名、指定的芯片和设计相关文档。在设计视图的每一个文件都有一个相关的图标,这个图标显示的是文件的类型(HDL文件、原理图、IP核和文本文件)。+表示该设计文件包含了更低层次的设计模块。标签内显示的是目前所打开文件快照。一个快照是在该工程里所有文件的一个拷贝。通过该标签可以察看报告、用户文档和源文件。该标签下所有的信息只读。库标签内显示与当前工程相关的库。第13页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍 -处理处理(process)子窗口)子窗口 在该窗口只有一个处理标签。该标签有下列功能:添加已有文件;创建新文件;察看设计总结(访问符号产生工具,例化模板,察看命令行历史和仿真库编辑);用户约束文件(访问和编辑位置和时序约束);综合(检查语法、综合、察看RTL和综合报告);设计实现(访问实现工具,设计流程报告和其它一些工具);产生可编程文件(访问配置工具和产生比特流文件)。第14页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍 -脚本(脚本(transcript)子窗口)子窗口 脚本子窗口有5个默认标签:Console,error,warnings,Tcl shell,find in file。Console标签显示错误、警告和信息。X表示错误,!表示警告。Warning标签只显示警告消息。Error标签只显示错误消息。Tcl shell标签是与设计人员的交互控制台。除了显示错误、警告和信息外,还允许输入ISE特定命令。Find in file标签显示的是选择EditFind in File操作后的查询结果。第15页/共185页Xilinx公司公司ISE10.1软件介绍软件介绍 -工作区(工作区(Workspace)子窗口)子窗口 工作区子窗口提供了设计总结、文本编辑器、ISE仿真器/波形编辑器、原理图编辑器功能。设计总结提供了关于该设计工程的更高级信息,包括信息概况、芯片资源利用报告、与布局布线相关性能数据、约束信息和总结信息等。源文件和其它文本文件可以通过设计人员指定的编辑工具打开。编辑工具的选择由Edit-Preference属性决定,默认ISE的文本编辑器,通过该编辑器可以编辑源文件和用户文档,也可以访问语言模板。第16页/共185页Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-打开ISE软件时的面板 当以前使用过该软件时会默认打开上一个工程。第17页/共185页Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程第18页/共185页选择芯片选择综合工具选择仿真工具选择代码语言NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程第19页/共185页这里可以新建一个文件,也可以在工程属性建立完成后在工程内新建,我们选择 NextXilinx公司ISE10.1软件设计流程介绍-创建一个新工程第20页/共185页这里可以添加工程文件,也可以在工程建立后添加,我们选择NextXilinx公司ISE10.1软件设计流程介绍-创建一个新工程第21页/共185页给出了整个工程大致属性FinishXilinx公司ISE10.1软件设计流程介绍-创建一个新工程第22页/共185页完成后在Sources窗口中显示工程文件夹以及工程所用芯片。在该窗口中右键可以新建文件,添加已经写好的文件,添加文件并复制该文件到工程文件夹中。Xilinx公司ISE10.1软件设计流程介绍-创建一个新工程第23页/共185页该文件的实体名新建文件的类型,不同的类型有着不同的功能和意义。Xilinx公司ISE10.1软件设计流程介绍-创建一个新工程第24页/共185页端口名端口的类型及位数NextXilinx公司ISE10.1软件设计流程介绍-添加实体端口第25页/共185页给出了该文件的概要FinishXilinx公司ISE10.1软件设计流程介绍-添加实体端口第26页/共185页Xilinx公司ISE10.1软件设计流程介绍-添加实体端口第27页/共185页双击gate文件自动生成实体结构生成了结构体框架只需加入逻辑语句即可Xilinx公司ISE10.1软件设计流程介绍-自动生成文件结构框架第28页/共185页添加的逻辑代码-之后为注释语句Xilinx公司ISE10.1软件设计流程介绍-添加代码及注释第29页/共185页设计中常用的四个操作:综合、实现、生成bit文件、下载这个图标指示顶层文件选中顶层文件,Processes窗口中给出能操作的项目双击XST进行综合操作Xilinx公司ISE10.1软件设计流程介绍第30页/共185页NextXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第31页/共185页选择所要仿真的VHDL文件NextXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第32页/共185页给出该波形文件的相关属性FinishXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第33页/共185页仿真波形的设置界面:这里显示的主要是时钟方面的设置。Xilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第34页/共185页增对该工程设置方式如图波形文件长度的设置FinishXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第35页/共185页在这里设置输入波形可以进行窗口的切换Xilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第36页/共185页切换到行为仿真如图设置输入波形并保存选中刚设计波形文件Processes窗口右键选择属性设置Xilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第37页/共185页设置仿真时间与建立波形文件的时间相同点击OKXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第38页/共185页双击进行行为仿真仿真波形验证设计逻辑的正确性Xilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第39页/共185页NextXilinx公司ISE10.1软件设计流程介绍-添加仿真文件第40页/共185页选择所要仿真的VHDL文件NextXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第41页/共185页给出该仿真文件的相关属性FinishXilinx公司ISE10.1软件设计流程介绍-添加波形仿真文件第42页/共185页Xilinx公司ISE10.1软件设计流程介绍-仿真文件初始化信息第43页/共185页添加的仿真代码Xilinx公司ISE10.1软件设计流程介绍-添加仿真代码第44页/共185页Xilinx公司ISE10.1软件设计流程介绍-进行仿真选择“Behavioral simulation”,即行为仿真双击modelsim图标进行行为仿真仿真波形验证设计逻辑的正确性第45页/共185页通过通过Sources窗口切换到窗口切换到ImplementationNextUCF文件的属文件的属性概要性概要FinishXilinx公司ISE10.1软件设计流程介绍-添加管脚约束文件(.UCF文件)第46页/共185页Xilinx公司ISE10.1软件设计流程介绍-对管脚进行约束选中顶层文件在Processes窗口中双双击击进行对应管脚的约束进行对应管脚的约束保存关闭 两种方法第47页/共185页Xilinx公司ISE10.1软件设计流程介绍-对管脚进行约束第48页/共185页单击选中双击查看Xilinx公司ISE10.1软件设计流程介绍-查看或修改管脚约束文件第49页/共185页选中顶层文件双击进行实现操作双击产生.bit文件Xilinx公司ISE10.1软件设计流程介绍-工程实现及产生位流文件第50页/共185页默认选择边界扫描方式Xilinx公司ISE10.1软件设计流程介绍-下载bit文件第51页/共185页点击Finish出现以下窗口弹出的窗口是为Prom配置文件,这里不配置选择CancelXilinx公司ISE10.1软件设计流程介绍-下载bit文件第52页/共185页 弹出的窗口是为芯片配置bit文件,选择gate.bit,点击OpenXilinx公司ISE10.1软件设计流程介绍-下载bit文件第53页/共185页采用默认设置,点击okXilinx公司ISE10.1软件设计流程介绍-下载bit文件第54页/共185页右键 点击ok出现下载进度条,下载成功后弹出:然后进行验证调试。Xilinx公司ISE10.1软件设计流程介绍-下载bit文件第55页/共185页 EXCD-1开发板主要基于Xilinx Spartan 3E FPGA器件XC3S500E-PQ208,板上含有2Mbytes的Flash和1024K bytes的SRAM,以及各种输入输出设备。基于该板可以设计具有各种功能的数字系统,并可以完成含有8位PicoBlaze 微控制器和MicroBlaze7.0软核的嵌入式处理器系统。SOC实验室解决方案EXCD-1硬件开发平台第56页/共185页EXCD-1硬件开发平台介绍硬件开发平台介绍-硬件平台外观硬件平台外观SPARTAN-3FPGA芯片芯片FPGA专用专用PROM芯片芯片VGA接口接口RS232接口接口Flash扩展扩展IO口口扩展扩展IO口口50MHz晶振晶振高速扩展高速扩展IO口口JTAG下载电缆接口下载电缆接口电源插座电源插座第57页/共185页EXCD-1硬件开发平台介绍硬件开发平台介绍-硬件平台资源硬件平台资源 1)SRAM:1024Bytes静态RAM存储器(512k x 16)2)Flash:2Mbytes Flash存储器(1M x 16)3)按键开关:4个按键开关 4)拨码开关:8个拨码开关 5)时钟资源:50MHZ晶振 6)VGA接口:受JP2控制,JP2拨到上面为VGA模式 7)串行接口:采用DB9连接器 8)PS/2接口:采用PS/2连接器,进行鼠标/键盘连接 9)IO扩展接口:4个12脚I/O扩展接口 10)68脚SCSI接口:外部I/O扩展接口第58页/共185页EXCD-1硬件开发平台介绍硬件开发平台介绍-SPARTAN-3E芯片特点及功能芯片特点及功能 Spartan-3E是目前Spartan系列最新的产品,具有系统门数从10万到160万的多款芯片,是在Spartan-3成功的基础上进一步改进的产品,提供了比Spartan-3更多的I/O端口和更低的单位成本,是Xilinx公司性价比最高的FPGA芯片。由于更好地利用了90nm技术,在单位成本上实现了更多的功能和处理带宽,是Xilinx公司新的低成本产品代表,是ASIC的有效替代品,主要面向消费电子应用,如宽带无线接入、家庭网络接入以及数字电视设备等。第59页/共185页EXCD-1硬件开发平台介绍硬件开发平台介绍-SPARTAN-3E芯片特点及功能芯片特点及功能第60页/共185页EXCD-1硬件开发平台介绍硬件开发平台介绍-SPARTAN-3E芯片特点及功能芯片特点及功能其主要特点如下:采用90nm 工艺;大量用户I/O端口,最多可支持376个I/O端口或者156对差分端口;端口电压为3.3V、2.5、1.8V、1.5V、1.2V;单端口传输速率可以达到622Mbps,支持DDR接口;最多可达36个专用乘法器、648 BRAM、231k 分布式RAM;宽时钟频率以及多个专用数字时钟管理模块(DCM)。第61页/共185页PicoBlaze8位微控制器的设计实现位微控制器的设计实现-设计内容设计内容 PicoBlaze 8位微控制器设计由六个实验构成:1)实验一:Xilinx工具流程 2)实验二:Architecture Wizard和PACE 3)实验三:全局时钟约束 4)实验四:综合技术 5)实验五:核生成器(IP核生成器)6)实验六:ChipScope Pro调试第62页/共185页实验一:实验一:Xilinx工具流程工具流程-设计结构原理设计结构原理PicoBlazeD Q enInstructionROM AddressInstructionsIn_portout_port7:0port_id7:0write_strobeD Q enport_id1port_id2Interrupt_ackcontrol Interrupt_eventcounterwaveformsinterrupt用户产生外部中断用户产生外部中断显示显示SW中断计数器的值中断计数器的值第63页/共185页实验一:实验一:Xilinx工具流程工具流程-实验任务实验任务 了解ISE软件工具的使用,将完成和实现一个已经存在的PicoBlaze设计。该实验由下面步骤实现:步骤1:创建一个新的工程 步骤2:添加设计文件到工程 步骤3:汇编程序 步骤4:完成设计 步骤5:实现HDL行为仿真 步骤6:实现(Implement)设计第64页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 打开ISE:点击桌面图标 ,或选择 开始-所有程序-Xilinx ISE Design Suite10.1-ISE-Project Nevigator 在ISE主界面下,在主菜单下选择File-New Project出现下面的界面12第65页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程1)HDL:顶层设计使顶层设计使用用HDL语言输入实现语言输入实现2)Schematic:顶层设顶层设计使用原理图输入实计使用原理图输入实现现3)EDIF:顶层设计使顶层设计使用电子设计交换格式用电子设计交换格式(网表)实现。(网表)实现。4)NGC/NGD:顶层设顶层设计使用计使用NGC/NGD网表网表实现。实现。鼠标点击3第66页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 在在Device Properties界界面面中,选择合适的:中,选择合适的:1)产品范围产品范围(product category)2)芯片的系列芯片的系列(Family)3)具体的芯片型号具体的芯片型号(Device)4)封装类型(封装类型(Package)5)速度信息(速度信息(speed)6)综合工具(综合工具(Synthesis Tool)7)仿真工具(仿真工具(Simulator)8)设计语言(设计语言(Preferred Language)。)。左图是参数的具体设置左图是参数的具体设置 鼠标点击4第67页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 创建新源文件窗口,由于这些设计文件已经存在,在此不需要建立新的文件。鼠标点击5第68页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 左图显示添加已经存在的文件对话框界面。6鼠标点击鼠标点击第69页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 定位所要添加文件的目录,然后点击打开按钮。7第70页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 文件被添加进来,然后点击“Next”按钮。8第71页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 工程总结界面,点击“Finish”按钮。9第72页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 至此,工程的框架就这样完成了。10第73页/共185页实验一:实验一:Xilinx工具流程工具流程-创建工程创建工程 主界面又一次出现了。思考:发生了什么变化?11第74页/共185页实验一:实验一:Xilinx工具流程工具流程-完成设计完成设计 将生成的int_test.vhd文件添加到工程中,注意这里有很多方法:方法1:ISE主界面下主菜单选择Project-New Source,定位到生成的文件,然后打开该文件。方法2:ISE主界面下的处理子窗口下,鼠标点击Add Existing Source,然后打开该文件。然后在主窗口中看到该文件已经被添加到工程中。6第75页/共185页实验一:实验一:Xilinx工具流程工具流程-完成设计完成设计 思考:深入掌握VHDL元件声明和元件例化的方法。并打开顶层设计文件进行分析,分析文件的结构。第76页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 测试平台以行为级描述为主,不使用寄存器传输级的描述形式。测试向量的生成可以使用两种方法:1)波形文件 2)HDL语言描述思考:到底那个方法好?为什么?思考:到底那个方法好?为什么?波形直观,适合小规模设计的测试向量的生成波形直观,适合小规模设计的测试向量的生成HDL语言描述,不直观,但灵活性非常好,设计越语言描述,不直观,但灵活性非常好,设计越复杂,其优越性就越明显。复杂,其优越性就越明显。第77页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 下面先添加测试向量文件,然后再分析,这样就能掌握和适应HDL语言描述测试平台的方法。在主菜单下,选择Project-Add Copy of Source 并打开测试向量文件test_bench.vhd,该文件就被添加到工程中。思考:分析工程文件结构?1第78页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真测试文件仿真测试文件 顶层设计文顶层设计文件件在测试平台文件在测试平台文件中被声明和例中被声明和例化,表明测试是化,表明测试是对顶层设计文件对顶层设计文件进行的。进行的。声明部分声明部分第79页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真测试文件(难点)仿真测试文件(难点)例化部分例化部分软件仿真中,时钟信号的激软件仿真中,时钟信号的激励,产生周期时钟信号励,产生周期时钟信号 使用使用VHDL语言中的行为语言中的行为描述语句描述语句第80页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真测试文件仿真测试文件软件仿真中,中断信号的激软件仿真中,中断信号的激励,产生中断脉冲信号励,产生中断脉冲信号 使用使用VHDL语言中的行为语言中的行为描述语句来描述。描述语句来描述。第81页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 仿真参数及环境的设置。在处理子窗口,选择Xilinx ISE Simulator,并展开选择Simulate Behavioral Model,点击鼠标右键,选择Properties,点击鼠标右键,出现后面的界面2第82页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 修改仿真的时间长度25000ns,点击OK,接受修改的参数。2第83页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 在处理子窗口,选择Xilinx ISE Simulator,并展开选择Simulate Behavioral Model,并用鼠标双击。小圆圈开始转动,仿真过程开始,不要着急,此时,ISE要完成一项重要的工作就是要生成行为级仿真的模型,稍微等一下,下面的窗口就出现了。3第84页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 看到仿真的结果,思考:如何分析仿真的结果?如果你想看到更多内部的信号,下面将告诉你,如何做。4第85页/共185页实验一:实验一:Xilinx工具流程工具流程-仿真设计仿真设计 这张图说明了这个过程:1)在Source窗口展开kcpsm3_int_test 2)在下面的窗口选中address9:0,并点击鼠标右键 3)选择Add To Waveform,想要观察的信号终于出现了。第86页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合 行为级综合可以自动将系统直接从行为级描述综合为寄存器传输级描述。行为级综合的输入为系统的行为级描述,输出为寄存器传输级描述的数据通路。行为级综合工具可以让设计者从更加接近系统概念模型的角度来设计系统。同时,行为级综合工具能让设计者对于最终设计电路的面积、性能、功耗以及可测性进行很方便地优化。行为级综合所需要完成的任务从广义上来说可以分为分配、调度以及绑定。第87页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合 Xilinx综合工具在对设计的综合过程中,主要执行以下三个步骤:1)语法检查过程,检查设计文件语法是否有错误;2)编译过程,翻译和优化HDL代码,将其转换为综合工具可以识别的元件序列;3)映射过程,将这些可识别的元件序列转换为可识别的目标技术的基本元件;第88页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合 在ISE的主界面的处理子窗口的synthesis的工具可以完成下面的任务:1)查看综合报告(view Synthesis Report)2)查看RTL原理图(View RTL schematic)3)查看技术原理图(View Technology Schematic)4)检查语法(Check Syntax)5)产生综合后仿真模型(Generate Post-Synthesis Simulation Model)。第89页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合属性设置设计综合属性设置 在处理子窗口下,选择Synthesis-XST,单击鼠标右键,选择Properities 出现下面的窗口 注意:看起来好像很复杂,但是掌握方法,就知道其中的奥妙了,第90页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合属性设置设计综合属性设置 如果你想彻底如果你想彻底的弄懂,参考文的弄懂,参考文献献会告诉你全部的会告诉你全部的答答案。案。其实,对于竞其实,对于竞赛和教学没必要赛和教学没必要都都弄清楚,这点要弄清楚,这点要切切记。记。第91页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合 实现综合很简单,只需在处理子窗口中,用鼠标双击Synthesize-XST,小圆圈出现,并且在控制台窗口,显示综合过程中的信息。当出现绿色小圆圈的时候,综合就完成了。下面将揭开综合过程的一些迷,目的深入了解XST的综合过程。1第92页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合 查看RTL符号2双击,展开,内部结构一目了然第93页/共185页实验一:实验一:Xilinx工具流程工具流程-设计综合设计综合第94页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现 在ISE中的实现(Implement)过程,是将综合输出的逻辑网表翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。第95页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现 实现过程主要分为3个步骤:翻译(Translate)逻辑网表,映射(Map)到器件单元与布局布线(Place&Route)。翻译的主要作用是将综合输出的逻辑网表翻译为Xilinx特定器件的底层结构和硬件原语。映射的主要作用是将设计映射到具体型号的器件上。布局布线的主要作用是调用Xilinx布局布线器,根据用户约束和物理约束,对设计模块进行实际的布局,并根据设计连接,对布局后的模块进行布线,产生PLD配置文件。第96页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现第97页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现参数设置设计实现参数设置 选择Implement Design,点击鼠标左键,选择Properties,出现下面的属性设置界面。第98页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现参数设置设计实现参数设置 如果你想彻底的弄懂,参考文献会告诉你全部的答案。其实,对于竞赛和教学没必要都弄清楚,这点要切记。第99页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现 实现很简单,只需在处理子窗口中,用鼠标双击Implement Design,小圆圈出现,并且在控制台窗口,显示综合过程中的信息。当出现绿色小圆圈的时候,综合就完成了。下面将揭开实现过程的一些迷,目的深入了解XST的实现过程。1第100页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现 实现结果的查看。2第101页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现 布局布线的查看,芯片内部结构一目了然3放大放大第102页/共185页实验一:实验一:Xilinx工具流程工具流程-设计实现设计实现放大放大第103页/共185页实验二:实验二:Architecture Wizard和和PACE-设计目标设计目标 Architecture Wizard使设计人员配置和添加FPGA资源到设计。PACE使设计人员添加位置约束到设计。实验二的设计目标:1)使用Architecture Wizard来配置和初始化DCM(Digital Controller Management)2)使用PACE来实现位置约束 3)实现设计,并确保使用了位置约束 4)使用硬件下载和测试设计。第104页/共185页实验二:实验二:Architecture Wizard和和PACE-设计步骤设计步骤 该实验包含下面几个步骤:1)配置DCM 2)初始化DCM 3)分配引脚位置 4)用硬件测试设计 第105页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理 实验工程VHDL设计结构。1)连接KCPSM3和程序ROM;2)将UART宏和KCPSM3连接-输入/输出端口和波特率时钟;3)使用固定间隔的定时器产生中断,使用中断响应信号。思考:打开工程分析顶层文件,了解上面功能实现的方法第106页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理PicoBlazeuart_txInstructions AddressInstructionsrx_dataout_port7:0port_id7:0write_strobeD Qenport_id0port_id0Interrupt_ackalarmtxinterruptcontrol Interrupt_eventDCM clkSystem clockDesign clockD Qenuart_rxrxrx_datatx_full,tx_half_fullrx_half_fullrx_full000BaudCounten_16_x_baud添加DCM到设计第107页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理第108页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理第109页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理(输入端口)输入端口)第110页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理(输出端口)设计原理(输出端口)第111页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理(输入端口)输入端口)Rx宏及操作时序第112页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理(输出端口)设计原理(输出端口)UART_Tx宏及操作时序第113页/共185页实验二:实验二:Architecture Wizard和和PACE-UART波特率生成波特率生成第114页/共185页实验二:实验二:Architecture Wizard和和PACE-PicoBlaze内的内的RAM空间的分配空间的分配第115页/共185页实验二:实验二:Architecture Wizard和和PACE-软件发送策略软件发送策略第116页/共185页实验二:实验二:Architecture Wizard和和PACE-软件接收策略软件接收策略第117页/共185页实验二:实验二:Architecture Wizard和和PACE-设计原理设计原理 该设计要求一个55MHz时钟。硬件开发平台上包含有50MHz时钟,使用Architecture Wizard来产生DCM,该DCM输出55MHz时钟,并例化该模块到设计中。第118页/共185页实验二:实验二:Architecture Wizard和和PACE-DCM原理原理 数字时钟管理模块(Digital Clock Manager,DCM)是基于Xilinx的高端FPGA产品中内嵌的IP模块。在时钟的管理与控制方面,DCM与其它时钟管理模块(比如DLL),功能更强大,使用更灵活。DCM的功能包括消除时钟的延时、频率的合成、时钟相位的调整等系统方面的需求。DCM的主要优点在于:1、实现零时钟偏移(Skew),消除时钟分配延迟,并实现时钟闭环控制;2、时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求,将芯片内外的时钟控制一体化,以利于系统设计。第119页/共185页实验二:实验二:Architecture Wizard和和PACE-DCM原理原理 DCM共由四部分组成,其中包括DLL模块、数字频率合成器DFS(Digital Frequency Synthesizer)、数字移相器DPS