FPGA设计流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于多种 EDA工具的FPGA设计流程

发表时间:2008-6-30 蒋昊李哲英来源:万方数据

关键字:FPGA EDA CPU

信息化应用调查在线投稿加入收藏发表评论好文推荐打印文本

本文介绍了FPGA的完整设计流程,其中包括电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真、板级仿真与脸证、调试与加载配置等主要步珠。并通过一个8-bit RISC CPU的设计来例系统地介绍了利用多种EDA工具进行 FPGA协同设计的实现原理及方法

近年来,随着微电子学的迅速发展以及SoC(System on Chip,片上系统)技术在设计领域引起的深刻变革,

EDA(Electornic Design Automatic,电子设计自动化)工具在系统设计中的地位愈发重要。特别是20世纪90年代后,电子系统已经由电路板级发展为ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Porgrammable Gate Array,现场可编程门阵列)以及嵌人式系统等多种模式,其中FPGA设计正是当前数字系统设计领域中的重要方式之一。

本文以Altera公司的FPGA为目标器件,通过一个8-bit RISC CPU的设计实例,系统地介绍了FPGA的完整设计流程以及开发过程中用到的多种EDA工具,包括Modelsim,Synplify,QuatrusII,并重点说明如何使用这些EDA工具进行协同设计。

1FPGA的设计流程

一般来说,完整的FPGA设计流程包括电路设计与输人、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真、板级仿真与验证、调试与加载配置等主要步骤,如图1所示。电路设计与输人是指通过某些规范的描述方式,将工程师的电路构思输人给EDA工具,常用的设计方法有HDL(Hardwaer Description Language,硬件描述语言)设计输人法与原理图设计输人法。目前进行大型工程设计时,最常用的设计方法是HDL设计输人法,它利于自顶向下设计以及模块的划分与复用,可移植性和通用性好,设计不因芯片的工艺与结构的不同而变化,更利于向ASIC移植。

电路设计完成后,要用专用的仿真工具对设计进行功能仿真(FunctionalSimulation),验证电路功能是否符合设计要求。功能仿真又称前仿真(Per-Simulation)。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。综合(Synthesis)优化是指将HDL语言、原理图等设计输人翻译成由基本门、RAM、触发器等基本逻辑单元组成的逻辑网表,并根据目标与要求(约束条件)优化所生成的逻辑网表,输出标准格式的网表文件,供FPGA厂商的布局布线器进行实现。综合后仿真(Post Synthesis Simulation)的作用是检查综合出的结果与原设计是否一致。作综合后仿真时,要把综合生成的标准延时格式SDF(Standard Dela Format)文件反标注到综合仿真模型中去,可估计门延时带来的影响。综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定

差距,并不是十分准确。目前主流综合工具日益成熟,对于一般性设计,如果设计者确信自己表述明确,没有综合歧义发生,则可以省略综合后仿真步骤。综合结果的本质是一些由基本门、触发器、RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大差距,此时应该使用FPGA厂商提供的软件工具,将综合输出的逻辑网表适配到具体FPGA器件上,这个过程叫做实现(Implementation)。在实现过程中最主要的过程是布局布线(P&R),所谓布局(Place)

是指将逻辑网表中的硬件原语或底层单元合理地适配到FPGA内部的固有硬件结构上,布局的优劣对设计的最终实现结果(包括速度和面积两个方面)影响很大;所谓布线(Route)是指根据布局的拓扑结构,利用FPGA内部的各种连线资源,合理正确地连接各个元件的过程。一般情况下,用户可以通过设置参数指定布局布线的优化准则。总体来说,优化目标主要有两个方面- 面积和速度。一般根据设计的主要矛盾,选择面积或速度或平衡两者等优化目标,但是当两者冲突时,一般满足时序约束要求更重要一些,此时选择速度或时序优化目标效果更佳。将布局布线的时延信息反标注到设计网表中,所进行的仿真就叫时序仿真(Timing Simulation)或布局布线后仿真,简称后仿真。布局布线后生成的OF文件包含的时延信息最全,不仅包含门延时,还包含实际布线延时,所以布局布线后仿真最准确,能较好地反映出芯片的实际工作情况。一般来说,布局布线后仿真步骤必须进行,通过布局布线后仿真能检查设计时序与FPGA的实际运行情况是否一致,确保设计的可靠性与稳定性。

在有些高速设计情况下、还需要使用第三方的板级验证工具进行仿真与验证,这些工具通过对设计的IBIS,HSPICE 等模型的仿真,能较好地分析高速设计的信号完整性、电磁干扰等电路特性等。FPGA设计开发流程的最后步骤就是在线调试或将生成的配置文件写人芯片中进行测试。

2 EDA工具介绍

图1不仅显示了FPGA的设计流程,还给出了8-bitRISC CPU设计实例中用到的EDA工具与FPGA设计流程中每一步的对应关系。

2.1仿真工具Modelsim

目前仿真工具种类繁多,但在业界最流行、影响力最大的仿真工具还是Mentor Graphics公司的Modelsim,其主要特点是仿真速度快、仿真精度高,且图形化界面友好,具有结构、信号、波形、进程、数据流等窗口。Modelsim不仅支持VHDL和VerilogHDL的仿真,还支持VHDL和VerilogHDL混合编程的联合仿真。PC版Modelsim的仿真速度也很快,甚至和工作站版不相上下。

2.2综合工具Synplify

Synplicity公司的Synplify作为新兴的综合工具在综合策略和优化手段上有较大幅度的提高,特别是其先进的时序驱动和行为级提取综合技术B.E.S.T(Behavior Extraction SynthesisTechnology)算法引攀,使其综合结果面积小、速度快,在业界口碑很好,如果结合Synpliciyt公司的Amplify物理约束功能,对很多设计能大幅度地减少资源,优化面积达到30%以上。

2.3集成开发环境QuartusII

QuatrusII是Altera公司的第四代可编程逻辑器件集成开发环境,提供从设计输人到器件编程的全部功能。QuartusII可以产生并识别EDIF网表文件、VHDL网表文件和VerilogHDL网表文件,为其它EDA工具提供了方便的接口。

3 8-bitRISC CPU设计实例

相关文档
最新文档