当前位置:首页 > 工业控制 > 电子设计自动化
[导读]现在的问题是:现在市场在FPGA开发方面的EDA工具令人眼花缭乱,各自侧重点不同,性能也不一样,我们应该如何选择?为了加速FPGA的开发,选择并协调好各种EDA工具显得非常重要,本文将探讨上述问题并给出一种解决方案。

一、前言

FPGA在电子市场上占有举足轻重的地位。现在的问题是:现在市场在FPGA开发方面的EDA工具令人眼花缭乱,各自侧重点不同,性能也不一样,我们应该如何选择?为了加速FPGA的开发,选择并协调好各种EDA工具显得非常重要,本文将探讨上述问题并给出一种解决方案。本文以Altera公司的FPGA为目标器件,通过开发实例介绍FPGA开发的完整的流程及开发过程中使用到的开发工具,包括QuartusII、FPGA CompilerII、Modelsim,并重点解说如何使用这三个工具进行协同设计。

二、FPGA的开发流程及实例

FPGA的开发分为设计输入、功能仿真、设计综合、前仿真、布局布线、时序仿真、时序分析和编程下载几个步骤。设计流程如图1所示。

我们的开发实例是“带顺序选择和奇偶检验的串并数据转换接口”。接口电路可以实现数据的串并转换,并根据控制信号确定输出的并行数据的顺序,以及输出奇偶检验位。开发实例是用来说明FPGA的开发流程和各种EDA工具的协同设计,因此这里的描述重点并在设计本身。开发实例使用的目标器件是Altera公司FLEX10KE系列的EPF10K30ETC114-1;开发软件有QuartusII2.0、FPGA CompilerII 3.6和Modelsim5.6SE。

Quartus II是Altera公司的第四代可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能。 Quartus II可以产生并识别EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,为其他EDA工具提供了方便的接口;可以在Quartus II集成环境中自动运行其他EDA工具。

Mentor Graphics公司的Modelsim是业界较好的仿真工具,其仿真功能强大,且图形化界面友好,而且具有结构、信号、波形、进程、数据流等窗口。

FPGA Compiler II是一个完善的FPGA逻辑分析、综合和优化工具,它从HDL形式未优化的网表中产生优化的网表文件,包括分析、综合和优化三个步骤。

如果设计的硬件系统不是很大,对综合和仿真的要求不是很高,我们完全可以在Quartus II中完成设计。实际上,这个开发实例完全可以在Quartus II这个集成的开发环境中完成。下面,我先介绍一下如何在Quartus II中完成设计,然后再介绍如何利用Quartus II提供的第三方EDA工具的接口与其他EDA工具(包括综合工具FPGA Compiler II和仿真工具ModelSim5.6SE)完成协同设计。

1. 基于Quartus II的FPGA的开发

 

利用Quartus II软件的开发流程可概括为以下几步:设计输入、设计编译、设计时序分析、设计仿真和器件编程。

(1)设计输入

Quartus II软件在File菜单中提供“New Project Wizard...”向导,引导设计者完成项目的创建。当设计者需要向项目中添加新的VHDL文件时,可以通过“New”选项选择添加。在这里我们创建项目“s_to_p”,编写“s_to_p.vhd文件”,并将文件添加到项目中。

(2)设计编译

Quartus II编译器完成的功能有:检查设计错误、对逻辑进行综合、提取定时信息、在指定的Altera系列器件中进行适配分割,产生的输出文件将用于设计仿真、定时分析及器件编程。

①首先确定软件处于Compile Mode,可以通过Processing菜单进行选择。

②在Processing菜单中选择Compiler Settings项。在这里可以进行器件选择、模式设定、综合和适配选项设定及设计验证等。我们选择FLEX10KE系列型号为EPF10K30ETC114-1的器件,并选择在编译后进行时序分析。

③单击Processing菜单下的“Start Compilation”项,开始编译过程。

④查看编译结果。编译结果以树状结构组织在Compilation Report中,包含项目的设置信息,以及编译设置、编译效果等信息,同时也包含了静态时序信息。

(3)设计定时分析

单击Project菜单下的“Timing Settings...”选项,可以方便地完成时间参数的设定。Quartus II软件的时序分析功能在编译过程结束之后自动运行,并在编译报告的Timing Analyses文件夹中显示。其中我们可以得到最高频率fmax、输入寄存器的建立时间tsu、输出寄存器时钟到输出的延迟tco和输入保持时间th等时间参数的详细报告,从中可以清楚地判定是否达到系统的时序要求。本设计实例电路的fmax可达到192.31MHz。

(4)设计仿真

Quartus II软件允许设计者使用基于文本的向量文件(.vec)作为仿真器的激励,也可以在Quartus II软件的波形编辑器中产生向量波形文件(.vwf)作为仿真器的激励。通过Quartus II的波形编辑器,我们编辑波形文件“s_to_p.vwf”用于仿真。接着,在Processing菜单下选择“Simulate Mode”选项进入仿真模式,选择“Simulator Settings...”对话框进行仿真设置。在这里可以选择激励文件、仿真模式(功能仿真或时序仿真)等,我们选择时序仿真,单击“Run Simulator”即开始仿真过程。完成仿真后,我们可以通过时序仿真得到的波形判断系统设计是否达到要求。

