1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,FPGA开发流程,FPGA:,芯片主 要由,7,部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式,RAM,、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。,可编程输入,/,输出单元,简称,I/O,单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入,/,输出信号的驱动与匹配要求。,FP
2、GA,内的,I/O,按组分类,每组都能够独立地支持不同的,I/O,标准。通过软件的灵活配置,可适配不同的电气标准与,I/O,物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。,配置逻辑块(,CLB,),:,是,FPGA,内的基本逻辑单元。,CLB,的实际数量和特性会依器件的不同而不同,但是每个,CLB,都包含一个可配置开关矩阵,此矩阵由,4,或,6,个输入、一些 选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或,RAM,。在,Xilinx,公司的,FPGA,器件中,,CLB,由多个(一般为,4,个或,2,个)相同的,Slice,和
3、附加逻辑构成。每个,CLB,模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式,RAM,和分布式,ROM,。,数字时钟管理模块(,DCM,),:,业内大多数,FPGA,均提供数字时钟管理(,Xilinx,的全部,FPGA,均具有这种特性)。,Xilinx,推出最先进的,FPGA,提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。,嵌入式块,RAM,(,BRAM,),:,大多数,FPGA,都具有内嵌的块,RAM,,这大大拓展了,FPGA,的应用范围和灵活性。块,RAM,可被配置为单端口,RAM,、双端口,RAM,、内容地址存储器(,CAM
4、以及,FIFO,等常用存储结构。,布线资源,:,连通,FPGA,内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。,内嵌功能模块,:,主要指,DLL,(,Delay Locked Loop,)、,PLL,(,Phase Locked Loop,)、,DSP,和,CPU,等软处理核(,SoftCore,)。现在越来越丰富的内嵌功能单元,使得单片,FPGA,成为了系统级的设计工具,使其具
5、备了软硬件联合设计的能力,逐步向,SOC,平台过渡。,内嵌专用硬核,:,是相对底层嵌入的软核而言的,指,FPGA,处理能力强大的硬核(,Hard Core,),等效于,ASIC,电路。为了提高,FPGA,性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高,FPGA,的乘法速度,主流的,FPGA,中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的,FPGA,内部都集成了串并收发器(,SERDES,),可以达到数十,Gbps,的收发速度。,特点:,1)采用FPGA设计ASIC电路(,专用集成电路,),用户不需要投片生产,就能得到合用的芯片。,2)FPGA可做其它全定制或半定制
6、ASIC电路的中试样片。,3)FPGA内部有丰富的触发器和I/O引脚。,4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。,5)FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。,ISE,的简要介绍,ISE,软件是,Xilinx,公司推出的,FPGA/CPLD,集成开发环境,不仅包含了逻辑设计所需的一切,还具有大量简便易用的内置式工具和向导,使得,I/O,分配、功耗分析、时序驱动设计收敛、,HDL,仿真等关键步骤变得容易而直观。因此要掌握,Xilinx FPGA,开发,就必须掌握,ISE,,这里我们简单介绍下,ISE,基本操作和开发流程,ISE,功
7、能简介,Xilinx,是全球领先的可编程逻辑完整解决方案的供应商,其开发工具,ISE,也在不断地升级。,ISE,具有界面友好、操作简单的特点,再加上,Xilinx,的,FPGA,芯片占有很大的市场,使其成为非常通用的,FPGA,工具软件。,ISE,作为高效的,EDA,设计工具集合,与第三方软件扬长补短,使软件功能越来越强大,为用户提供了更加丰富的,Xilinx,平台。,ISE,的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了,FPGA,开发的全过程,从功能上讲,其工作流程无需借助任何第三方,EDA,软件。,ISE,功能简介,设计输入:ISE 提供的设计输入工具包括用于HDL 代码输入和查
8、看报告的ISE 文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core 的Core Generator,用于状态机设计的StateCAD 以及用于约束文件编辑的Constraint Editor。,综合:ISE 的综合工具不但包含了Xilinx 自身提供的综合工具XST,同时还可以内嵌Mentor Graphics 公司的LeonardoSpectrum 和Synplicity 公司的Synplify,实现无缝链接。,ISE,功能简介,仿真:ISE 本身自带了一个具有图形化波形编辑
9、功能的仿真工具HDL Bencher,同时又提供了使用Model Tech 公司的Modelsim 进行仿真的接口。,实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。,下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,功能是进行设备配置和通信,控制将程序烧写到FPGA 芯片中去。,ISE,软件,基本硬件要求:CPU奔腾3以上,内存大于256MB,硬盘大于10GB的安装环境。本实验指导使用的集成环境是ISE13.1。,使用ISE13.1完成一个8255IP core的设计,其内容包括:,工程的建立;,825
10、5IP core的设计;,设计综合和查看综合结果;,设计下载到FPGA芯片,实验连线说明。,ISE,用户界面,ISE,软件的用户界面,标题栏:主要显示当前工程的名称和当前打开的文件名称。,菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程(Project)、源文件(Source)、操作(Process)、窗口(Window)和帮助(Help)等8 个下拉菜单。,工具栏:主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地方便用户在ISE 中的操作。在工程管理中,此工具栏的运用极为频繁。,工程管理区:提供了工程以及其相关文件的显示和管理功能,主要包括源文件视图(Sour
11、ce View),快照视图(Snapshot View)和库视图(Library View)。,源文件编辑区:源文件编辑区提供了源代码的编辑功能。,过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。相关操作和FPGA 设计流程紧密相关,包括设计输入、综合、仿真、实现和生成配置文件等。,信息显示区:显示 ISE 中的处理信息,如操作步骤信息、警告信息和错误信息等。,状态栏:显示相关命令和操作的信息,开发环境的启动,新建工程,新建工程,输入工程名,top_8255,及其要保存的位置,新建工程,选择器件参数,工作区可看到新建的工程,top_8255,添加源文件,也可以选择,new sour
12、ce,手动输入,verilog,文件。,综合,综合,就是将HDL 语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接,生成EDF 文件。综合工具可以使用第三方EDA工具(如Synplify/SynplifyPro),Xilinx在ISE中提供了自带的综合工具XST(Xilinx Synthesis Technology),XST 内嵌在ISE 3 以后的版本中,并且在不断完善。此外,由于XST 是Xilinx 公司自己的综合工具,对于部分Xilinx 芯片独有的结构具有更好的融合性。,完成了输入、仿真以及
13、管脚分配后就可以进行综合和实现了。在过程管理区双击Synthesize-XST,就可以完成综合。,双击,check syntax,检查,verilog,文件有无语法错误,若没有,会出现绿色的勾,有警告会出现叹号,有错误会出现红色的叉。,双击,synthesize,开始综合,添加约束文件,FPGA 设计中的约束文件有3 类:用户设计文件(.UCF 文件)、网表约束文件(.NCF 文件)以及物理约束文件(.PCF 文件),可以完成时序约束、管脚约束以及区域约束。3 类约束文件的关系为:用户在设计输入阶段编写UCF 文件,然后UCF 文件和设计综合后生成NCF 文件,最后再经过实现后生成PCF 文件
14、本节主要介绍UCF 文件的使用方法。,约束文件的后缀是.ucf,所以一般也被称为UCF 文件。创建约束文件有两种方法,一种是通过新建方式,另一种则是利用过程管理器来完成。,第一种方法:新建一个源文件,在代码类型中选取“Implementation Constrains File”,在“FileName”中输入文件名。单击“Next”按键进入模块选择对话框,选择需要约束的模块,然后单击“Next”进入下一页,再单击“Finish”按键完成约束文件的创建。,第二种方法:在工程管理区中,将“Source for”设置为“Synthesis/Implementation”。“Constrains E
15、ditor”是一个专用的约束文件编辑器,双击过程管理区中“User Constrains”下的“Create Timing Constrains”就可以打开“Constrains Editor”。,添加约束文件,在UCF 文件中描述管脚分配的语法为:NET“端口名称”LOC=引脚编号;需要注意的是,UCF 文件是大小敏感的,端口名称必须和源代码中的名字一致,且端口名字不能和关键字一样。但是关键字NET 是不区分大小写的。,在工程管理区中,将“Source for”设置为“Synthesis/Implementation”,然后双击过程管理区中“User Constrains”下的“Edit C
16、onstraints(Text)”就可以打开约束文件编辑器,就会新建当前工程的约束文件。,约束文件编辑窗口,添加用户约束,约束,XC3S200,部分引脚分配如图,实验钉子标号,引脚号,DIR,空(没定义),H19,P107,H18,P102,CLK2,P183,CLK3,P181,CLK4,P180,CLK5,P77,CLK6,P76,33M(时钟),P184,30M(时钟),P80,50M(时钟),P79,实现,所谓实现(Implement)是将综合输出的逻辑网表翻译成所选器件的底层模块与硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。实现主要分为3 个步骤:
17、翻译(Translate)逻辑网表,映射(Map)到器件单元与布局布线(Place&Route)。,翻译,的主要作用是将综合输出的逻辑网表翻译为Xilinx 特定器件的底层结构和硬件原语。,映射,的主要作用是将设计映射到具体型号的器件上(LUT、FF、Carry 等)。,布局布线,步骤调用Xilinx 布局布线器,根据用户约束和物理约束,对设计模块进行实际的布局,并根据设计连接,对布局后的模块进行布线,产生FPGA/CPLD配置文件。,实现,在翻译过程中,设计文件和约束文件将被合并生成NGD(原始类型数据库)输出文件和BLD文件,其中NGD 文件包含了当前设计的全部逻辑描述,BLD 文件是转换
18、的运行和结果报告。,在映射过程中,由转换流程生成的 NGD 文件将被映射为目标器件的特定物理逻辑单元,并保存在NCD(展开的物理设计数据库)文件中。映射的输入文件包括NGD、NMC、NCD 和MFP(映射布局规划器)文件,输出文件包括NCD、PCF(物理约束文件)、NGM 和MRP(映射报告)文件。,布局和布线(Place&Route):通过读取当前设计的NCD 文件,布局布线将映射后生成的物理逻辑单元在目标系统中放置和连线,并提取相应的时间参数。布局布线的输入文件包括NCD 和PCF 模板文件,输出文件包括NCD、DLY(延时文件)、PAD 和PAR 文件。,实现,基于,ISE,的芯片编程,
19、生成二进制编程文件并下载到芯片中,也就是所谓的硬件编程和下载,是FPGA 设计的最后一步。生成编程文件在ISE 中的操作非常简单,在过程管理区中双击Generate Programming File 选项即可完成。生成的编程文件放在ISE 工程目录下,是一个扩展名为.bit 的位流文件。,双击过程管理区的Generate Programming File选项下面的Configure Device(iMPACT)项,然后在弹出的Configure Device 对话框中选取合适的下载方式,ISE 会自动连接FPGA 设备。成功检测到设备后会出现iMPACT 的主界面。,双击,generate p
20、rograming file,生,成配置文件。,下载设计到,FPGA,芯片,准备工作:,将xilinx的USB-JTAG电缆分别和计算机USB接口及FPGA扩展板上的JTAG10针插口连接;,计算机自动安装JTAG驱动程序;,把扩展模块左下角红色钉子+5V接实验箱的+5V电源,黑色钉子GND接实验箱的GND,给实验箱上电,扩展板电源灯亮,实验箱电源亮.,基于,ISE,的芯片编程,iMPACT,主界面,基于,ISE,的芯片编程,在主界面的中间区域内单击鼠标右键,并选择菜单的“,Initialize Chain”,选项,如果,FPGA,配置电路,JTAG,测试正确,则会将,JTAG,链上扫描到的所
21、有芯片在,iMPACT,主界面上列出来,iMPACT,主界面扫描正确后的窗口界面两个芯片连接在,JTAG,链路上,Xcf01s-Xilinx,的串行,Flash,芯片,xc3s200-Xilinx,的,FPGA,芯片,点击“,Yes”,按钮,基于,ISE,的芯片编程,连续点击cancel退出前1个设备的配置,在第2个选中综合实现之后的bit文件,选择位流文件,基于,ISE,的芯片编程,选中下载文件后,单击“打开”按键,在iMPACT 的主界面会出现一个芯片模型以及位流文件的标志,在此标志上单击鼠标右键,在弹出的对话框中选择Program 选项,就可以对FPGA设备进行编程,对,FPGA,设备进行编程示意图,基于,ISE,的芯片编程,FPGA,配置成功指示界面,参考电子资料:,Verilog经典教程,FPGA 操作说明,基于FPGA 的的设计,新一代 USB2.0 微机接口实验指导书,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,






