账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
系统晶片ESL开发工具之发展现况
系统晶片设计专栏(3)

【作者: 周世俊、陳雅淑、施吉昇】2007年02月13日 星期二

浏览人次:【5837】

系统晶片(System-on-Chip)为一整合多种功能之独立系统的单一晶片,此一设计方法可降低生产成本、提升效能并减少耗能,因此,已大量为晶片设计所采用。


以往的开发流程,通常由系统开发人员通常根据经验法则决定软硬体的规格,之后便分成软硬体设计人员分工进行,而系统测试和验证工作必须等到软硬体开发完成之后才能进行。在后期阶段,经常发现配置过于强大的硬体而增加成本,或是硬体能力不足造成应用程式效能不符需求,甚至出现无法整合或是各式各样的错误(Bug)。此类的限制,造成SoC的设计时程与成本高居不下。


Carnegie Mellon University的Donald E. Thomas于1993年发表其软硬体共同设计之模型与方法论,其说明了多数功能既可以使用软体,也可以使用硬体来达成,而决定的准则将是效率与成本间的取舍与拉锯。依照系统功能与效能所需达成的目标,将软硬体规划在设计的阶段同时考虑,例如,以效能为主的设计,可将某些软体功能切割出来,交由硬体来实作,以达成加速的目的。


在软硬体共同设计的模型之下,系统开发人员必须先决定系统规格,之后转换系统功能为软硬体描述语言,进而以软硬体合成进行效能分析、测试与验证。传统的设计方法,具有开发成本高与时程长、系统架构修改难度高与效能数据收集不易等缺点,经由软硬体共​​同设计方法,将可获得有效的改善。


软硬体整合设计的步骤从系统规格的输入开始,经由程式资料流的分析,将软硬体的部分做分割(HW/SW partition),接着就是软硬体的雏型设计与制作,最后再将软体与硬体共同模拟,收集数据与分析效能,进而改进设计架构。而面对日益复杂的系统晶片功能,开发者必须要拥有工具支援以增加设计流程中的自动化程度,因此,系统晶片开发工具(ESL Design Tool)能够让设计者得知设计上的错误或效率不佳的问题。


知名ESL工具介绍

ESL Tool(Electronic System Level;ESL)主要是帮忙解决硬体尚未完成开发前,如何做初步的系统验证,以减低开发的成本。其发展的模型主要是提供一个虚拟平台(virtual platform)模拟最终的硬体架构,当硬体架构完成之后,使用者便可以在此平台上模拟初步的系统合成,进而收集与分析系统相关数据,以验证目前的软硬体分割是否可以符合系统效能与功能。目前市场上,系统晶片开发工具各提供了不同程度的支援。本文接下来将简介几个业界以及学术界所发展的知名工具。


Elix和Simtek

Space Codesign是由加拿大蒙特利尔理工学院的研究人员所成立的,其开发产品包括Elix和Simtek,称为Space Studio,具有视觉化介面,可以控制SystemC模组并于元件库中取用模组,Space studio的特色即是支援商用RTOS与指令集模拟器与采用「拖放」式的硬体/软体划分的功能。


Elix协助设计者做初步的软硬体划分工作,快速开发和验证其设计架构;Simtek则以用户指令集模拟器(ISS)来取代软体模拟。使用者不需了解详细的硬体规格或软体架构,就可以利用系统语言(SystemC)创建系统级的架构模型,并模拟系统执行。使用者只需负责把自己的程式码以Space Studio使用的程式语言产生出来,并于之后再直接指派各个模组为硬体或软体,而不用详细了解实际上硬体和软体的实作。


此外,一个模组要更改成硬体或软体执行,不需更改程式码,只要重新编译即可产生新的系统。系统晶片发展流程在Space Studio的环境下将转换为:将系统以SystemC建立模组后,使用者可任意将模组指定为软体或硬体,而所有的软体将在一个存在即​​时作业系统(RTOS )以及用户指令集模拟器(ISS)的环境下模拟;硬体则将由Gen-X Pro(开发中)自动建置。


由于以往的系统开发者熟悉于逻辑闸级(Register Level Transfer)的设计语言,针对系统及设计上为陌生,Summit Design公司为帮助这些开发者更为迅速建置系统1,提供许多从逻辑闸级到系统级的设计解决方案。


例如:System Architect,其具有支援SystemC-compliant的API功能,提供软体与硬体应如何配置的分析,在micro-architecture下,达成效能模塑、架构设计与软硬体探索效能评估;Visual Elite Co -simulation工具则提供了视觉化的C/C++与SystemC的模型设计与验证环境,系统工程师可以快速的分析系统与表达系统概念,​​再交由开发工程师开发。


Binachip与Poseidon Design System