(5)器件编程

设计者可以将配置数据通过MasterBlaster或ByteBlasterMV通信电缆下载到器件当中,通过被动串行(Passive Serial)配置模式或JTAG模式对器件进行配置编程,还可以在JTAG模式下给多个器件进行编程。利用Quartus II软件给器件编程或配置时,首先需要打开编程器(在New菜单选项中选择打开Chain Description File),在编程器中可以进行编程模式设置(Mode下拉框)、硬件配置(Programming Hardware对话框)及编程文件选择(Add File...按钮),将以上配置存盘产生.cdf文件,其中存储了器件的名称、器件的设计及硬件设置等编程信息。当以上过程正确无误后,单击Start按钮即可开始对器件进行编程配置。这里我们需要根据外围硬件电路设计的情况进行选择。

2.多种EDA工具协同设计

在FPGA设计的各个环节都有不同公司提供不同的EDA工具。每个EDA工具都有自己的特点。一般情况,由FPGA厂商提供的集成开发环境,如Quartus II,在设计综合和设计仿真环节都不是非常优秀,因此一般都会提供第三方EDA工具的接口,让用户更方便地利用其他EDA工具。在这方面,作为EDA集成开发环境的Quartus II做得很好,不仅可以产生并识别EDIF网表文件、VHDL网表文件和Verilog HDL网表文件,为其他EDA工具提供了方便的接口,而且可以在Quartus II集成环境中自动运行其他EDA工具。

在FPGA的开发中,如果选用Altera公司器件的话,Quartus II+FPGA Compiler II+Modelsim的工具组合是非常理想的选择。如图2所示,使用这三个EDA工具对实例进行协同设计的流程。下面,我们将详细介绍这三个工具的协同设计。

(1)设计输入和综合

在FPGA Compiler II中编辑“s_to_p.vhd”设计文件,并进行逻辑分析、综合和优化。使用FPGA Compiler II综合时,我们能够设置综合的各种约束条件及优化重点,并选择不同厂家的器件。在设计中,我们使用File菜单中的“Design Wizard”,创建项目,添加“s_to_p.vhd”设计文件,并选择Altera公司FLEX10KE系列型号为EPF10K30ETC114-1的器件为目标器件,在设置完成后,软件将自动开始综合和优化。综合、优化后,我们可以查看结果和综合所得到的原理图,看看是否能满足要求。接着,在Synthesis菜单中选择“Export Netlist...”打开导出网表的对话框。在这里,可以设置和导出用于布局布线和前仿真的网表。在项目对应的文件夹中,“s_to_p.edf”是用于Quartus II布局布线的,而“s_to_p.vhd”(注意:这个文件和源文件具有相同的名字)则用于Modelsim前仿真的。

(2)功能仿真和前仿真

使用Modelsim来进行功能仿真和前仿真。在Modelsim进行功能仿真和前仿真的操作一摸一样,只是输入的源程序不同罢了。首先,我们要创建项目,选择对应的工作库,并将源文件加入到项目中。接着选择Compile菜单中的“Compile...”对源文件进行编译,并编写测试台(可以是Macro文件,也可以是TestBench)。最后,选择Simulate菜单中的“Simulate...”,在“Simulate”对话框中选择仿真需要实体,采用对应的测试台进行仿真,验证系统的逻辑功能及综合后的逻辑功能的正确性。

(3)布局布线和时序分析

如果仿真结果没有问题,接下来的工作就是布局布线。在布局布线之前,先对Quartus II的设计环境进行设置。在Project菜单中选择“EDA Tool Setting...”,打开EDA工具设置对话框。在这里,我们能选择设计输入和综合工具,仿真工具,时序分析工具和版图级工具。现在,我们关心的是设计输入和综合工具还有仿真工具,分别在对应的列表框中选择FPGA Compiler II和Modelsim。注意仿真工具还要确定输出语言。布局布线的输入源文件是经FPGA Compiler II综合、优化的输出文件。在这里,FPGA Compiler II 的输出文件“s_to_p.edf”即是Quartus II布局布线的输入文件。对这个文件进行编译和时序分析,就可以得到布局布线后的用于时序仿真和编程下载的文件。观察编译结果,发现时序分析中fmax为204.08MHz,就这个指标而言,采用FPGA Compiler II综合、优化显然比采用Quartus II综合的效果要好。编译输出的文件中有几个是下面步骤要用到的:一个是时序仿真文件,软件将这些文件都存于项目文件夹下面的“Simulation”文件夹中,包括描述电路的逻辑结构的网表文件“s_to_p.vho”和对应的延时标准格式文件“s_to_p_vhd.sdo”;另一个是编程下载文件,包括不同格式的“s_to_p.sof”和“s_to_p.pof”。

(4)时序仿真

