FPGA开发流程_第1页
FPGA开发流程_第2页
FPGA开发流程_第3页
FPGA开发流程_第4页
FPGA开发流程_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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单元,是芯片与外界电路的接口部分,

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

5、Slice和附加逻辑构 成。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布 式RAM和分布式ROM。 数字时钟管理模块(数字时钟管理模块(DCM) :业内大多数FPGA均提供数字时钟管理(Xilinx 的全部FPGA均具有这种特性)。Xilinx推出最先进的FPGA提供数字时钟管 理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖 动,并实现过滤功能。 嵌入式块嵌入式块RAM(BRAM):大多数FPGA都具有内嵌的块RAM,这大大拓展了 FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、 内容地址存储器 (CAM)以及FIFO等常用存

6、储结构。 布线资源布线资源:连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连 线上的驱动能力和传输速度。在实际中设计者不需要直接选择布线资源,布 局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来 连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、 直接的关系。 内嵌功能模块内嵌功能模块:主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核(SoftCore)。现在越来越丰富的内嵌功能 单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设 计的能力,逐步向SOC平

7、台过渡。 内嵌专用硬核内嵌专用硬核:是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核 (Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片 内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的 FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的 FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速 度。 特点: 1)采用FPGA设计ASIC电路(专用集成电路), 用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的 中试样片。 3)FPGA内部有丰富的触发器和I

8、/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费 用最低、风险最小的器件之一。 5) FPGA采用高速CMOS工艺,功耗低,可以 与CMOS、TTL电平兼容。 ISE的简要介绍的简要介绍 ISE软件是Xilinx公司推出的FPGA/CPLD集成开发环境,不仅包 含了逻辑设计所需的一切,还具有大量简便易用的内置式工具和向 导,使得I/O分配、功耗分析、时序驱动设计收敛、HDL仿真等关键 步骤变得容易而直观。因此要掌握Xilinx FPGA开发,就必须掌握 ISE,这里我们简单介绍下ISE基本操作和开发流程 ISE功能简介功能简介 Xilinx 是全球领先的可编程逻辑完整解决方案的供应

9、商,其开发工 具ISE也在不断地升级。ISE 具有界面友好、操作简单的特点,再加上 Xilinx 的FPGA 芯片占有很大的市场,使其成为非常通用的FPGA 工具 软件。ISE 作为高效的EDA 设计工具集合,与第三方软件扬长补短, 使软件功能越来越强大,为用户提供了更加丰富的Xilinx 平台。 ISE 的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了 FPGA 开发的全过程,从功能上讲,其工作流程无需借助任何第三方 EDA 软件。 ISE功能简介功能简介 设计输入:ISE 提供的设计输入工具包括用于HDL 代码输入和查看报告的ISE 文本编辑器(The ISE Text Editor

10、),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core 的Core Generator,用于状态机设计的StateCAD 以 及用于约束文件编辑的Constraint Editor。 综合:ISE 的综合工具不但包含了Xilinx 自身提供的 综合工具XST,同时还可以内嵌Mentor Graphics 公 司的LeonardoSpectrum 和Synplicity 公司的Synplify ,实现无缝链接。 ISE功能简介功能简介 仿真:ISE 本身自带了一个具有图形化波形编辑功能 的仿真工具HDL Bencher,同时又提供了

11、使用Model Tech 公司的Modelsim 进行仿真的接口。 实现:此功能包括了翻译、映射、布局布线等,还具 备时序分析、管脚指定以及增量设计等高级功能。 下载:下载功能包括了BitGen,用于将布局布线后 的设计文件转换为位流文件,还包括了ImPACT,功 能是进行设备配置和通信,控制将程序烧写到FPGA 芯片中去。 ISE软件软件 基本硬件要求:CPU奔腾3以上,内存大于 256MB,硬盘大于10GB的安装环境。本实验指导使 用的集成环境是ISE13.1。 使用ISE13.1完成一个8255IP core的设计,其内容 包括: 工程的建立; 8255IP core的设计; 设计综合和

12、查看综合结果; 设计下载到FPGA芯片 实验连线说明。 ISE用户界面 ISE软件的用户界面 标题栏:主要显示当前工程的名称和当前打开的文件名称。 菜单栏:主要包括文件(File)、编辑(Edit)、视图(View)、工程 (Project)、源文件(Source)、操作(Process)、窗口(Window )和帮助(Help)等8 个下拉菜单。 工具栏:主要包含了常用命令的快捷按钮。灵活运用工具栏可以极大地 方便用户在ISE 中的操作。在工程管理中,此工具栏的运用极为频繁。 工程管理区:提供了工程以及其相关文件的显示和管理功能,主要包括 源文件视图(Source View),快照视图(Sn

13、apshot View)和库视图( Library View)。 源文件编辑区:源文件编辑区提供了源代码的编辑功能。 过程管理区:本窗口显示的内容取决于工程管理区中所选定的文件。相 关操作和FPGA 设计流程紧密相关,包括设计输入、综合、仿真、实现 和生成配置文件等。 信息显示区:显示 ISE 中的处理信息,如操作步骤信息、警告信息和错 误信息等。 状态栏:显示相关命令和操作的信息 开发环境的启动 新建工程 新建工程 输入工程名top_8255及其要保存的位置 新建工程 选择器件参数 工作区可看到新建的工程 top_8255 添加源文件 也可以选择 new source 手动输入 verilo

14、g 文件。 综合 综合,就是将HDL 语言、原理图等设计输入翻译成由 与、或、非门和RAM、触发器等基本逻辑单元的逻辑 连接(网表),并根据目标和要求(约束条件)优化 所生成的逻辑连接,生成EDF 文件。综合工具可以使 用第三方EDA工具(如Synplify/SynplifyPro),Xilinx 在ISE中提供了自带的综合工具XST(Xilinx Synthesis Technology),XST 内嵌在ISE 3 以后的版本中,并且 在不断完善。此外,由于XST 是Xilinx 公司自己的综 合工具,对于部分Xilinx 芯片独有的结构具有更好的融 合性。 完成了输入、仿真以及管脚分配后就

15、可以进行综合和 实现了。在过程管理区双击Synthesize-XST,就可以 完成综合。 双击 check syntax 检查 verilog 文件有无语法错误 若没有,会出现绿色的勾,有 警告会出现叹号,有错误会出 现红色的叉。 双击 synthesize 开始综合 添加约束文件 FPGA 设计中的约束文件有3 类:用户设计文件(.UCF 文件)、网表 约束文件(.NCF 文件)以及物理约束文件(.PCF 文件),可以完成 时序约束、管脚约束以及区域约束。3 类约束文件的关系为:用户在 设计输入阶段编写UCF 文件,然后UCF 文件和设计综合后生成NCF 文件,最后再经过实现后生成PCF 文

16、件。本节主要介绍UCF 文件的使 用方法。 约束文件的后缀是.ucf,所以一般也被称为UCF 文件。创建约 束文件有两种方法,一种是通过新建方式,另一种则是利用过 程管理器来完成。 第一种方法:新建一个源文件,在代码类型中选取 “Implementation Constrains File”,在“FileName”中输入文件名 。单击“Next”按键进入模块选择对话框,选择需要约束的模块 ,然后单击“Next”进入下一页,再单击“Finish”按键完成约束文 件的创建。 第二种方法:在工程管理区中,将“Source for”设置为 “Synthesis/Implementation”。“Con

17、strains Editor”是一个专用的 约束文件编辑器,双击过程管理区中“User Constrains”下的 “Create Timing Constrains”就可以打开“Constrains Editor”。 添加约束文件 在UCF 文件中描述管脚分配的语法为:NET “端口名称” LOC = 引脚编号;需要注意的是,UCF 文件是大小敏感的,端口名称 必须和源代码中的名字一致,且端口名字不能和关键字一样。 但是关键字NET 是不区分大小写的。 在工程管理区中,将“Source for”设置为 “Synthesis/Implementation”,然后双击过程管理区中“User Co

18、nstrains”下的“Edit Constraints (Text)”就可以打开约束文件编 辑器,就会新建当前工程的约束文件。 约束文件编辑窗口 添加用户约束添加用户约束 约束 XC3S200XC3S200 部分引脚分配如图 实现 所谓实现(Implement)是将综合输出的逻辑网表翻译成 所选器件的底层模块与硬件原语,将设计映射到器件结构 上,进行布局布线,达到在选定器件上实现设计的目的。 实现主要分为3 个步骤:翻译(Translate)逻辑网表,映 射(Map)到器件单元与布局布线(Place ; 计算机自动安装计算机自动安装JTAGJTAG驱动程序驱动程序; ; 把扩展模块左下角红色钉子把扩展模块左下角红色钉子+5V+5V接实验箱的接实验箱的+5V+5V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论