针对可程式化逻辑闸阵列(FPGA)平台的可重新规划之特殊系统,Xilinx提供一系列的解决方案[2],其中与系统级设计工具包括Binachip与Poseidon Design System。 Binachip-FPGA将二进位的软体可执行档转换为硬体来执行,协助进行软硬体切割,并建立可执行在可程式化逻辑闸阵列上的硬体程式,加快应用程式执行速度。


Poseidon Design Systems提供Tuner这套模拟工具,用于在目标硬体的抽象层次上执行应用软体,并提供效能分析与视觉化工具,协助设计者观察软硬体间的互动行为。并进一步提供硬体产生工具Builder,亦即硬体合成工具(hardware synthesis tool),其转换ANSI C的演算法为逻辑闸级描述语言,并提供了硬体所需的驱动程式,协助快速将有时限要求的模组从软体移到硬体上来执行。


NAUET

为拉近软体工程师与硬体工程师的设计理念差距,MataiTech的NAUET提供了专案的设计理念[2],开发者可以采用NAUET元件编辑器或者依照NAUET指定的文件格式Spirit IP XACT编辑出一份XML文件,NAUET会利用相关的工具,如:Verilog to C/C++转换程式、VHDL to Verilog转换程式与Verilog模拟器等,针对软硬体设计者输出相对应的文件,Verilog和VHDL暂存器标头可让硬体设计者直接使用,所产生的C/C++和SystemC程式码可让软体设计者直接使用。


系统级设计工具相关研究

在学术界方面,对于系统级的设计工具也有相关的研究进行中,以下将简介:Berkeley的Ptolemy and Ptolemy II 计画、Seoul National University的PeaCE计画、INRIA的S​​ynDEx、Leiden University的ESPAM、CMU的MESH计画与台湾大学无线网路与嵌入式系统实验室发展的MFACE计画。


《图一 PeaCE之软硬件协同设计步骤》
《图一 PeaCE之软硬件协同设计步骤》

Ptolemy

Ptolemy计画目标是发展一个设计工具,协助系统设计师于即时与嵌入式系统的模塑、模拟与设计,此计画的研究重点在于使用可计算的多模型方法于阶层式的异质设计环境中。 Ptolemy II进一步扩展了Ptolemy,以Java packages支援异质且同步的模塑与设计。简言之,此工具提供软体模塑与设计工具,可以整合异质的元件于所欲设计的分散式嵌入式系统中2。为提供快速发展由异质元件组成的数位系统,PeaCE计画扩充了Ptolemy计画的设计架构至共同设计的环境中,范围从SoC设计至分散式的异质系统设计,其特色在于系统规格设计、模拟、设计探索、软体元件合成与硬体元件之互动介面等,透过此设计架构在整个设计的过程中,如图一,提供自动化与协助功能3。


SynDEx

有感于分散式即时嵌入式系统的设计复杂度日益增加,SynDEx计画发展适用于此类系统的设计工具,包含定义将执行的应用程式之演算法图形(algorithm graph)与定义系统执行平台的结构图形(architecture graph)。 SynDEx提供多元件的模拟平台,包括互相连接的处理器与整合的IC,系统设计者可快速开发出系统雏型与验证系统的正确性4。为处理系统级(System-Level)与逻辑闸级(RTL)之桥接问题,ESPAM计画发展可基于系统级规格,合成RTL之程式码的工具,设计者在高阶的抽象层次设计特殊应用的多处理器系统5。


MESH

MESH计画是CMU Donald E. Thomas所带领的软硬体模塑环境计画,其认为未来SoC与电子系统的趋势将是把异质的多处理器与许多的执行单元(Processing Element)整合到一个晶片中,其提供新的模拟、模塑与设计策略。目前MESH的研究包含新类型的系统级评量基准(system-level? benchmarking)发展,异质程式对时间输入数据(timed input datasets)的情境式(Scenarios)效能评估,以及新的设计策略,例如利用系统层级的排程技术达到省电功能,也就是以在低时钟频率(lower clock frequencies)运行之单纯的执行单元取代复杂的执行单元。


MFACE

MFACE(Multiple function SoC analysis environment)是由台湾大学资讯工程研究所嵌入式系统暨无线网路实验室所研发的系统级软硬体共同设计效能分析与设计工具。设计者透过图形化介面将系统规格(包括应用程式资料流图形、执行单元列表、效能需求等)输入至设计工具中,MFACE自动解读这些设计资讯,并转换成XML档,提供接下来的分析步骤所使用。



《图二 MFACE软硬件设计流程》
《图二 MFACE软硬件设计流程》

