数字电路的fpga设计方法和fpga开发流程

上传人:第*** 文档编号:49705739 上传时间:2018-08-01 格式:PPT 页数:19 大小:170.50KB
返回 下载 相关 举报
数字电路的fpga设计方法和fpga开发流程_第1页
第1页 / 共19页
数字电路的fpga设计方法和fpga开发流程_第2页
第2页 / 共19页
数字电路的fpga设计方法和fpga开发流程_第3页
第3页 / 共19页
数字电路的fpga设计方法和fpga开发流程_第4页
第4页 / 共19页
数字电路的fpga设计方法和fpga开发流程_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《数字电路的fpga设计方法和fpga开发流程》由会员分享,可在线阅读,更多相关《数字电路的fpga设计方法和fpga开发流程(19页珍藏版)》请在金锄头文库上搜索。

1、数字电路的FPGA设计方法传统的数字电路是由一些固定的器件加上一定传统的数字电路是由一些固定的器件加上一定 的外围电路构成模块,由这些模块进一步形成各的外围电路构成模块,由这些模块进一步形成各 种功能电路,进而构成系统。这种设计方法灵活种功能电路,进而构成系统。这种设计方法灵活 性差,设计一个系统所需要的芯片种类多且数量性差,设计一个系统所需要的芯片种类多且数量 大。随着可编程逻辑器件(大。随着可编程逻辑器件(Programmable Programmable Logic DeviceLogic Device,简称,简称PLDPLD)以及电子设计自动化)以及电子设计自动化 (Electroni

2、c Design AutomationElectronic Design Automation,简称,简称EDAEDA )技术的发展,改变了这种传统的设计思路,使)技术的发展,改变了这种传统的设计思路,使 人们可以立足于人们可以立足于PLDPLD芯片来实现各种不同的功能芯片来实现各种不同的功能 。新的设计方法能够由设计者自己设计器件的内部逻辑功能和定义引脚功能,将原来由电路 板完成的大部分工作放在芯片的设计中进行。 这样就增加了系统设计的自由度,提高了设计 效率,同时减少了所需芯片的种类和数量,缩 小了硬件系统的体积,降低了硬件功耗,提高 了硬件系统的可靠性。数字电路的FPGA设计方法在数字电

3、路的设计中,通常有两种设计思路, 一种是自顶向下(Top-Down)的设计思路, 另一种是自底向上(Bottom-Up)的设计思路。传统的数字系统设计多采用自底向上的方法, 通常设计者选用标准的通用集成电路芯片和其 他元器件,由底层逐级向上构成子系统和系统 。数字电路的FPGA设计方法数字系统的FPGA设计采用自顶向下设计方法。 设计者先将一个硬件系统划分成几个大的模块 ,设计出各大模块的行为功能或结构,并进行 仿真以检验设计是否正确,然后将大的模块分 给下一级设计者。这种方法更加的符合人们的 逻辑思维习惯,也容易使设计者对复杂的系统 进行合理的划分与不断的优化。数字电路的FPGA设计方法Bo

4、ttom-up系统分解系统总成单元设计功能块划分子系统设计Top-down行为设计版图设计结构设计逻辑设计电路设计图1 自底向上的设计图2 自顶向下的设计数字系统设计主要分系统设计和逻辑设计两个 阶段。其一般设计过程如下:1.确定顶层系统的方案这是设计过程的第一阶段,要求对任务进行透彻了解,并在此基础上决定设计任务和系统 整体的功能、输入信号及输出信号。数字电路的FPGA设计方法2.描述系统功能,设计算法描述系统功能是用符号、图形、文字、表达式等来正确描述系统应具有的逻辑功能。设计 算法就是把系统要实现的复杂运算分解成一组 有序进行的子运算。描述算法的工具有算法流 程图、算法状态机、方框图等。

5、数字电路的FPGA设计方法3.根据算法选择电路结构算法明确后,根据算法选择电路结构,并将 系统划分为若干个子系统。若某部分规模仍然 较大,则可进一步划分。划分后的多个部分应 该逻辑功能清楚,便于进行电路设计。4.设计输入输入方法有多种,常用的有原理图输入法、 硬件描述语言输入法、混合输入法等。数字电路的FPGA设计方法5.设计验证(仿真、测试)和设计实现。当采用EDA技术和自顶向下的分层设计方法设 计系统时,每一层都应该有描述、划分、综合 、仿真等几个工作过程。这样,就能及时纠正 错误,降低了设计成本,提高了可靠性。数字电路的FPGA设计方法一般来说,完整的FPGA设计流程包括电路设计与输入、

6、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、板级 仿真验证与调试等主要步骤。以Altera公司的QuartusII EDA软件为例,其详细的设计流程下图所示。数字电路的FPGA开发流程Quartus II 综合分析Quartus II 完整的分析与综合Quartus II 产生功能网表Quartus II 功能仿真设置约束Quartus II 适配布局、布线后的 仿真文件 (.vo/.vho, .sdo)设计 文件Quartus II 门级时序仿真设置约束是否满足时序、 资源要求?配置/编程文 件 (.sof/.pof)配置/编程器 件否是1电路设计与输入(设计文件)设计输入有多种表达

7、方式,最常用的是原理图输 入和文本输入。原理图是图形化的表达方式,使用元 件符号和连线来描述设计。其特点是适合描述连接关 系和接口关系,而描述逻辑功能则比较繁琐。文本输 入多用硬件描述语言(HDL)来描述和设计电路。设 计者可利用HDL语言来描述自己的设计,然后采用EDA 工具进行综合和仿真,最后变为目标文件,再用FPGA 来具体实现。此外,波形输入和状态机输入方法是两 种常用的辅助设计输入方法。数字电路的FPGA开发流程2功能仿真电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求,功能仿真有时也被称为前仿真。通过功能仿真能及时发现设计中的错误,在系统设计前期即

8、可修改完成,提高设计的可靠性。数字电路的FPGA开发流程3综合优化(Analysis)综合优化是指将HDL语言、原理图等设计输入翻译成由与、或、非门、RAM、触发器等基本 逻辑单元组成的逻辑连接(网表),并根据目 标与要求(约束条件)优化所生成的逻辑连接 ,输出EDA网表文件,供FPGA厂家的布局布线器 进行实现。数字电路的FPGA开发流程4综合后仿真综合完成后需要检查综合结果是否与原设 计一致,做综合后仿真。在仿真时,把综合生 成的标准延时文件反标注到综合仿真模型中去 ,可估计门延时带来的影响。综合后仿真虽然 比功能仿真精确一些,但是只能估计门延时, 不能估计线延时,仿真结果与布线后的实际情

9、 况还是有一定的差距。这种仿真的主要目的在 于检查综合器的综合结果是否与设计输入一致 。数字电路的FPGA开发流程5实现与布局布线综合结果的本质是一些由与、或、非门、RAM、触发器等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还 有较大差距。此时应该使用FPGA厂商提供的软件工具,根据 所选芯片的型号,将综合输出的逻辑网表适配到具体的FPGA 芯片上,这个过程就叫做实现过程。在实现过程中最主要的 过程是布局布线。所谓布局是指将逻辑网表中原子符号合理 地适配到FPGA内部的固有硬件结构上,布局的好坏对设计的 最终实现结果影响很大。所谓布线是根据布局的拓扑结构, 利用FPGA内部的各种连线资

10、源,合理正确连接各个元件的过 程。 数字电路的FPGA开发流程6时序仿真与验证将布局布线的延时信息反标注到设计网表中后进 行的仿真就叫做时序仿真或布局布线后仿真,简称后 仿真。布局布线之后生成的仿真延时文件不仅包含门 延时,还包含实际布线延时,所以布线后仿真最准确 ,能较好地反映芯片的实际工作情况。一般来说,布 线后仿真步骤必须进行,通过布局布线后仿真能检查 设计时序与FPGA实际运行情况是否一致,确保设计的 可靠性和稳定性。布局布线后仿真的主要目的在于发 现时序违规,及不满足时序约束条件或者器件固有时 序规则的情况。数字电路的FPGA开发流程7调试与加载配置(下载)设计开发的最后步骤就是将生

11、成的配置文件写入芯片中进行测试。设计时应保留一定数量FPGA管脚作 为测试管脚,编写 FPGA代码时将需要观察的信号作 为模块的输出信号,在综合实现时再把这些输出信号 锁定到测试管脚上,然后连接逻辑分析仪的探头到这 些测试脚,设定触发条件,进行观测。现在FPGA厂商 的EDA软件可以在系统工程中加入嵌入式逻辑分析仪 ,可以通过嵌入式逻辑分析仪实时的获取FPGA内部实 际工作的时序波形。数字电路的FPGA开发流程使用查找表技术和基于SRAM的FPGA器件,下载的编程 数据将存入SRAM,而SRAM掉电后所存数据将丢失。所 以,可以将编程数据固化入EPROM内,器件上电时, 由器件本身或微处理器控制EPROM将数据配置入FPGA 器件。FPGA调试期间,由于编程数据改动频繁,没有必要每 次改动都将编程数据下载到EPROM,此时可用下载电 缆直接下载到FPGA内查看运行结果,这种过程称为在 线重配置ICR。数字电路的FPGA开发流程

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

当前位置:首页 > 办公文档 > 解决方案

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