《FPGA的三种EDA工具解析.docx》由会员分享,可在线阅读,更多相关《FPGA的三种EDA工具解析.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、多种EDA工具的FPGA协同设计前言 FPGGA在电电子市场场上占有有举足轻轻重的地地位。现现在的问问题是:现在市市场在FFPGAA开发方方面的EEDA工工具令人人眼花缭缭乱,各各自侧重重点不同同,性能能也不一一样,我我们应该该如何选选择?为为了加速速FPGGA的开开发,选选择并协协调好各各种EDDA工具具显得非非常重要要,本文文将探讨讨上述问问题并给给出一种种解决方方案。本本文以AAlteera公公司的FFPGAA为目标标器件,通过开开发实例例介绍FFPGAA开发的的完整的的流程及及开发过过程中使使用到的的开发工工具,包包括QuuarttusIII、FPGGA CComppileerIII、
2、Moddelssim,并重点点解说如如何使用用这三个个工具进进行协同同设计。 二、FPPGA的的开发流流程及实实例 FPGGA的开开发分为为设计输输入、功功能仿真真、设计计综合、前仿真真、布局局布线、时序仿仿真、时时序分析析和编程程下载几几个步骤骤。设计计流程如如图1所示。 我们的的开发实实例是“带顺序序选择和和奇偶检检验的串串并数据据转换接接口”。接口口电路可可以实现现数据的的串并转转换,并并根据控控制信号号确定输输出的并并行数据据的顺序序,以及及输出奇奇偶检验验位。开开发实例例是用来来说明FFPGAA的开发发流程和和各种EEDA工工具的协协同设计计,因此此这里的的描述重重点并在在设计本本身
3、。开开发实例例使用的的目标器器件是AAlteera公公司FLLEX110KEE系列的的EPFF10KK30EETC1114-1;开开发软件件有QuuarttusIII2.0、FPGGA CComppileerIII 3.6和Moddelssim55.6SSE。 Quaartuus III是Altteraa公司的的第四代代可编程程逻辑器器件集成成开发环环境,提提供从设设计输入入到器件件编程的的全部功功能。 Quaartuus III可以以产生并并识别EEDIFF网表文件件、VHDDL网表表文件和和Verriloog HHDL网网表文件件,为其其它EDDA工具具提供了了方便的的接口;可以在在Qua
4、artuus III集成成环境中中自动运运行其它它EDAA工具。 Meentoor GGrapphiccs公司司的Moodellsimm是业界界较好的的仿真工工具,其其仿真功功能强大大,且图图形化界界面友好好,而且且具有结结构、信信号、波波形、进进程、数数据流等等窗口。FPGGA CComppileer III是一一个完善善的FPPGA逻逻辑分析析、综合合和优化化工具,它从HHDL形形式未优优化的网网表中产产生优化化的网表表文件,包括分分析、综综合和优优化三个个步骤。如果设设计的硬硬件系统统不是很很大,对对综合和和仿真的的要求不不是很高高,我们们完全可可以在QQuarrtuss III中完成成
5、设计。实际上上,这个个开发实实例完全全可以在在Quaartuus III这个个集成的的开发环环境中完完成。下下面,我我先介绍绍一下如如何在QQuarrtuss III中完成成设计,然后再再介绍如如何利用用Quaartuus III提供供的第三三方EDDA工具具的接口口与其它它EDAA工具(包括综综合工具具FPGGA CComppileer III和仿仿真工具具ModdelSSim55.6SSE)完完成协同同设计。 1. 基于Quuarttus II的的FPGGA的开开发 利用Quuarttus II软软件的开开发流程程可概括括为以下下几步:设计输输入、设设计编译译、设计计时序分分析、设设计仿真
6、真和器件件编程。 (1)设计计输入 Quaartuus III软件件在Fiile菜菜单中提提供“NNew Proojecct WWizaard.”向导,引导设设计者完完成项目目的创建建。当设设计者需需要向项项目中添添加新的的VHDDL文件件时,可可以通过过“Neew”选选项选择择添加。在这里里我们创创建项目目“s_to_p”,编写“s_tto_pp.vhhd文件件”,并将将文件添添加到项项目中。 (2)设计计编译 Quaartuus III编译译器完成成的功能能有:检检查设计计错误、对逻辑辑进行综综合、提提取定时时信息、在指定定的Allterra系列列器件中中进行适适配分割割,产生生的输出出文
7、件将将用于设设计仿真真、定时时分析及及器件编编程。 首先确确定软件件处于CComppilee Moode,可以通通过Prroceessiing菜菜单进行行选择。 在Proocesssinng菜单单中选择择Commpiller Setttinngs项。在这里里可以进进行器件件选择、模式设设定、综综合和适适配选项项设定及及设计验验证等。我们选选择FLLEX110KEE系列型型号为EEPF110K330ETTC1114-11的器件件,并选选择在编编译后进进行时序序分析。 单击Prroceessiing菜菜单下的的“Sttartt Coompiilattionn”项,开始编编译过程程。 查看编编译结果
8、果。编译译结果以以树状结结构组织织在Coompiilattionn Reeporrt中,包含项项目的设设置信息息,以及及编译设设置、编编译效果果等信息息,同时时也包含含了静态态时序信信息。 (3)设计计定时分分析 单击Prrojeect菜菜单下的的“Tiiminng SSetttinggs.”选选项,可可以方便便地完成成时间参参数的设设定。QQuarrtuss III软件的的时序分分析功能能在编译译过程结结束之后后自动运运行,并并在编译译报告的的Timmingg Annalyysess文件夹夹中显示示。其中中我们可可以得到到最高频频率fmmax、输入寄寄存器的的建立时时间tssu、输输出寄存存
9、器时钟钟到输出出的延迟迟tcoo和输入入保持时时间thh等时间间参数的的详细报报告,从从中可以以清楚地地判定是是否达到到系统的的时序要要求。本本设计实实例电路路的fmmax可可达到1192.31MMHz。(4)设设计仿真真 Quaartuus III软件件允许设设计者使使用基于于文本的的向量文文件(.veec)作作为仿真真器的激激励,也也可以在在Quaartuus III软件件的波形形编辑器器中产生生向量波波形文件件(.vwff)作为为仿真器器的激励励。通过过Quaartuus III的波波形编辑辑器,我我们编辑辑波形文文件“ss_too_p.vwff”用于于仿真。接着,在Prroceessi
10、ing菜菜单下选选择“SSimuulatte MModee”选项项进入仿仿真模式式,选择择“Siimullatoor SSetttinggs.”对对话框进进行仿真真设置。在这里里可以选选择激励励文件、仿真模模式(功功能仿真真或时序序仿真)等,我我们选择择时序仿仿真,单单击“RRun Simmulaatorr”即开开始仿真真过程。完成仿仿真后,我们可可以通过过时序仿仿真得到到的波形形判断系系统设计计是否达达到要求求。 (5)器件件编程设设计者可可以将配配置数据据通过MMastterBBlassterr或BytteBllastterMMV通信信电缆下下载到器器件当中中,通过过被动串串行(PPass
11、sivee Seeriaal)配配置模式式或JTTAG模模式对器器件进行行配置编编程,还还可以在在JTAAG模式式下给多多个器件件进行编编程。利利用Quuarttus II软软件给器器件编程程或配置置时,首首先需要要打开编编程器(在Neew菜单单选项中中选择打打开Chhainn Deescrripttionn Fiile),在编编程器中中可以进进行编程程模式设设置(MModee下拉框框)、硬硬件配置置(Prrogrrammmingg Haardwwaree对话框框)及编编程文件件选择(Addd Fiile.按按钮),将以上上配置存存盘产生生.cddf文件件,其中中存储了了器件的的名称、器件的的
12、设计及及硬件设设置等编编程信息息。当以以上过程程正确无无误后,单击SStarrt按钮钮即可开开始对器器件进行行编程配配置。这这里我们们需要根根据外围围硬件电电路设计计的情况况进行选选择。 2.多多种EDDA工具具协同设设计 在FPGGA设计计的各个个环节都都有不同同公司提提供不同同的EDDA工具具。每个个EDAA工具都都有自己己的特点点。一般般情况,由FPPGA厂厂商提供供的集成成开发环环境,如如Quaartuus III,在在设计综综合和设设计仿真真环节都都不是非非常优秀秀,因此此一般都都会提供供第三方方EDAA工具的的接口,让用户户更方便便地利用用其它EEDA工工具。在在这方面面,作为为E
13、DAA集成开开发环境境的Quuarttus II做做得很好好,不仅仅可以产产生并识识别EDDIF网网表文件件、VHHDL网网表文件件和Veerillog HDLL网表文文件,为为其它EEDA工工具提供供了方便便的接口口,而且且可以在在Quaartuus III集成成环境中中自动运运行其它它EDAA工具。在FPGGA的开开发中,如果选选用Allterra公司司器件的的话,QQuarrtuss III+FPPGA Commpiller II+Moddelssim的的工具组组合是非非常理想想的选择择。如图图2所示,使用这这三个EEDA工工具对实实例进行行协同设设计的流流程。下下面,我我们将详详细介绍
14、绍这三个个工具的的协同设设计。 (1)设计计输入和和综合 在FPGGA CComppileer III中编编辑“ss_too_p.vhdd”设计计文件,并进行行逻辑分分析、综综合和优优化。使使用FPPGA Commpiller II综综合时,我们能能够设置置综合的的各种约约束条件件及优化化重点,并选择择不同厂厂家的器器件。在在设计中中,我们们使用FFilee菜单中中的“DDesiign Wizzardd”,创创建项目目,添加加“s_to_p.vvhd”设计文文件,并并选择AAlteera公公司FLLEX110KEE系列型型号为EEPF110K330ETTC1114-11的器件件为目标标器件,在
15、设置置完成后后,软件件将自动动开始综综合和优优化。综综合、优优化后,我们可可以查看看结果和和综合所所得到的的原理图图,看看看是否能能满足要要求。接接着,在在Synntheesiss菜单中中选择“Expportt Neetliist.”打开导导出网表表的对话话框。在在这里,可以设设置和导导出用于于布局布布线和前前仿真的的网表。在项目目对应的的文件夹夹中,“s_tto_pp.eddf”是是用于QQuarrtuss III布局布布线的,而“ss_too_p.vhdd”(注注意:这这个文件件和源文文件具有有相同的的名字)则用于于Moddelssim前前仿真的的。 (2)功能能仿真和和前仿真真 使用Mo
16、odellsimm来进行行功能仿仿真和前前仿真。在Moodellsimm进行功功能仿真真和前仿仿真的操操作一摸摸一样,只是输输入的源源程序不不同罢了了。首先先,我们们要创建建项目,选择对对应的工工作库,并将源源文件加加入到项项目中。接着选选择Coompiile菜菜单中的的“Coompiile.”对源文文件进行行编译,并编写写测试台台(可以以是Maacroo文件,也可以以是TeestBBencch)。最后,选择SSimuulatte菜单单中的“Simmulaate.”,在“SSimuulatte”对对话框中中选择仿仿真需要要实体,采用对对应的测测试台进进行仿真真,验证证系统的的逻辑功功能及综综合
17、后的的逻辑功功能的正正确性。 (3)布局局布线和和时序分分析 如果仿仿真结果果没有问问题,接接下来的的工作就就是布局局布线。在布局局布线之之前,先先对Quuarttus II的的设计环环境进行行设置。在Prrojeect菜菜单中选选择“EEDA Toool SSetttingg.”,打打开EDDA工具具设置对对话框。在这里里,我们们能选择择设计输输入和综综合工具具,仿真真工具,时序分分析工具具和版图图级工具具。现在在,我们们关心的的是设计计输入和和综合工工具还有有仿真工工具,分分别在对对应的列列表框中中选择FFPGAA Coompiilerr III和Moddelssim。注意仿仿真工具具还要
18、确确定输出出语言。布局布布线的输输入源文文件是经经FPGGA CComppileer III综合合、优化化的输出出文件。在这里里,FPPGA Commpiller II 的输出出文件“s_tto_pp.eddf”即即是Quuarttus II布布局布线线的输入入文件。对这个个文件进行行编译和和时序分分析,就就可以得得到布局局布线后后的用于于时序仿仿真和编编程下载载的文件件。观察察编译结结果,发发现时序序分析中中fmaax为2044.088MHzz,就这这个指标标而言,采用FFPGAA Coompiilerr III综合、优化显显然比采采用Quuarttus II综综合的效效果要好好。编译译输出
19、的的文件中中有几个个是下面面步骤要要用到的的:一个个是时序序仿真文文件,软软件将这这些文件件都存于于项目文文件夹下下面的“Simmulaatioon”文文件夹中中,包括描描述电路路的逻辑辑结构的的网表文文件“ss_too_p.vhoo”和对对应的延延时标准准格式文文件“ss_too_p_vhdd.sddo”;另一个个是编程程下载文文件,包包括不同同格式的的“s_to_p.ssof”和“s_to_p.ppof”。 (4)时序序仿真 进行时时序仿真真前,我我们要确确定已经经获得针针对特定定FPGGA输出出网表文文件,对对应延时时标准格格式文件件,以及及厂家提提供的与与特定FFPGAA对应的的库文件
20、件。其中中网表文文件和标标准延时时格式文文件是布布局布线线时产生生的文件件,而库库文件则则是由厂厂商提供供,在QQuarrtuss III软件的的安装目目录中可可以找到到。本设设计中,网表文文件时“s_tto_pp.vhho”,延时标标准格式式文件是是“s_to_p_vvhd.sdoo”,并并由于选选用Allterra公司司FLEEX100KE系系列的EEPF110K330ETTC1114-11为目标标器件,所以库库文件是是“FLLEX110KEE_ATTOMSS.VHHD”和和“FLLEX110KEE_COOMPOONENNTS.VHDD”。确定输输入文件件后,我我们就能能利用MModeel
21、siim进行行时序仿仿真。 首先,建立项项目,将将上述文文件添加加到项目目中去,并在“worrk”库库中新建建 “fflexx10kke” 库。接着着,打开开“Coompiile”对话框框,先在在“fllex110kee” 库库中编译译文件“fleex100ke _attomss.vhhd”和和“fllex110kee _ccomppomnnetss.vhhd”,再在“worrk”库库中编译译文件“s_tto_pp.vhho”(注意一一定要弄弄清楚编编译次序序)。编编译完成成之后,我们就就可以进进行仿真真了。时时序仿真真与功能能仿真和和前仿真真不同的的是时序序仿真需需要加入入延时标标准格式式文
22、件。打开“Simmulaate”对话框框,选择择要仿真真的实体体“s_to_p”,并在选选择SDDF标签签,加入入延时标标准格式式文件是是“s_to_p_vvhd.sdoo”。其其它的操操作和功功能仿真真和前仿仿真相同同。从时时序仿真真的结果果,我们们可以进进行最接接近硬件件的一次次设计验验证。 (5)编程程下载 利用集集成开发发环境QQuarrtuss III中的编编程工具具,根据据外围硬硬件电路路的情况况,设置置编程模模式,我我们能很很方便地地完成编编程下载载工作,在硬件件上对设设计进行行验证。 三、结结论 在实际际的FPPGA的的开发中中,选用用Quaartuus III+FFPGAA
23、Coompiilerr III+Moodellsimm的EDAA工具组组合能很很好地规规划设计计流程,充分利利用各EEDA工工具的优优点,提提高开发发效率。参参考文献献 1 石石俊斌,林辉.在PLDD开发中中提高VVHDLL的综合合质量,单片机机与嵌入入式系统统应用,20003年,第4期 2 孙孙富明,李笑盈盈.基于多多种EDDA工具具的FPPGA设设计,电电子技术术应用,20002年1月,第第1期 3 林林敏,方方颖立.VHDDL数字字系统设设计与高高层综合合. 北京京,电子子工业出出版社,20002年1月,12261 4 AAlteera Corrporratiion,“QuuarttusIII HHelpp Veersiion 2.00”. 5 MModeel TTechhnollogyy Inncorrporrateed,“MoodellSimm SEE Ussers MManuual Verrsioon 55.6” 6 SSynoopsyys IIncoorpooratted,“FPPGA Commpiller II/FPGGA EExprresss VHHDL Reffereencee Maanuaal VVerssionn 19999,05”
限制150内