为协助进行软硬体分割以及执行单元配置问题,MFACE利用多资料流分析模组(Multi-Flow Analyzer),如(图三),读取系统规格之后,透过其研发的工作分配演算法,根据应用程式于不同执行单元上执行的效能与花费、应用程式的功能项目、功能之间的互依性以及应用程式的时间限制等等资讯,建立各功能与执行单元的负载分析报表,辅助系统设计者进行软硬体分割的设计。


为减少配置的执行单元数目,多资料流分析模组采取适当的排程方式,维持程序与资料传递的正确性,并尽可能的共用所有的资源。其排程方法不仅适用于多处理器、执行单元,甚至可以应用至晶片汇流排系统,并藉由适当的分析执行时间、汇流排竞争状况等数据,重新配置硬体系统,提升整体效能与降低产品价格。


完成系统设计之后,MFACE自动产生符合的系统级软硬体规格,相关的排程技术和RTOS也会一并产生。之后使用者可利用模拟硬体的工具(CoWare),利用MFASE产生的新虚拟平台以及相关的软体去模拟,如(图二)之Co-Simulation步骤,与验证设计的规划。



《图三 Multi-flow Analyzer》
《图三 Multi-flow Analyzer》

多资料流分析模组的细部工作如图三所示,首先进行HW/SW的分割,由IP的资源库配置足够的资源给系统以及分配功能任务到适当的处理单元(PEs)执行,如microprocessors与IPs。接下来就是进行第一次协定(Protocol)的合成,由排程演算法资料库选择适当的排程演算法,将决定PE的数目与每个PE的Buffer大小,同时也尝试将功能任务与处理单元的分配达到最节省成本的平衡。


第三个步骤则是建构汇流排与记忆体的架构设计,为的提供符合需求的低成本沟通平台。 MFASE也会协助设计者决定汇流排的排程演算法、汇流排调解政策(Bus arbitration policy)与PEs的记忆体配置,以建立一个虚拟的SoC平台,用以验证其设计。


有别于其他的工具,MFACE着重在发展适合于多执行单元晶片的排程方式与仲裁者机制,并且经由有系统的分析方式,协助系统设计者找出系统中的效能瓶颈,进一步提供适合的执行单元配置、汇流排配置以及执行单元优先权的分配。此外,MFACE提供自动产生的RTOS,并可将功能级描述(Function Level)的软硬体规格,以系统级描述语言产生硬体可以执行的程式码,并且产生所有软体与其OS沟通的介面。


而在软硬体模拟过程中,MFACE会载入OS与软体放到虚拟平台上执行,并且收集相关资讯,协助进行效能评估与分析,如图二之Performance Evaluation步骤。如果效能没有在预期之内,则会从头再做一次新的设计,并根据这次的数据去分析原因,改进缺点。透过这样的循环,协助设计者得到合乎要求的设计。


结语

系统晶片开发工具(ESL design tool)的发​​展,使得软硬体设计逐渐走向更高层次与更抽象的方向来发展,以便符合整体系统效能,将设计概念快速实现以及功能验证与效能分析。大多数的系统晶片开发工具都支援以C/C++及SystemC,提供系统级和处理程序层级模型(TLM)设计最佳化功能。


其中处理程序层级模型支援高层次的抽象设计,相较于逻辑闸级设计,需要设计者实现的细节少,因此使系统设计、设计变更和功能确认的速度更快。利用电子系统级设计工具的辅助,可提早确认系统功能与行为,降低设计回圈次数,并提供更快速的模拟,使得设计人员有机会考量更多的设计架构可能性,以寻找最佳化的架构。其设计结果将有助于系统效能,降低产品价格,并进一步整合软硬体开发之间的鸿沟。


---本文作者周世俊为台湾大学资讯网路与多媒体研究所博士班研究生、陈雅淑为台湾大学资讯工程研究所博士班研究生;施吉升为台湾大学资讯网路与多媒体研究所助理教授---


<参考资料:


[1]http://www.summit-design.com/products/index.html


[2]http://ptolemy.eecs.berkeley.edu/ptolemyII.


[3]http://peace.snu.ac.kr/research/peace/


[4]http://www-rocq.inria.fr/syndex


[5]http://www.liacs.nl/~stefanov/publications.html>


---------------


------------------------------------------------------------


---------------


------------------------------------------------------------


相关文章
矢志成为IC设计界的建筑师
数位延迟锁相回路介绍
推动SaC的ESL工具发展现况
comments powered by Disqus
相关讨论
  相关新闻
» 美光针对用户端和资料中心等市场 推出232层QLC NAND
» 摩尔斯微电子在台湾设立新办公室 为进军亚太写下新里程碑
» 爱德万测试与东丽签订Micro LED显示屏制造战略夥伴关系
» 格斯科技携手生态系夥伴产学合作 推出油电转纯电示范车
» Arm:因应AI永无止尽的能源需求 推动AI资料中心工作负载


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

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