进行时序仿真前,我们要确定已经获得针对特定FPGA输出网表文件,对应延时标准格式文件,以及厂家提供的与特定FPGA对应的库文件。其中网表文件和标准延时格式文件是布局布线时产生的文件,而库文件则是由厂商提供,在Quartus II软件的安装目录中可以找到。本设计中,网表文件时“s_to_p.vho”,延时标准格式文件是“s_to_p_vhd.sdo”,并由于选用Altera公司FLEX10KE系列的EPF10K30ETC114-1为目标器件,所以库文件是“FLEX10KE_ATOMS.VHD”和“FLEX10KE_COMPONENTS.VHD”。 确定输入文件后,我们就能利用Modelsim进行时序仿真。

首先,建立项目,将上述文件添加到项目中去,并在“work”库中新建 “flex10ke” 库。

接着,打开“Compile”对话框,先在“flex10ke” 库中编译文件“flex10ke _atoms.vhd”和“flex10ke _compomnets.vhd”,再在“work”库中编译文件“s_to_p.vho”(注意一定要弄清楚编译次序)。

编译完成之后,我们就可以进行仿真了。时序仿真与功能仿真和前仿真不同的是时序仿真需要加入延时标准格式文件。打开“Simulate”对话框,选择要仿真的实体“s_to_p”,并在选择SDF标签,加入延时标准格式文件是“s_to_p_vhd.sdo”。其他的操作和功能仿真和前仿真相同。从时序仿真的结果,我们可以进行最接近硬件的一次设计验证。

(5)编程下载

利用集成开发环境Quartus II中的编程工具,根据外围硬件电路的情况,设置编程模式,我们能很方便地完成编程下载工作,在硬件上对设计进行验证。

三、结论

在实际的FPGA的开发中,选用Quartus II+FPGA Compiler II+Modelsim的EDA工具组合能很好地规划设计流程,充分利用各EDA工具的优点,提高开发效率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

香港“生产力局 · 中小企支援”4月30日公布2024年度第二季“渣打香港中小企领先营商指数”(“渣打中小企指数”)调查结果,本季综合营商指数较上季回升3.6至47.3,反弹至2023年第四季的水平(47.6)。

关键字: 营商

与安卓系统相比,鸿蒙系统具有卓越的性能,不仅可以应对各种各样的设备,而且在多设备播放和物联网方面也有很强的优势。

关键字: 鸿蒙系统 智慧时代 安卓系统

在电力电子与电气工程领域,逆变器和变压器都是不可或缺的重要设备。尽管它们都在电力转换和传输过程中发挥着关键作用,但它们在功能、工作原理和应用场景等方面存在着显著的差异。本文将从科技视角出发,对逆变器和变压器的区别进行深度...

关键字: 逆变器 变压器

电动机作为现代工业与生活的重要动力源,广泛应用于各个领域。然而,在电动机的运行过程中,电容烧毁的问题时常发生,给生产和生活带来诸多不便。那么,电动机为何偏爱“烧电容”呢?本文将从电容的作用、烧毁原因以及预防措施等方面进行...

关键字: 电动机 电容

在日新月异的工业技术领域,变频器作为一种电力电子装置,已逐渐成为驱动设备、节能降耗的不可或缺的关键设备。AMB100变频器作为其中的佼佼者,凭借其出色的性能、广泛的应用领域以及高效的节能效果,为现代工业生产提供了强大的动...

关键字: amb100变频器 变频器

光伏发电作为本世纪最具有潜力的可再生能源技术之一,其清洁、环保、可再生的特性受到广泛关注。然而,任何一项技术都不是完美的,光伏发电同样存在一些明显的缺点和挑战,这些问题限制了其大规模应用和商业化推广。本文旨在深入探讨光伏...

关键字: 光伏发电 光电效应

在电源管理领域,低压差线性稳压器(LDO)因其结构简单、稳定性好、噪声低等特点而得到广泛应用。随着电子设备对电源性能要求的不断提高,片外电容的LDO设计逐渐成为研究的热点。其中,功率管作为LDO的核心部件,其设计尤为重要...

关键字: ldo 有片外电容 低压差线性稳压器

磁铁,作为一种能够吸引铁、镍、钴等金属的特殊物体,自古以来就引起了人们的极大兴趣。在现代科技中,磁铁的应用更是无处不在,从电动机、发电机到核磁共振成像设备,无不体现了磁铁的神奇力量。那么,磁铁与磁铁之间是如何相互作用的呢...

关键字: 磁铁 磁场

随着可再生能源技术的不断发展和应用,逆变器作为能源转换和储存的核心设备,其在电力系统中的作用日益凸显。根据储能类型的不同,逆变器可以分为电化学储能逆变器和机械储能逆变器两大类。这两类逆变器在结构、原理和应用场景等方面存在...

关键字: 逆变器 可再生能源

随着全球能源结构的深刻变革,可再生能源的推广和应用已成为当今世界的发展趋势。在这一大背景下,逆变器作为连接可再生能源发电设备和电网的关键设备,其重要性日益凸显。本文旨在探讨逆变器的发展背景,分析当前市场现状,并展望其未来...

关键字: 逆变器 可再生能源
关闭
关闭