微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 内嵌ARM9E内核系统级芯片的原型验证方法

内嵌ARM9E内核系统级芯片的原型验证方法

时间:03-15 来源:互联网 点击:

随着大容量高速度的FPGA的出现,在流片前建立一个高性价比的原型验证系统已经成为缩短系统级芯片(SoC)验证时间,提高首次流片成功率的重要方法。本文着重讨论了用FPGA建立原型进行验证的流程、优缺点以及常用方法,并结合对一款内嵌ARM9E SoC 所进行的原型验证,说明这一方法在SoC验证中的应用。

:SoC,验证,ARM9,FPGA,快速原型,软/硬件协同验证

1 引言

目前系统级芯片(SoC)规模飞速增长,嵌入式软件也日趋复杂,但是仿真软件的发展却相对滞后,设计团队已经意识到软件仿真的局限性,这种仿真不仅很难提供系统仿真所需要的仿真性能,而且非常耗时。随着大容量高速度的FPGA的出现,建立一个高性价比的原型验证系统要比其他的方法更加便宜和快速。

2 SoC原型验证的基本流程和优缺点分析

对于SoC设计的流程,每个公司都不尽相同,大的芯片公司都形成了自己特有的成熟的流程与方法。而对于加入原型验证之后的SoC设计基本流程如图1所示。在本文提到的一款内嵌ARM9E用于移动对讲通信的SoC开发中,采用的就是如图1所示的流程。在定义完软、硬件接口,明确软、硬件之间的通信协议后,就可以开始进行SoC的软、硬件设计了。如果采用全定制的FPGA原型,此时原型可以同软、硬件一起并行开发,因为全定制的原型开发也需要相当长的时间,如果在软、硬件设计完成之后再设计原型,那么不但不会加速设计过程,反而会延长设计周期。

FPGA在密度、速度方面和ASIC的相似性使得基于FPGA的原型运行速度接近于现实速度,不仅可以大幅度提高系统仿真速度,而且还可以使我们尽早地来测试SoC的应用软件,从而达到节省整个SoC开发时间的目的。此外,由于FPGA可配置,所以原型还可以重复使用,是一个性价比很高的验证方法。但是,随着SoC的快速发展,FPGA原型验证SoC的方法也存在着很多需要解决的问题。

主要的问题可以分为两大类,第一类问题是ASIC和FPGA的结构不同,我们必须把ASIC风格的代码移植到FPGA上。ASIC设计者可以使用支持不同语言结构的综合工具,但是FPGA的综合工具不一定支持不同的语言结构,比如说VHDL中的generic语句用来使设计保持可配置,而FPGA综合工具有可能会把generic语句替换为常数。另外,ASIC中有些模块是全定制的而并非可综合的代码,比如说存储器模块,而FPGA只能接受门级网表,这样的定制模块就只能用模型仿真,从而降低模拟速度。还有,ASIC设计中为了降低功耗经常使用门控时钟(gated clock),但是在FPGA中却不允许,需要用Synplicity CerTIfy工具将门控时钟转为相应的FPGA设计。

第二类问题在于FPGA的资源有限,主要体现在容量、时钟资源和I/O资源的有限上。业界有条规律,FPGA的等效门除以八才是FPGA上能实现的ASIC的门数,比如说一个200万门的Virtex II XC2V2000只能装下大约25万门的ASIC设计。这条规律是设计师应该心中有数的,笔者在设计FPGA原型的初期就由于在这个问题上面的忽视而导致了后期容量不够更改设计的问题。图2给出了业界估计的ASIC和FPGA工艺所能实现的等效门数,我们可以看出,未来设计者将不得不面对ASIC和FPGA之间的容量鸿沟。由于FPGA的资源不够,而目前SoC的规模又很大,要实现原型我们必须把系统划分到多片FPGA中去,这就带来了布线困难以及FPGA I/O紧张的问题,因为SoC的系统总线一旦暴露出来,就会使用FPGA数以千计的I/O,而目前最先进的FPGA也仅仅能提供一千多个I/O,步线困难又会引出原型可靠性的问题。目前解决的方法是采用管脚复用和用Synplify Certify对系统进行最优分割。FPGA厂商也通过集成专用的乘法器,片上RAM来改善FPGA资源紧张的问题。

3 SoC原型验证的常用方法

设计者有很多种方法可以建立起SoC原型,但是每种方法都有其优缺点及适用范围,所以设计者会从相关芯片和公司资源的实际情况出发,决定出性价比最高的方案。流行的方法有以下三种:

3.1 全定制的SoC原型。

设计者依据SoC的设计规范,在印刷电路板(PCB)上实现SoC的原型系统。全定制的SoC原型系统在很长一段时间内,是唯一的建立原型的方法,它容易使用,直观而且可以运行于一个比较高的频率,适用于小规模SoC。

3.2 通过SoC原型代工公司建立原型。

从2000年开始,硅谷出现了这种SoC原型代工的公司,这些公司以其专业性和快速的SoC原型设计时间使得很多芯片大公司成为他们的客户,但是这种方法也意味着昂贵、不可重用和不可控。

3.3 使用专业的SoC原型开发套件。

这是目前开发大规模复杂SoC原型的流行方法。由第三方公司提供功能强大、可重用的FPGA硬件平台、设计流程和相

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top