fpga开发流程资料

上传人:w****i 文档编号:98921962 上传时间:2019-09-15 格式:PPT 页数:41 大小:2.29MB
返回 下载 相关 举报
fpga开发流程资料_第1页
第1页 / 共41页
fpga开发流程资料_第2页
第2页 / 共41页
fpga开发流程资料_第3页
第3页 / 共41页
fpga开发流程资料_第4页
第4页 / 共41页
fpga开发流程资料_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《fpga开发流程资料》由会员分享,可在线阅读,更多相关《fpga开发流程资料(41页珍藏版)》请在金锄头文库上搜索。

1、,ISE环境中FPGA开发与实现,FPGA(FieldProgrammable Gate Array):即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。,以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合和布局快速地烧至FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数

2、学方程式。,工作原理:FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(161RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑

3、功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程.,FPGA:芯片主 要由7部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。,可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组分类,

4、每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。,配置逻辑块(CLB):是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的Slice和附加逻辑构成。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布

5、式ROM。,数字时钟管理模块(DCM) :业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。,嵌入式块RAM(BRAM):大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIFO等常用存储结构。,布线资源:连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。在实际中设计者不需要直接选择布线资源,布

6、局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。,内嵌功能模块:主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核(SoftCore)。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。,内嵌专用硬核:是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专

7、用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。,特点:,1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。,ISE的简要介绍,ISE软件是Xil

8、inx公司推出的FPGA/CPLD集成开发环境,不仅包含了逻辑设计所需的一切,还具有大量简便易用的内置式工具和向导,使得I/O分配、功耗分析、时序驱动设计收敛、HDL仿真等关键步骤变得容易而直观。因此要掌握Xilinx FPGA开发,就必须掌握ISE,这里我们简单介绍下ISE基本操作和开发流程,ISE功能简介,Xilinx 是全球领先的可编程逻辑完整解决方案的供应商,其开发工具ISE也在不断地升级。ISE 具有界面友好、操作简单的特点,再加上Xilinx 的FPGA 芯片占有很大的市场,使其成为非常通用的FPGA 工具软件。ISE 作为高效的EDA 设计工具集合,与第三方软件扬长补短,使软件功

9、能越来越强大,为用户提供了更加丰富的Xilinx 平台。 ISE 的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA 开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA 软件。,ISE功能简介,设计输入:ISE 提供的设计输入工具包括用于HDL 代码输入和查看报告的ISE 文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core 的Core Generator,用于状态机设计的StateCAD 以及用于约束文件编辑的Constraint Editor。 综合:I

10、SE 的综合工具不但包含了Xilinx 自身提供的综合工具XST,同时还可以内嵌Mentor Graphics 公司的LeonardoSpectrum 和Synplicity 公司的Synplify,实现无缝链接。,ISE功能简介,仿真:ISE 本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech 公司的Modelsim 进行仿真的接口。 实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。 下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,功能是进行设备

11、配置和通信,控制将程序烧写到FPGA 芯片中去。,ISE软件,基本硬件要求:CPU奔腾3以上,内存大于256MB,硬盘大于10GB的安装环境。本实验指导使用的集成环境是ISE13.1。,使用ISE13.1完成一个8255IP core的设计,其内容包括: 工程的建立; 8255IP core的设计; 设计综合和查看综合结果; 设计下载到FPGA芯片 实验连线说明。,ISE用户界面,ISE软件的用户界面,标题栏:主要显示当前工程的名称和当前打开的文件名称。 菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程(Project)、源文件(Source)、操作(Process)

12、、窗口(Window)和帮助(Help)等8 个下拉菜单。 工具栏:主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地方便用户在ISE 中的操作。在工程管理中,此工具栏的运用极为频繁。 工程管理区:提供了工程以及其相关文件的显示和管理功能,主要包括源文件视图(Source View),快照视图(Snapshot View)和库视图(Library View)。 源文件编辑区:源文件编辑区提供了源代码的编辑功能。 过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。相关操作和FPGA 设计流程紧密相关,包括设计输入、综合、仿真、实现和生成配置文件等。 信息显示区:显示 ISE 中的处

13、理信息,如操作步骤信息、警告信息和错误信息等。 状态栏:显示相关命令和操作的信息,开发环境的启动,新建工程,新建工程,输入工程名top_8255及其要保存的位置,新建工程,选择器件参数,工作区可看到新建的工程 top_8255,添加源文件,也可以选择 new source 手动输入 verilog 文件。,综合,综合,就是将HDL 语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接,生成EDF 文件。综合工具可以使用第三方EDA工具(如Synplify/SynplifyPro),Xilinx在ISE中提供

14、了自带的综合工具XST(Xilinx Synthesis Technology),XST 内嵌在ISE 3 以后的版本中,并且在不断完善。此外,由于XST 是Xilinx 公司自己的综合工具,对于部分Xilinx 芯片独有的结构具有更好的融合性。 完成了输入、仿真以及管脚分配后就可以进行综合和实现了。在过程管理区双击Synthesize-XST,就可以完成综合。,双击 check syntax 检查 verilog 文件有无语法错误 若没有,会出现绿色的勾,有警告会出现叹号,有错误会出现红色的叉。,双击 synthesize 开始综合,添加约束文件,FPGA 设计中的约束文件有3 类:用户设计

15、文件(.UCF 文件)、网表约束文件(.NCF 文件)以及物理约束文件(.PCF 文件),可以完成时序约束、管脚约束以及区域约束。3 类约束文件的关系为:用户在设计输入阶段编写UCF 文件,然后UCF 文件和设计综合后生成NCF 文件,最后再经过实现后生成PCF 文件。本节主要介绍UCF 文件的使用方法。 约束文件的后缀是.ucf,所以一般也被称为UCF 文件。创建约束文件有两种方法,一种是通过新建方式,另一种则是利用过程管理器来完成。 第一种方法:新建一个源文件,在代码类型中选取“Implementation Constrains File”,在“FileName”中输入文件名。单击“Nex

16、t”按键进入模块选择对话框,选择需要约束的模块,然后单击“Next”进入下一页,再单击“Finish”按键完成约束文件的创建。 第二种方法:在工程管理区中,将“Source for”设置为“Synthesis/Implementation”。“Constrains Editor”是一个专用的约束文件编辑器,双击过程管理区中“User Constrains”下的“Create Timing Constrains”就可以打开“Constrains Editor”。,添加约束文件,在UCF 文件中描述管脚分配的语法为:NET “端口名称” LOC = 引脚编号;需要注意的是,UCF 文件是大小敏感的,端口名称必须和源代码中的名字一致,且端口名字不能和关键字一样。但是关键字NET 是不区分大小写的。 在工程管理区中,将“Source for”设置为“Synthesis/Implementation”,然后双击过程管理区中“User Constrains”下的“Edit Constraints (Text)”就可以打开约束文件编辑器,就会新建当前工程的约束文件。,约束文件编辑窗口,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号