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

发布者:rockstar7最新更新时间:2012-11-13 来源: 21ic 关键字:ARM9E  内核系统  原型验证 手机看文章 扫描二维码
随时随地手机看文章

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硬件平台、设计流程和相应的PC端应用程序,设计者可以用开发套件尽可能相似地实现SoC的原型。在这一市场有四种主要的产品,分别是ARM集成板(integrator)、APTIX MP3/MP4、Logic Express SoC-V20和FlexBench。[page]

4  一款内嵌ARM9E SoC原型验证实例
  笔者参与了清华大学与意法半导体合作开发民用对讲机(Digital Walkie-Talkie,简称DWT)芯片的项目,主要负责DWT SoC的原型验证。这款芯片用于409MHz免费频段的无线对讲通信,具体频段为409.750MHz到410MHz一段,分20个信道,信道间隔12.5kHz。这款芯片的设计思想是将处理器、各种外设、语音ADC/DAC以及射频电路全部集成到一块芯片中去,是一款典型的基于ARM的数模混和SoC。
 
  我们选用了ARM946E-S处理器,它兼容DSP指令,使用0.13 m工艺的ARM946E-S最高可以运行于210MHz。由于其具有较强的运算能力,所以在软硬件划分的时候我们将这个系统的算法都用软件来实现,而协议由硬件来实现。模拟部分主要是音频和射频两个ADDA和24M与397.875M两个混频器。系统中基于AMBA的外设主要有DMA控制器、矢量中断控制器(VIC)、多端口存储控制器(MPMC)、实时时钟(RTC)、同步外设接口(SPI)、通用I/O(GPIO)和功耗管理单元(PMU)等。

   在系统软硬件划分完毕后,就可以考虑采用何种方法建立此SoC的原型了。从芯片实际的情况出发,由于算法均由软件实现,所以相应的硬件开销较小,数字部分除了ARM9E处理器外,均为基于AMBA总线的外设,没有非常复杂的数字模块。而且SoC中的大部分外设都采用的ARM提供的IP,我们可以事先获得这些外设的ASIC门数资料,然后再留有冗余地估计出自己开发的模块的ASIC门数,最后得到的结果是在0.13 m工艺下大概数字部分总共20万门的规模(除去处理器 ),这完全可以用一块FPGA装下整个设计。意法半导体可以给我们提供ARM946E-S的测试片,所以从成本等多方面衡量,笔者放弃了用ARM integrator的想法,而是用全定制的方法建立SoC原型。

  DWT SoC FPGA原型的框图,因为是数模混和的SoC,所以很难做到原型与SoC完全一致,笔者在设计中尽可能做到两者的最大相似。 在原型板上模拟部分的音频ADC和DAC由TI的一片Codec芯片代替,而射频部分则另外设计一块射频板,在原型板上只留与射频部分的接口。基于AMBA的外设全都放入一块200万门的Virtex II XC2V2000的FPGA中,AHB总线暴露在板上与ARM946E-S相连。无线对讲系统对实时性要求很高,由于只有一片FPGA,所以系统可以运行于一个比较高的频率上,我们可以验证系统的实时性能。板上的模拟模块均有开关控制,可以随时从系统中断开,而且FPGA可以同PC通过串口通信,所以整个原型系统不仅可以通过实际器件获得输入激励,还可以通过计算机输入激励获得结果进行比较,所以具有较好的可控性和可观测性。在选择FPGA的时候应注意FPGA提供的时钟引脚数目和存储单元容量一定要满足系统要求,在设计原型的时候应该将FPGA多数的I /O引到测试针脚上,以方便设计者使用逻辑分析仪进行信号的实时采集和分析,也可以让信号发生器产生一些特定的信号以供系统调试使用。

  在这个FPGA原型板上笔者进行了模块功能验证和系统功能验证。对于DWT SoC中的各个模块,在进行原型验证前已经在工作站上通过了模块功能验证,模块功能验证程序是由ARM提供的APTEST系列的C程序,平台是RTL和行为级的混和,仿真结果通过自己编写Tube debugging displayer进行监控,这一过程非常耗时。笔者在FPGA原型板上使用了相同的APTEST的C程序,仿真结果通过ARM AXD Debugger CONsole进行监控。仿真速度上FPGA比工作站上的仿真快了3个数量级,在此种验证中我们发现了很少量的bug,说明在工作站上面跑的模块功能验证较为成功。

  在FPGA原型板上进行系统功能验证才是进行原型验证真正的意义所在,由于硬件的可观测性较差,系统功能出错却很难找到问题所在,所以笔者编写了PC端的程序,其目的是产生每个系统功能程序所需要的激励样本,将其通过UART送入FPGA,并将取到的结果与期望样本进行比较。不过这种方法只能验证基带部分,基带部分接口的速率较低,可以通过UART与计算机实时通信,笔者通过此种方法成功地验证了数字基带部分的功能和实时性。对于系统全功能验证,是通过连接射频板进行的,在验证完基带部分后,用原型板与射频板的结合,实现整个系统原型。在笔者对DWT SoC进行的原型验证过程中,发现了一些严重的在工作站仿真时却没有发现的RTL bug。

