账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
嵌入式软件的世纪大挑战
 

【作者: 誠君】2003年11月26日 星期三

浏览人次:【3614】

对设计微米芯片而言,摩尔定律使前端的验证(verification)复杂度倍增。过去,摩尔定律只影响到硬件的验证工作,仅冲击到既存的解决方案。但是,今天嵌入式数字信号处理器(DSP)和微处理器内核必须整合在一起,此技术上的困难度对业者而言是一个崭新的挑战。


将这些IP内核整合在一起时,IP通路商不只要提供验证硬件的工具,也要提供与硬件相关的嵌入式软件和开发工具。因此DSP和SoC整合的成功关键有二:一是硬件的验证,另一是与前者同时进行的嵌入式软件(embedded software)的移植和验证。


过去,EDA业者已经为纯硬件验证流程开发出许多种方法。其中最有效的方法是使用抽象(abstraction)法和使用相关的工具将问题局限在正确的条件之下解决它。这种方法导致芯片设计工作可以从传统的主板级(board level)电路布局(layout)设计向上提升到缓存器转换层级(RTL)的设计,使上层的IP具有可再重复使用的特性。这种方法已经沿用了将近40年,这些年来RTL的使用效率相当良好。精准的正规(formal)法、直接随意(directed-random)法、硬件辅助的验证方法也一一被采用,当这些方法被正确使用时,一流的团队能一次就成功地设计出芯片来。业者现在可以设计内含数百万个逻辑闸的硬件,已经超越了过去的数百个逻辑闸。其中的关键在于设计之初就能使用最好的工具和方法。


相反的,过去20年来,软件的验证流程并没有重大的改变。今天软件工程师所设计的验证码行数和过去的工程师设计的行数差不多。只不过,今天的庞大程序需要更多的软件工程师才能如期完成。


因为嵌入式软件只能在硬件存在的地方才能被验证,它不像Windows或UNIX应用程序可以完全与硬件无关,所以「内电路仿真器(ICE)」成为开发嵌入式软件的必备工具。SoC就是嵌入式软件的「宿主」,变化多端的SoC因嵌入式软件的加入,使得整个系统的设计问题变的更加复杂。


这个问题的产生是因为:传统上,供嵌入式软件验证用的平台要到SoC设计项目的最后阶段才能准备好。当SoC的硬件问题都被解决了,嵌入式软件的验证问题却十万火急、迫在眉梢。就是卡在这里,使得SoC的上市时间一直延迟。国内目前的几家SoC芯片设计公司都面临着这个问题,即使勉强硬着头皮将研发多时的SoC正式推出,最后也会因为没有提供嵌入式软件和其开发工具,或提供的嵌入式软件和其开发工具造价高昂(因为是委托国外软件公司设计的),或支持的嵌入式软件太少或不支持价格低廉、开放原始码的嵌入式Linux,最后沦落成和4-bit、8-bit微控制器一起竞逐狭小的电子消费性市场,以每颗几角、几分来计价,实在是令人惋惜。


解决这个头痛的问题需要广泛地采用抽象方法,并且在SoC设计的初期,就先让嵌入式软件工程师加入,遂行其软件验证工作。芯片设计业者必须在心态上能调整过来,虽然他们过去似乎有些鄙视操作系统开发者。再者,嵌入式软件的验证工作需要巨额资金投入,因为软件是具有纯智能财产的特质,不管是向国内或国外购买验证工具或服务,这笔开销都无法避免的。


业者必须具备一个功能强大的抽象层,可以驱使硬件电路和嵌入式软件按照预先规划好的流程进行设计。所有重大的软硬件问题都能在设计的最初阶段就被发现,并隔离于一个小角落,在不影响整体计划的既定时程下,另外派遣特别小组去抽丝剥茧,铲除问题。


因此,新一代的系统层级设计需要新的思维和方法,它必须能够结合Verilog/VHDL和C/C++。为了节省资源、并结合软硬件设计者以前的宝贵经验,绝不能再发明新的语言,逼迫设计者放弃以前的知识和程序代码或模型。这种语言必须支持各种一般的或特殊的软硬件规格需求、于SoC设计过程中的每一阶段的验证和除错功能、优化的性能、以添增链接库的方式不断增加新抽象模型...等。目前有一种语言正符合前述的要求,就是SystemC。「开放SystemC协议团体(Open SystemC Initiative;OSCI)」(http://www.systemc.org/)成立于2000年,类似GNU一样,该团体将免费供大家参考用的源代码公开放在SourceForge网站上。目前已经有许多EDA公司提供符合SystemC标准的工具和模块化的链接库。


简言之,SystemC的特征就是将软件和硬件模块化,它们之间的通讯不再是电子讯号,而是函数调用(function calls),呼叫完毕就表示「交易(transaction)」结束了。因此,这种模式也称作「交易层模型化(transaction-level modeling)」。因为硬件已经被模块化,而且处理速度很快(一般约每秒100K频率),所以嵌入式软件可以在设计初期很容易地被执行。不过,任何工具都有它的极限,对硬件的缓存器转换层设计而言,硬件描述语言(HDL)仍然是最容易、最稳定、最快速的程序语言,而且支持最多且成熟的工具和链接库。此外,实时的系统仿真仍然需要硬件工程师的理性判断才行,因为SystemC的功能再怎么强大,它毕竟仍然是一个工具而已。这也是仿真理论或数学模型化的极限。


SystemC带来的最大益处可以说是它能够在SoC设计一开始时就为我们建立起智能型的「测试平台(testbench)」,是在我们还未进行缓存器转换层细部设计之前,而且这个测试平台可以一直用到SoC设计完成以后,在这期间它可以为我们发现错误(bug)并示警。当然在进行缓存器转换层细部设计时,我们需要不断地修改测试平台。不过,它始终都能和「交易层模型化」的环境保持一致性。因为SystemC与C/C++的用法相似,所以对嵌入式软件工程师而言,使用它并不会困难。因此,软硬件工程师梦寐以求的开发工具似乎就此诞生了,而「黄金模型(Golden Model)」也许就可以很快地得到。


常常听到国内SoC设计业者抱怨说:原本以为OEM系统厂商只要使用已公开源代码的Linux就可以轻松地利用SoC开发出许多便宜、功能又多的产品来。但是,没有想到嵌入式软件的技术问题是这么难解决。没错!目前国内业者最需要的是:能够完美地整合硬件和软件的高明工具和方法,能够在最早的时间内完成SoC的分析与验证工作。这个挑战对全世界的EDA设计业者而言也是艰巨的,因为使用微米制程制造的SoC比我们现有的SoC还要复杂许多倍。


(作者为电子产业资深研发工程师,现为诚君工作室负责人:su2b08@saturn.seed.net.tw)


相关文章
人工智慧引动CNC数控技术新趋势
高频宽电源模组消除高压线路纹波抑制干扰
当磨床制造采用Flexium+CNC技术
电动压缩机设计ASPM模组
【新闻十日谈#40】数位检测守护健康
comments powered by Disqus
相关讨论
  相关新闻
» 达梭系统携手CDR-Life 加速癌症治疗科学创新
» 宜鼎独创MIPI over Type-C解决方案突破技术局限,改写嵌入式相机模组市场样貌
» 鼎新电脑串连生态系夥伴 数智驱动智慧低碳未来制造
» 鼎新电脑携手和泰丰田解缺工 以数位劳动力开启储运新时代
» Fortinet SASE台湾网路连接点今年落成 全台巡??落实云地零信任资安


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84S8BBDYSSTACUK2
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw