版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Xilinx公司软件平台介绍公司软件平台介绍-开发工具 ISE Design Suite涉及了FPGA设计的各个应用方面,包括逻辑开发、数字信号处理系统以及嵌入式系统开发等FPGA开发的主要应用领域,主要包括 1)ISE Foundation:集成开发工具 2) EDK:嵌入式开发套件 3)DSP_TOOLs:数字信号处理开发工具 4)ChipScope Pro:在线逻辑分析仪工具 5)PlanAhead:用于布局和布线等设计分析工具Xilinx公司软件平台介绍公司软件平台介绍-软件组成集成开发环集成开发环境境数字信号处数字信号处理开发工具理开发工具在线逻辑分析在线逻辑分析仪工具仪工具片上系统
2、开发片上系统开发 布局布线布局布线工具工具Xilinx公司软件平台介绍公司软件平台介绍-ISE Foundation软件 ISE Foundation软件是Xilinx公司推出的FPGA/CPLD集成开发环境,不仅包括逻辑设计所需的一切,还具有简便易用的内置式工具和向导,使得I/O分配、功耗分析、时序驱动设计收敛、HDL仿真等关键步骤变得容易而直观。Xilinx公司软件平台介绍公司软件平台介绍-EDK软件 EDK是Xilinx公司推出的FPGA嵌入式开发工具,包括嵌入式硬件平台开发工具(Platform Studio)、嵌入式软件开发工具( Platform Studio SDK)、嵌入式IB
3、M PowerPC硬件处理器核、Xilinx MicroBlaze软处理器核、开发所需的技术文档和IP,为设计嵌入式可编程系统提供了全面的解决方案。 EDK10.1版还包括了最新的IP内核以优化系统设计。同时还包括了SPI、DDR2/DMA/PS2和支持SGMII的三模式以太网MAC等外设,FlexrayTM外设选项,以及用于DMA的PCI Express驱动支持。Xilinx公司软件平台介绍公司软件平台介绍-DSP_Tools软件 Xilinx公司推出了简化FPGA数字处理系统的集成开发工具DSP Tools,快速、简易地将DSP系统的抽象算法转化成可综合的、可靠的硬件系统,为DSP设计者扫
4、清了编程的障碍。DSP Tools主要包括System Genetator和AccelDSP两部分,前者和Mathworks公司的Simulink实现无缝链接,后者主要针对c/.m语言。Xilinx公司软件平台介绍公司软件平台介绍-ChipScope Pro软件 Xilinx公司推出了在线逻辑分析仪,通过软件方式为用户提供稳定和方便的解决方案。该在线逻辑分析仪不仅具有逻辑分析仪的功能,而且成本低廉、操作简单,因此具有极高的实用价值。 ChipScope Pro既可以独立使用,也可以在ISE集成环境中使用,非常灵活,为用户提供方便和稳定的逻辑分析解决方案,支持Spartan和Virtex全系列F
5、PGA芯片。 ChipScope Pro将逻辑分析器。总线分析器和虚拟I/O小型软件核直接插入到用户的设计当中,可以直接查看任何内部信号和节点,包括嵌入式硬或软处理器。Xilinx公司软件平台介绍公司软件平台介绍-PlanAhead软件 PlanAhead工具简化了综合与布局布线之间的设计步骤,能够将大型设计划分成较小的、更易于管理的模块,并集中精力优化各个模块。 此外,还提供了一个直观的环境,为用户设计提供原理图、平面布局规划或器件图,可快速确定和改进设计的层次,以便获得更好的结果和更有效地使用资源,从而获得最佳的性能和更高的利用率,极大地提升了整个设计的性能和质量。Xilinx公司公司IS
6、E10.1软件介绍软件介绍-ISE设计流程翻译翻译映射映射布局和布线布局和布线规划规划 和预算和预算HDL RTL仿真仿真综合以创建网表综合以创建网表功能仿真功能仿真得到时序收敛得到时序收敛时序仿真时序仿真实现实现创建代码创建代码/原理图原理图配置配置FPGA产生比特流文件产生比特流文件Xilinx公司公司ISE10.1软件介绍软件介绍-ISE主界面Xilinx公司公司ISE10.1软件介绍软件介绍-主要功能 ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了可编程逻辑器件开发的全过程,从功能上讲,完成CPLD/FPGA的设计流程无需借助任何第三方EDA软件。下面简要说明各功能的作用
7、: 1、设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。 Xilinx公司公司ISE10.1软件介绍软件介绍 -主要功能 2、综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和
8、Synplicity公司的Synplify,实现无缝链接。 3、仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。 Xilinx公司公司ISE10.1软件介绍软件介绍 -主要功能 4、实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。 5、下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了IMPACT,功能是进行芯片配置和通信,控制将程序烧写到FPGA芯片中去。Xilinx公司公司ISE10.1软件介绍软件介绍 -I
9、SE主界面窗口功能概述 1)左上角的窗口是源文件窗口,设计工程所包括的文件以分层的形式列出。 2)在该子窗口的下面是处理窗口,该窗口描述的是对于选定的设计文件可以使用的处理流程。 3)在ISE主界面最下面是脚本窗口,在该窗口中显示了消息、错误和警告的状态。同时还有Tcl脚本的交互和文件中查找的功能。 4)在ISE的右上角是多文档的窗口,在该窗口可以查看html的报告,ASCII码文件、原理图和仿真波形。通过选择View-Restore Default Layout可以恢复界面的原始设置。Xilinx公司公司ISE10.1软件介绍软件介绍 -源文件(source)子窗口 这个窗口有三个标签:源(
10、Source)、Snapshots(快照)、Library(库)。 源标签内显示工程名、指定的芯片和设计相关文档。 在设计视图的每一个文件都有一个相关的图标,这个图标显示的是文件的类型(HDL文件、原理图、IP核和文本文件)。+表示该设计文件包含了更低层次的设计模块。 标签内显示的是目前所打开文件快照。一个快照是在该工程里所有文件的一个拷贝。通过该标签可以察看报告、用户文档和源文件。该标签下所有的信息只读。 库标签内显示与当前工程相关的库。Xilinx公司公司ISE10.1软件介绍软件介绍 -处理(process)子窗口 在该窗口只有一个处理标签。该标签有下列功能: 添加已有文件;创建新文件;
11、察看设计总结(访问符号产生工具,例化模板,察看命令行历史和仿真库编辑);用户约束文件(访问和编辑位置和时序约束);综合(检查语法、综合、察看RTL和综合报告);设计实现(访问实现工具,设计流程报告和其它一些工具);产生可编程文件(访问配置工具和产生比特流文件)。Xilinx公司公司ISE10.1软件介绍软件介绍 -脚本(transcript)子窗口 脚本子窗口有5个默认标签:Console,error,warnings , Tcl shell,find in file。 Console标签显示错误、警告和信息。X表示错误,!表示警告。 Warning标签只显示警告消息。 Error标签只显示错
12、误消息。 Tcl shell标签是与设计人员的交互控制台。除了显示错误、警告和信息外,还允许输入ISE特定命令。 Find in file标签显示的是选择EditFind in File操作后的查询结果。Xilinx公司公司ISE10.1软件介绍软件介绍 -工作区(Workspace)子窗口 工作区子窗口提供了设计总结、文本编辑器、ISE仿真器/波形编辑器、原理图编辑器功能。 设计总结提供了关于该设计工程的更高级信息,包括信息概况、芯片资源利用报告、与布局布线相关性能数据、约束信息和总结信息等。 源文件和其它文本文件可以通过设计人员指定的编辑工具打开。编辑工具的选择由Edit-Preferen
13、ce属性决定,默认ISE的文本编辑器,通过该编辑器可以编辑源文件和用户文档,也可以访问语言模板。Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-打开ISE软件时的面板 当以前使用过该软件时会默认打开上一个工程。Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程选择芯片选择综合工具选择仿真工具选择代码语言NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程这里可以新建一个文件,也可以在工程属性建立完成后在工程内新建,我们选择 NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一
14、个新工程这里可以添加工程文件,也可以在工程建立后添加,我们选择NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程给出了整个工程大致属性FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-创建一个新工程完成后在Sources窗口中显示工程文件夹以及工程所用芯片。在该窗口中右键可以新建文件,添加已经写好的文件,添加文件并复制该文件到工程文件夹中。Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍 -创建一个新工程该文件的实体名新建文件的类型,不同的类型有着不同的功能和意义。Xilinx公司公司ISE10.1软件设计
15、流程介绍软件设计流程介绍 -创建一个新工程端口名端口的类型及位数NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加实体端口给出了该文件的概要FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加实体端口Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加实体端口双击gate文件自动生成实体结构生成了结构体框架只需加入逻辑语句即可Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-自动生成文件结构框架添加的逻辑代码-之后为注释语句Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加
16、代码及注释设计中常用的四个操作:综合、实现、生成bit文件、下载这个图标指示顶层文件选中顶层文件,Processes窗口中给出能操作的项目双击XST进行综合操作Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件选择所要仿真的VHDL文件NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件给出该波形文件的相关属性FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件仿真波形的设置界面:这里显示的主要是时钟方面
17、的设置。Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件增对该工程设置方式如图波形文件长度的设置FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件在这里设置输入波形可以进行窗口的切换Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件切换到行为仿真如图设置输入波形并保存选中刚设计波形文件Processes窗口右键选择属性设置Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件设置仿真时间与建立波形文件的时间相同点击OKXilinx公司公司ISE10.
18、1软件设计流程介绍软件设计流程介绍-添加波形仿真文件双击进行行为仿真仿真波形验证设计逻辑的正确性Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加仿真文件选择所要仿真的VHDL文件NextXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件给出该仿真文件的相关属性FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加波形仿真文件Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-仿真文件初始化信息添加的仿
19、真代码Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加仿真代码Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-进行仿真选择“Behavioral simulation”,即行为仿真双击modelsim图标进行行为仿真仿真波形验证设计逻辑的正确性通过通过Sources窗口切换到窗口切换到ImplementationNextUCF文件的属文件的属性概要性概要FinishXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-添加管脚约束文件(.UCF文件)Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-对管脚进行约束选中顶
20、层文件在Processes窗口中双双击击进行对应管脚的约束进行对应管脚的约束保存关闭保存关闭 两种方法Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-对管脚进行约束单击选中双击查看Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-查看或修改管脚约束文件选中顶层文件双击进行实现操作双击产生.bit文件Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-工程实现及产生位流文件默认选择边界扫描方式默认选择边界扫描方式Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-下载bit文件点击Finish出现以下窗口弹出的窗口是为Prom
21、配置文件,这里不配置选择CancelXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-下载bit文件 弹出的窗口是为芯片配置bit文件,选择gate.bit,点击OpenXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-下载bit文件采用默认设置,点击okXilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-下载bit文件右键 点击ok出现下载进度条,下载成功后弹出: 然后进行验证调试。Xilinx公司公司ISE10.1软件设计流程介绍软件设计流程介绍-下载bit文件 EXCD-1开发板主要基于Xilinx Spartan 3E FPGA器件X
22、C3S500E-PQ208 ,板上含有2Mbytes的Flash和1024K bytes的SRAM,以及各种输入输出设备。 基于该板可以设计具有各种功能的数字系统,并可以完成含有8位PicoBlaze 微控制器和MicroBlaze7.0软核的嵌入式处理器系统。SOC实验室解决方案实验室解决方案EXCD-1硬件开发平台硬件开发平台EXCD-1硬件开发平台介绍硬件开发平台介绍-硬件平台外观SPARTAN-3FPGA芯片芯片FPGA专用专用PROM芯片芯片VGA接口接口RS232接口接口Flash扩展扩展IO口口扩展扩展IO口口50MHz晶振晶振高速扩展高速扩展IO口口JTAG下载电缆接口下载电缆
23、接口电源插座电源插座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扩展接口EXCD-1硬件开发平台介绍硬件开发平台介绍-SPAR
24、TAN-3E芯片特点及功能 Spartan-3E是目前Spartan系列最新的产品,具有系统门数从10万到160万的多款芯片,是在Spartan-3成功的基础上进一步改进的产品,提供了比Spartan-3更多的I/O端口和更低的单位成本,是Xilinx公司性价比最高的FPGA芯片。 由于更好地利用了90nm技术,在单位成本上实现了更多的功能和处理带宽,是Xilinx公司新的低成本产品代表,是ASIC的有效替代品,主要面向消费电子应用,如宽带无线接入、家庭网络接入以及数字电视设备等。EXCD-1硬件开发平台介绍硬件开发平台介绍-SPARTAN-3E芯片特点及功能EXCD-1硬件开发平台介绍硬件开
25、发平台介绍-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)。 PicoBlaze8位微控制器的设计实现-设计内容 PicoBlaze 8位微控制器设计由六个实验构成: 1)实验一:Xilinx工具流程 2)实验二:Architecture Wizard和PACE
26、 3)实验三:全局时钟约束 4)实验四:综合技术 5)实验五:核生成器(IP核生成器) 6)实验六:ChipScope Pro调试实验一:Xilinx工具流程-设计结构原理PicoBlazeD Q enInstructionROM AddressInstructionsIn_portout_port7:0port_id7:0write_strobeD Q enport_id1port_id2Interrupt_ackcontrol Interrupt_eventcounterwaveformsinterrupt用户产生外部中断用户产生外部中断显示显示SW中断计数器的值中断计数器的值实验一:Xi
27、linx工具流程-实验任务 了解ISE软件工具的使用,将完成和实现一个已经存在的PicoBlaze设计。该实验由下面步骤实现: 步骤1:创建一个新的工程 步骤2: 添加设计文件到工程 步骤3: 汇编程序 步骤4: 完成设计 步骤5: 实现HDL行为仿真 步骤6: 实现(Implement)设计实验一:Xilinx工具流程-创建工程 打开ISE: 点击桌面图标 ,或选择 开始-所有程序-Xilinx ISE Design Suite10.1-ISE-Project Nevigator 在ISE主界面下,在主菜单下选择File-New Project出现下面的界面12实验一:Xilinx工具流程-
28、创建工程1)HDL: 顶层设计使顶层设计使用用HDL语言输入实现语言输入实现2)Schematic:顶层设顶层设计使用原理图输入实计使用原理图输入实现现3)EDIF:顶层设计使顶层设计使用电子设计交换格式用电子设计交换格式(网表)实现。(网表)实现。4)NGC/NGD:顶层设顶层设计使用计使用NGC/NGD网表网表实现。实现。 鼠标点击鼠标点击3实验一:Xilinx工具流程-创建工程 在在Device Properties界面界面中,选择合适的:中,选择合适的: 1)产品范围产品范围(product category) 2)芯片的系列芯片的系列(Family) 3)具体的芯片型号具体的芯片型号
29、(Device) 4)封装类型(封装类型(Package) 5)速度信息(速度信息(speed) 6)综合工具(综合工具(Synthesis Tool) 7)仿真工具(仿真工具(Simulator) 8)设计语言(设计语言(Preferred Language)。)。 左图是参数的具体设置左图是参数的具体设置 鼠标点击鼠标点击4实验一:Xilinx工具流程-创建工程 创建新源文件窗口,由于这些设计文件已经存在,在此不需要建立新的文件。 鼠标点击鼠标点击5实验一:Xilinx工具流程-创建工程 左图显示添加已经存在的文件对话框界面。6鼠标点击鼠标点击实验一:Xilinx工具流程-创建工程 定位所
30、要添加文件的目录,然后点击打开按钮。7实验一:Xilinx工具流程-创建工程 文件被添加进来,然后点击“Next”按钮。8实验一:Xilinx工具流程-创建工程 工程总结界面,点击“Finish”按钮。9实验一:Xilinx工具流程-创建工程 至此,工程的框架就这样完成了。10实验一:Xilinx工具流程-创建工程 主界面又一次出现了。 思考: 发生了什么变化?11实验一:Xilinx工具流程-完成设计 将生成的int_test.vhd文件添加到工程中,注意这里有很多方法: 方法1:ISE主界面下主菜单选择Project-New Source,定位到生成的文件,然后打开该文件。 方法2:ISE
31、主界面下的处理子窗口下,鼠标点击Add Existing Source,然后打开该文件。 然后在主窗口中看到该文件已经被添加到工程中。 6实验一:Xilinx工具流程-完成设计 思考:深入掌握VHDL元件声明和元件例化的方法。并打开顶层设计文件进行分析,分析文件的结构。实验一:Xilinx工具流程-仿真设计 测试平台以行为级描述为主,不使用寄存器传输级的描述形式。测试向量的生成可以使用两种方法: 1)波形文件 2)HDL语言描述思考:到底那个方法好?为什么?思考:到底那个方法好?为什么?波形直观,适合小规模设计的测试向量的生成波形直观,适合小规模设计的测试向量的生成HDL语言描述,不直观,但灵
32、活性非常好,设计越语言描述,不直观,但灵活性非常好,设计越复杂,其优越性就越明显。复杂,其优越性就越明显。实验一:Xilinx工具流程-仿真设计 下面先添加测试向量文件,然后再分析,这样就能掌握和适应HDL语言描述测试平台的方法。 在主菜单下,选择Project-Add Copy of Source 并打开测试向量文件test_bench.vhd,该文件就被添加到工程中。思考:分析工程文件结构? 1实验一:Xilinx工具流程-仿真测试文件 顶层设计文件顶层设计文件在测试平台文件在测试平台文件中被声明和例中被声明和例化,表明测试是化,表明测试是对顶层设计文件对顶层设计文件进行的。进行的。声明部
33、分声明部分实验一:Xilinx工具流程-仿真测试文件(难点)例化部分例化部分软件仿真中,时钟信号的激软件仿真中,时钟信号的激励,产生周期时钟信号励,产生周期时钟信号 使用使用VHDL语言中的行为语言中的行为描述语句描述语句实验一:Xilinx工具流程-仿真测试文件软件仿真中,中断信号的激软件仿真中,中断信号的激励,产生中断脉冲信号励,产生中断脉冲信号 使用使用VHDL语言中的行为语言中的行为描述语句来描述。描述语句来描述。实验一:Xilinx工具流程-仿真设计 仿真参数及环境的设置。在处理子窗口,选择Xilinx ISE Simulator,并展开选择Simulate Behavioral M
34、odel,点击鼠标右键,选择Properties,点击鼠标右键,出现后面的界面2实验一:Xilinx工具流程-仿真设计 修改仿真的时间长度25000ns,点击OK,接受修改的参数。 2实验一:Xilinx工具流程-仿真设计 在处理子窗口,选择Xilinx ISE Simulator,并展开选择Simulate Behavioral Model,并用鼠标双击。 小圆圈开始转动,仿真过程开始,不要着急,此时,ISE要完成一项重要的工作就是要生成行为级仿真的模型,稍微等一下,下面的窗口就出现了。3实验一:Xilinx工具流程-仿真设计 看到仿真的结果,思考:如何分析仿真的结果?如果你想看到更多内部的
35、信号,下面将告诉你,如何做。4实验一:Xilinx工具流程-仿真设计 这张图说明了这个过程: 1)在Source窗口展开kcpsm3_int_test 2)在下面的窗口选中address9:0,并点击鼠标右键 3)选择Add To Waveform,想要观察的信号终于出现了。实验一:Xilinx工具流程-设计综合 行为级综合可以自动将系统直接从行为级描述综合为寄存器传输级描述。 行为级综合的输入为系统的行为级描述,输出为寄存器传输级描述的数据通路。 行为级综合工具可以让设计者从更加接近系统概念模型的角度来设计系统。同时,行为级综合工具能让设计者对于最终设计电路的面积、性能、功耗以及可测性进行很
36、方便地优化。 行为级综合所需要完成的任务从广义上来说可以分为分配、调度以及绑定。实验一:Xilinx工具流程-设计综合 Xilinx综合工具在对设计的综合过程中,主要执行以下三个步骤: 1)语法检查过程,检查设计文件语法是否有错误; 2)编译过程,翻译和优化HDL代码,将其转换为综合工具可以识别的元件序列; 3)映射过程,将这些可识别的元件序列转换为可识别的目标技术的基本元件; 实验一:Xilinx工具流程-设计综合 在ISE的主界面的处理子窗口的synthesis的工具可以完成下面的任务: 1)查看综合报告(view Synthesis Report) 2)查看RTL原理图(View RTL
37、 schematic) 3)查看技术原理图(View Technology Schematic) 4)检查语法(Check Syntax) 5)产生综合后仿真模型(Generate Post-Synthesis Simulation Model)。实验一:Xilinx工具流程-设计综合属性设置 在处理子窗口下,选择Synthesis-XST,单击鼠标右键,选择Properities 出现下面的窗口 注意:看起来好像很复杂,但是掌握方法,就知道其中的奥妙了,实验一:Xilinx工具流程-设计综合属性设置 如果你想彻底如果你想彻底的弄懂,参考文献的弄懂,参考文献会告诉你全部的答会告诉你全部的答案。
38、案。 其实,对于竞其实,对于竞赛和教学没必要都赛和教学没必要都弄清楚,这点要切弄清楚,这点要切记。记。实验一:Xilinx工具流程-设计综合 实现综合很简单,只需在处理子窗口中,用鼠标双击Synthesize-XST,小圆圈出现,并且在控制台窗口,显示综合过程中的信息。当出现绿色小圆圈的时候,综合就完成了。 下面将揭开综合过程的一些迷,目的深入了解XST的综合过程。1实验一:Xilinx工具流程-设计综合 查看RTL符号2双击,展开,内部结构一目了然双击,展开,内部结构一目了然实验一:Xilinx工具流程-设计综合实验一:Xilinx工具流程-设计实现 在ISE中的实现(Implement)过
39、程,是将综合输出的逻辑网表翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。实验一:Xilinx工具流程-设计实现 实现过程主要分为3个步骤:翻译(Translate)逻辑网表,映射(Map)到器件单元与布局布线(Place & Route)。 翻译的主要作用是将综合输出的逻辑网表翻译为Xilinx特定器件的底层结构和硬件原语。 映射的主要作用是将设计映射到具体型号的器件上。 布局布线的主要作用是调用Xilinx布局布线器,根据用户约束和物理约束,对设计模块进行实际的布局,并根据设计连接,对布局后的模块进行布线,产生PLD配置文件
40、。 实验一:Xilinx工具流程-设计实现实验一:Xilinx工具流程-设计实现参数设置 选择Implement Design, 点击鼠标左键,选择Properties,出现下面的属性设置界面。实验一:Xilinx工具流程-设计实现参数设置 如果你想彻底的弄懂,参考文献会告诉你全部的答案。 其实,对于竞赛和教学没必要都弄清楚,这点要切记。实验一:Xilinx工具流程-设计实现 实现很简单,只需在处理子窗口中,用鼠标双击Implement Design,小圆圈出现,并且在控制台窗口,显示综合过程中的信息。当出现绿色小圆圈的时候,综合就完成了。 下面将揭开实现过程的一些迷,目的深入了解XST的实现
41、过程。1实验一:Xilinx工具流程-设计实现 实现结果的查看。2实验一:Xilinx工具流程-设计实现 布局布线的查看,芯片内部结构一目了然3放大放大实验一:Xilinx工具流程-设计实现放大放大实验二:Architecture Wizard和PACE -设计目标 Architecture Wizard使设计人员配置和添加FPGA资源到设计。PACE使设计人员添加位置约束到设计。 实验二的设计目标: 1)使用Architecture Wizard来配置和初始化DCM(Digital Controller Management) 2)使用PACE来实现位置约束 3)实现设计,并确保使用了位置约
42、束 4)使用硬件下载和测试设计。实验二:Architecture Wizard和PACE -设计步骤 该实验包含下面几个步骤: 1)配置DCM 2)初始化DCM 3)分配引脚位置 4)用硬件测试设计 实验二:Architecture Wizard和PACE -设计原理 实验工程VHDL设计结构。 1)连接KCPSM3和程序ROM; 2)将UART宏和KCPSM3连接-输入/输出端口和波特率时钟; 3)使用固定间隔的定时器产生中断,使用中断响应信号。 思考:打开工程分析顶层文件,了解上面功能实现的方法实验二:Architecture Wizard和PACE -设计原理PicoBlazeuart_
43、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到设计实验二:Architecture Wizard和PACE
44、-设计原理实验二:Architecture Wizard和PACE -设计原理实验二:Architecture Wizard和PACE -设计原理(输入端口)实验二:Architecture Wizard和PACE -设计原理(输出端口)实验二:Architecture Wizard和PACE -设计原理(输入端口) Rx宏及操作时序实验二:Architecture Wizard和PACE -设计原理(输出端口)UART_Tx宏及操作时序实验二:Architecture Wizard和PACE -UART波特率生成实验二:Architecture Wizard和PACE -PicoBlaze内
45、的RAM空间的分配实验二:Architecture Wizard和PACE -软件发送策略实验二:Architecture Wizard和PACE -软件接收策略实验二:Architecture Wizard和PACE -设计原理 该设计要求一个55MHz时钟。硬件开发平台上包含有50MHz时钟,使用Architecture Wizard来产生DCM,该DCM输出55MHz时钟,并例化该模块到设计中。实验二:Architecture Wizard和PACE -DCM原理 数字时钟管理模块(Digital Clock Manager,DCM)是基于Xilinx的高端FPGA产品中内嵌的IP模块。
46、在时钟的管理与控制方面,DCM与其它时钟管理模块(比如DLL),功能更强大,使用更灵活。DCM的功能包括消除时钟的延时、频率的合成、时钟相位的调整等系统方面的需求。DCM的主要优点在于: 1、实现零时钟偏移(Skew),消除时钟分配延迟,并实现时钟闭环控制; 2、时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求,将芯片内外的时钟控制一体化,以利于系统设计。实验二:Architecture Wizard和PACE -DCM原理 DCM共由四部分组成,其中包括DLL模块、数字频率合成器DFS(Digital Frequency Synthesizer)、数字移相器DPS(Dig
47、ital Phase Shifter)和数字频谱扩展器DSS(Digital Spread Spectrum)。 对于DCM模块来说,其用户需要配置的参数包括输入时钟频率范围、输出时钟频率范围、输入/输出时钟允许抖动范围等。 实验二:Architecture Wizard和PACE -DCM符号实验二:Architecture Wizard和PACE -配置DCM模块 打开lab2工程,在处理子窗口中,双击Create New Source,弹出下面的窗口,选择IP,并输入文件名1 my_dcm, 点击 “Next”。 下面解释选 项:实验二:Architecture Wizard和PACE
48、-配置DCM模块在线逻辑分析仪生成向导在线逻辑分析仪生成向导IP核生成器向导核生成器向导约束实现向导约束实现向导原理图生成向导原理图生成向导状态图生成向导状态图生成向导仿真用测试波形生成向导仿真用测试波形生成向导Verilog语言模块输入向导语言模块输入向导用用Verilog生成仿真平台向导生成仿真平台向导VHDL语言模块输入向导语言模块输入向导VHDL库生成向导库生成向导VHDL程序包生成向导程序包生成向导用用VHDL语言生成仿真平台向导语言生成仿真平台向导实验二:Architecture Wizard和PACE -配置DCM模块 IP(Intelligent Property)核是具有知识
49、产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。 到了SOC阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占用率就越高。目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。实验二:Architecture Wizard和PACE -配置DCM模块 从IP核的提供方式上,通常将其分为软核、硬核和固核这3类。从完成IP核所花费的成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用使用性最高。
50、软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型(比如KCSPM3); 固核在EDA设计领域指的是带有平面规划信息的网表; 硬核在EDA设计领域指经过验证的设计版图(芯片内专用的宏模块,比如DCM);实验二:Architecture Wizard和PACE -配置DCM模块 按下图选择模块,并点击“Next”按钮,然后点击 “Finish”按钮。出现下面的界面:2实验二:Architecture Wizard和PACE -配置DCM模块 按右图配置,并点击“Next”按钮。3实验二:Architecture Wizard和PACE -配置DCM模块 按下图配置,并点击“Next”
51、按钮。4实验二:Architecture Wizard和PACE -配置DCM模块 按右图配置,并点击“Finish”按钮。5实验二:Architecture Wizard和PACE -配置DCM模块 查看工程文件,看到my_dcm加入到工程中,下面将该模块添加到设计中6实验二:Architecture Wizard和PACE -声明和例化DCM模块 在工程窗口中选中my_dcm.xaw文件; 在处理子窗口中,选择View HDL Instatiation Template,并双击产生例化模版。12实验二:Architecture Wizard和PACE -声明和例化DCM模块 添加元件声明语
52、句到: 添加元件例化语句到,并完成程序例化34实验二:Architecture Wizard和PACE -声明和例化DCM模块 打开文件uart_clock.vhd,在该位置添加: - Signals for DCM signal clk55MHz : std_logic; 在顶层实体文件中,添加端口, 保存文件567实验二:Architecture Wizard和PACE -分配引脚位置nPACE 读NGD文件n创建或修改UCF文件设计源文件综合后网表翻译design.ngd设计实现design.ucfdesign.ncfPACEdesign.ucfdesign.lfp翻译实验二:Archi
53、tecture Wizard和PACE -分配引脚位置 将使用PACE来为设计分配引脚。并且验证引脚分配报告。 在工程下,选中uart_clock.vhd文件 在处理子窗口中,选择User Contraints, 并展开,选 择Floorplan IO-Pre-Synthesis,并 双击。12实验二:Architecture Wizard和PACE -分配引脚位置(约束目标)clk:与50MHz晶振连接,位置为FPGA芯片的P80引脚lock:连接到led0,位置为FPGA芯片的p33alarm:连接到led1,位置为FPGA芯片的p31rx:连接到MAX323芯片的接收数据端,位置为FPG
54、A的p184tx:连接到MAX323芯片的发送数据端,位置为FPGA的p18实验二:Architecture Wizard和PACE -分配引脚位置 按下图输入引脚的位置 保存设置34实验二:Architecture Wizard和PACE -查看引脚分配和内部逻辑的关系 在Device Architecture窗口中,将其放大,直到能看到引脚的标号。 退出PACE。56实验二:Architecture Wizard和PACE -查看引脚分配 在工程窗口中,选中uart_clock.ucf文件,并在处理子窗口中,选择User Constraints,并展开,选择Edit Contraints(
55、Text),并点击打开。7实验二:Architecture Wizard和PACE -查看引脚分配实验三:全局时钟约束 -实验内容 该设计将通过输入全局时钟约束条件来指定时序要求,并且通过使用各种时序报告来分析设计性能。将完成PicoBlaze设计,仿真和使用硬件进行测试。 1)使用Xilinx约束编辑器来输入全局时序约束; 2)使用映射后静态时序报告来观察时序约束的可靠性; 3)使用布局布线后静态时序报告来观察时序约束的可靠性。 实验三:全局时钟约束 -时序约束的重要性有全局时钟约束条件有全局时钟约束条件无全局时序约束条件无全局时序约束条件逻辑任意布局逻辑任意布局 逻辑布局被约束后,结果使设
56、计后系逻辑布局被约束后,结果使设计后系统运行速度更快统运行速度更快逻辑放在靠近引脚的位置实验三:全局时钟约束 -时序约束的重要性QFLOP1DQFLOP3DBUFG CLKADATAOUT2OUT1QFLOP5DQFLOP4DBUS 7.0CDATAQFLOP2D实验三:全局时钟约束 -使用精确的时序信息 在源和目的触发器之间的时钟抖动; 同步元件在下降沿的锁存; 不相等的占空比; 时钟输入抖动;实验三:全局时钟约束 -周期约束时钟50%的占空比PERIOD 约束为10 ns由于FF2将在时钟的下降沿锁存 ,所以在两个触发器之间的路径应约束到10ns的50%=5nsBUFGINVCLKFF1F
57、F2实验三:全局时钟约束 -周期约束 时钟的不确定性在全局约束计算中被自动的考虑进去。实验三:全局时钟约束 -OFFSET约束约束I/O引脚到/从同步元件(与响应的时钟关联)。= 组合逻辑 CLKADATAOUT2OUT1QFLOPDQFLOPDQFLOPDQFLOPDBUS 7.0CDATAQFLOPDBUFGOFFSET INOFFSET OUT实验三:全局时钟约束 -OFFSET约束计算OutClkT_data_InT_data_OutT_clk_InOFFSET-OUTOFFSET-INInT_clk_Out OFFSET IN = T_data_In - T_clk_In OFFSE
58、T OUT = T_data_Out + T_clk_Out实验三:全局时钟约束 -PAD-PAD约束 遍及I/O到I/O的路径上只含有组合逻辑电路。实验三:全局时钟约束-设计原理该设计写PicoBlaze汇编程序完成闭环自测试。PicoBlazeuart_txInstructions AddressInstructionsrx_dataout_port7:0port_id7:0write_strobeD Qen8h018h03Interrupt_ackLEDstxinterruptcontrol Interrupt_eventDCM clk100 MHz50 MHzD Qenuart_rxr
59、xdata_presentBuffer_full0000000BaudCounten_16_x_baudswitches0000000rst实验三:全局时钟约束-设计原理 第一个闭环测试:将在LED上显示开关的设置。 第二个闭环测试:将在串口上回显接收到的数据。实验三:全局时钟约束-汇编程序模版 汇编程序模版,program.psm,该程序创建闭环应用程序。下面将生成program.vhd加到PicoBlaze设计中。 打开ISE10.1软件; 在ISE菜单选择File-Open Project,找到lab3文件夹,然后打开time_const.ise工程; 按前面的步骤,在DOS窗口中汇编p
60、rogram.psm程序: kcpsm3 program; 添加生成的ROM文件program.vhd文件到工程; 1234实验三:全局时钟约束-汇编程序模版 选择顶层文件loopback.vhd,在处理子窗口中,在综合下,双击Check Syntax(检查语法)。 5实验三:全局时钟约束-输入全局时序约束 在ISE界面的主菜单下选择Project-New Source,弹出下面的界面,输入约束文件名“loopback”,点击“Next”按钮。实验三:全局时钟约束-输入全局时序约束 该实验将使用图形界面,调用约束编辑器来输入PERIOD和OFFSET IN/OUT约束。 在源文件窗口,选择顶层设计文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论