五  小结
  用FPGA建立SoC原型进行验证是一种高性价比的SoC验证方法,基于原型的速度接近于现实速度,可以使我们找出其他验证方法找不出的错误。软件仿真之后建立SoC的原型进行验证已经成为绝大部分芯片公司采用的方法,没有经过原型验证的SoC,会被认为是没有经过充分验证的SoC。

关键字:ARM9E  内核系统  原型验证 引用地址:内嵌ARM9E内核系统级芯片的原型验证方法

上一篇:ARM工作模式和BOOTLOADER -2410
下一篇:高速数据采集系统在基于ARM动态称重系统中的应用

推荐阅读最新更新时间:2024-03-16 13:13

谷歌第三款移动操作系统Fuchsia放弃Linux内核
腾讯科技讯 据外媒报道,谷歌(微博)从来都没有想过凭借一款产品征战市场,它显然不满足于Android和Chrome OS,它正在努力开发一款名为“Fuchsia”的开源、实时OS。 这款操作系统曾在去年8月让世人惊鸿一瞥,但是当时它还只是一个命令行,现在这个神秘项目的用户界面(UI)终于浮出水面。 与Android和Chrome OS不同,Fuchsia并不是建立在Linux之上,它采用的是谷歌自主研发的微内核“Magenta”。在Fuchsia项目上,谷歌不仅放弃了Linux内核,而且还丢掉了GPL。这款操作系统是按照BSD 3条款、MIT和Apache 2.0进行授权的。放弃Linux内核或许有些令人意外,但是Andr
[手机便携]
原型验证将使5G从概念变成现实
    5G无疑地将使我们的无线网路升级到从未想像过的高度,但是实现5G之路并不平坦,而是充满各种挑战。研究人员不仅要解决前所未有的无线资料传输速率要求,还要找到网路延迟和回应性的解决方案,同时将网路容量提高一千倍。除此之外,服务营运商还要求以更少的能耗来实现这些想法。 那么我们如何着手解决这些复杂的挑战?答案就在于原型,更具体地说,是能够使无线研究人员测试使用真实系统在实际场景中验证其实验性想法的5G原型。如果运用得当,这些5G原型将为企业加快产品上市的速度奠定基础。 设定新的标准 目前有大量关于5G网路的说法,3GPP等全球标准化机构最近开始致力于将5G概念转化为现实。IMT-2020、NGMN和3GPP描绘的愿景无
[手机便携]
嵌入式实时操作系统Salvo的内核分析与配置
摘要:简要介绍Salvo的基本特点;详细分析Salvo的内核管理、运行机制;深入探讨Salvo用户目标代码的生成与配置,并给出不同用户目标代码生成方式下的用户目标代码生成流程。 关键词:嵌入式操作系统 Salvo 内核分析 任务控制块 配置 引言 目前电子产品开发广泛采用以微处理器为核心的电子系统。开发以微处理器为核心的电子系统(以下简称微处理器系统)采用传统的无限循环函数模式,产品的开发周期和稳定性都无法保障,因此,在微处理器系统开发中引入嵌入式实时操作系统RTOS。RTOS的引入消耗了部分系统资源。这部分系统资源对于高档微处理器系统影响不大;对于中小规模微处理器系统,特别是单片机系统,由于RTOS资源的占用,使用户可用
[嵌入式]
基于SMP 运动控制内核的机器人控制系统
1 引言 随着现代工业的迅速发展, 普通的人工劳动力已经不适合强度高、环境恶劣的工作要求。而随着机器人制造水平的提高, 具有高效率、质量稳定、通用性强的机器人已经受到越来越多的青睐, 并被广泛应用到柔性制造生产线上。目前, 工业生产中的搬运、焊接、喷涂等繁重工作已经逐渐被机器人所取代, 此外, 特种机器人在深海探测、消防救灾等领域也得到应用[1]。早在20 世纪70 年代, 国外一些工业发达国家的机器人就进入了实用化的阶段。经过30 多年的研究应用与改进, 目前无论在技术水平方面还是装备数量上, 以日本和德国为代表的少数几个工业发达国家都具有绝对的优势[1]。如瑞典的ABB、日本的川崎重工、德国的KUKA等。我国“863
[安防电子]
基于SMP 运动控制<font color='red'>内核</font>的机器人控制<font color='red'>系统</font>
Synopsys全新基于FPGA的原型验证解决方案将系统性能提升高达3倍
亮点: • 借助增强型HapsTrak 3 I/O连接器技术以及高速时域多路复用技术,使系统性能提升高达3倍 • 模块化系统架构可覆盖从1200万到1.44亿个专用集成电路门,以适用于从单个IP单元到处理器子系统再到完整SoC的各种规模的设计 • Synopsys Certify®软件中的新功能与HAPS灵活的互连架构相结合,将多FPGA分区的产能加速高达10倍 • 增强的UMR总线(Universal Multi-Resource Bus)带宽高达400MB/s,有助于提升纠错的能力,并与Synopsys的Virtualizer工具一起,提升混合原型验证的性能。 • 经过预先验证的Synopsys DesignWare® IP与
[嵌入式]
将模拟组件与Arm微控制器内核进行集成解决嵌入式系统问题
嵌入式系统的设计带来了复杂的挑战,因为在性能,成本,功耗,尺寸,新功能和效率方面都有进步的积极目标。然而,有一种新兴的设计方案可以解决这些复杂问题 - 模拟组件与ARM ®微控制器内核智能集成。这种与传统模拟集成的区别在于现在提供的高性能以及为解决特定系统级问题而进行的优化。虽然每个市场都会对这些领域的订单排名进行改进,但同时满足多个因素是非常需要的,并且可以来自众多分立组件的集成。从逻辑上讲,组合部件可以解决许多嵌入式系统目标,但只需将几个分立元件和一个处理器放在一个封装中就不是答案;解决方案要复杂得多,需要智能集成。 模拟和数字智能集成 高性能模拟组件(放大器,ADC,DAC,电压基准,温度传感器)的智能集成,无线收发器等
[单片机]
将模拟组件与Arm微控制器<font color='red'>内核</font>进行集成解决嵌入式<font color='red'>系统</font>问题
采用龙芯一号内核的国产系统级芯片面世
HS3210芯片采用龙芯CPU核“Powered by Loongson” 11月19日消息,17日,由广州海山公司自主研发的HS3210i芯片正式生产版面世。与测试样片相比,HS3210i芯片的LOGO上增加了“Powered by Loongson 龙芯”字样。 海山公司介绍,该SOC芯片采用龙芯一号CPU IP核,作为国内首个具有完全自主知识产权、并且将完整产业链建立在国内的嵌入式系统主芯片,HS3210系列SoC芯片的关键IP核、芯片设计、流片、封装、测试、芯片品牌等产业环节全部在国内实现,芯片的BSP软件配套也全部在国内开发,并可为下游产品设计公司、整机制造厂提供各式产品的参考设计方案。 据介
[嵌入式]
采用龙芯一号<font color='red'>内核</font>的国产<font color='red'>系统</font>级芯片面世
嵌入式微内核实时操作系统分析与测试
摘要:介绍嵌入式微内核实时操作系统的体系结构;针对Wolf嵌入式操作系统,设计一套微内核嵌入式操作系统测试实现方案。在Wolf操作系统支持下,已产业化的阅读不耗电电子书(eBook)验证了Wolf操作系统的可靠性。 关键词:嵌入式实时操作系统ERTOS 微内核 Wolf 软件测试仪 eBook 1 嵌入式实时操作系统概述 嵌入式实时操作系统(ERTOS)是操作系统研究的一个重要分支,它与一般商用多任务OS,如UNIX,Windows等,最大的不同之处在于:商用多任务OS的目的是追求系统资源最大利用率和公平对待所有的系统请求;而ERTPS追求的是实时性、可确定性、可靠性。 自20世纪90年代以来,ERTOS发展迅速。国外著名商用EPT
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved