SOC设计需从ESL开始.docx
- 文档编号:22878382
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:16
- 大小:1.09MB
SOC设计需从ESL开始.docx
《SOC设计需从ESL开始.docx》由会员分享,可在线阅读,更多相关《SOC设计需从ESL开始.docx(16页珍藏版)》请在冰豆网上搜索。
SOC设计需从ESL开始
数字集成电路论文
题目:
SOC设计需从ESL开始
系名称:
信息工程系
专业:
电子科学与技术
班级:
(2)班
学号:
6008202305
姓名:
林振明
2011年6月19日
SOC设计需从ESL开始
摘要:
电子系统级(ESL)设计已成为当今嵌入式设计领域最炙手可热的话题。
尽管在一定抽象层描述系统的想法已经出现近十年,直到现在众多成熟设计流程的出现才使得这一想法成为现实。
本文讨论电子系统级(ESL)设计和验证方法学在系统级芯片(SoC)设计中的应用。
关键字:
电子系统级芯片架构嵌入式
ESL(ElectronicSystemLevel)电子系统级设计需要在一定抽象层次用足够快速的方法来描述SoC系统,给软硬件工程师提供一个虚拟的原型平台,用以进行硬件系统结构的探察和软件程序的开发。
这种方法正逐渐成为基本设计流程的一部分,因为它并不仅仅出现在系统结构设计的开始阶段,而是贯穿于整个设计开发的过程之中。
ESL设计是能够让SoC设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供下游寄存器传输级(RTL)实现的验证基础。
已有许多世界领先的系统和半导体公司采用ESL设计。
他们利用ESL开发具有丰富软件的多处理器器件,这些器件为创新终端产品获得成功提供必需的先进功能性和高性能。
电子系统级设计代表了电子产品开发方法学的转变。
在由CoWare公司举办的ESLDesignSeminar2006上,CoWare亚洲副总裁SeyulChoe先生向我们介绍了CoWare电子系统级的解决方案,同时,SeyulChoe先生更加强调的是电子设计方法学的改变。
CoWare的使命就是帮助客户实现这一转变,在加快ESL设计的同时,更有效满足市场的需求。
Coware公司是领先的ESL软件工具和服务的供应商,他们提供的技术和服务能够创建电子系统的算法和架构模型,使客户能够及早对系统进行评估和优化,并顺利地进行软件开发和硬件实现。
Coware主要提供4个方面的ESL工具,包括基于SystemC的ConvergenSC产品系列,可用于对复杂的SoC架构进行设计、仿真和分析;能够方便地进行DSP算法开发,并将其在硬件和软件上实现的SPW-DSP平台;可自动进行嵌入式处理器设计及软件开发工具生成的LISATek;可以优化设计中的存储器子系统,增加其性能并降低功耗的PowerEscape。
Coware公司表示,完成向ESL设计的转化并不容易,这需要开发新的工具、新的设计流程、创建ESL模型,并要培训一批专业的开发人员。
随着SoC设计在中国的日益发展,Coware选中了两家分销商作为其ESL产品在中国的销售和技术支持代理。
新益(NewPlus)系统科技公司和微通(OnePass)公司将分别负责中国南方和北方地区的业务。
除了丰富的ESL工具外,Coware还具有完善的ESL咨询服务及技术支持,希望能够帮助想要进行SoC设计的公司顺利转入ESL设计。
ESL设计之所以会受欢迎,主要源于以下三方面功能:
1在抽象层设置的约束和参数可以被传递到各种用于设计实现的工具中。
2系统设计更早地和验证流程相结合,能确定工程开发产品的正确性。
3功能正确和时钟精确型的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间。
嵌入式软件驱动SoC设计
图1总结了市场调研公司国际商业策略(InternationalBusinessStrategies)对SoC设计工程师所做的调查数据。
它表明,两种主要的SoC设计挑战--与设计嵌入式软件和硬件架构的相关工作量随着工艺的缩小而急剧增加,而硬件实现(RTL设计、综合、物理设计等)工作量的增加则要少得多。
请注意,该调查提到的嵌入式软件由半导体制造商提供,这些软件不包括由系统生产商开发的使终端产品差异化的软件。
图1:
随着工艺节点的缩小,主要设计工作从硬件实现转向设计嵌入式软件和硬件架构。
主要设计工作从硬件实现转移到嵌入式软件和硬件架构这种显著变化表明,芯片已真正成为一个嵌入式系统。
嵌入式软件开发工作量的增加,主要是由于能够实现消费产品之间兼容性和互操作性的无线及多媒体标准(或者其中之一)越来越多。
诸如JPEG、MPEG、3G、GSM
GSM
GSM系列主要有GSM900、DCS1800和PCS1900三部分,三者之间的主要区别是工作频段的差异。
/EDGE、IEEE802.11/a/b/gWLAN、蓝牙和UWB等标准,都是现代电子产业获得商业成功所必需的。
架构开发工作量的增加主要是由于SoC需要集成和优化越来越复杂的处理、存储资源以及通信协议,这些对以必备的性能执行嵌入式软件很有必要。
实际上,先进SoC现已采用3个或更多微处理器以及3个或更多数字信号处理器(DSP
DSP
dsp是digitalsignalprocessor的简称,即数字信号处理器。
它是用来完成实时信号处理的硬件平台,能够接受模拟信号将其转换成二进制的数字信号,并能进行一定形式的编辑,还具有可编程性。
由于强大的数据处理能力和快捷的运行速度,dsp在信息科学领域发挥着越来越大的作用。
[全文]
)。
甚至连主流设计也已包含一个微处理器和两个DSP,而包含两个微处理器和两个DSP的情况也很常见。
换句话说,嵌入式软件现正驱动着SoC设计,而且嵌入式软件对开发中国自己的通信和媒体互操作性标准也非常关键。
业界领先公司采用ESL设计是因为它使设计工程师能够及早进行软件开发,实现快速设计和派生设计、快速硬件验证以及快速硬件/软件(HW/SW)验证。
它还提供可以用来验证下游RTL实现符合系统规范的功能测试平台。
此外,ESL设计工具可综合针对应用优化的定制处理器,以及快速开发和实现先进算法。
及早进行软件开发:
对于一个大型软件开发任务,尽可能早地开始软件开发很有必要,即使原有软件的复用程度很高。
采用基于SystemC语言的ESL设计方法学,SoC架构工程师可生成一个用来仿真SoC行为,如果需要,还可仿真SoC周期精确时序的高级模型。
这个模型称为事务级模型(TLM),它使软件设计工程师在RTL设计或者硅原型完成前的好几个月就可着手进行软件开发工作。
在传统的ASIC设计中,系统设计师确定芯片规格后,按照设计流程设计出的芯片如果能够正常工作,就可以认为是达到了设计目标。
在SoC设计中,设计目标是实际应用的系统性能。
系统性能不仅取决于芯片硬件本身,还取决于运行在芯片上的软件。
采用传统的设计流程,仅仅能够确定芯片硬件的规格,无法准确地估算软件性能,因此也就无法确定整个系统的最终规格。
在早期的SoC开发中,由于软件不是很复杂,这一问题并不是特别突出,凭借系统设计师的丰富经验,还是能够顺利地完成开发任务。
但随着芯片规模变得越来越大,IP的使用进一步增加,SoC会包含多个可编程部件(CPU和DSP),嵌入式软件开发在整个设计中所占的比重越来越大。
整个系统的性能越来越取决于软硬件协同工作所表现出的综合性能。
传统的设计流程无法估算出系统性能,一旦芯片完成流片后,只能通过优化软件来尽可能地提升实际应用的系统性能。
SeyulChoe先生强调,ESL解决方案的目标在于提供让设计人员能够在高抽象层次对芯片进行分析的工具和方法,能够让设计人员快速地构建原型平台,通过对系统的分析,快速地确定能够符合市场需求的最佳体系结构。
探索最优化的体系架构
SoC和ASIC设计的最大区别在于SoC中引入了CPU,提高了芯片设计的灵活性。
在系统中存在CPU,也就必然有软件在CPU上运行,包括启动代码、驱动程序、操作系统、应用程序。
系统不仅包括硬件,而且还包括软件。
整个设计能否达到预期的设计目标,不仅需要系统能够符合功能要求,而且还要达到性能要求。
在传统的设计流程中,设计目标能否达到,很大程度上取决于系统架构师的设计经验,缺乏有效的工具支持来定量的给出系统关键性能指标。
在很多情况下,系统中可能存在性能瓶颈,功能能够实现,但性能达不到设计目标的要求。
SeyulChoe先生介绍说,Samsung公司在其S3C2510芯片发布后,发现其中的一项关键指标NAT(网络地址转换)无法达到预期目标98Mbps,只能达到52Mbps,相差了一倍。
Samsung通过采用ESL方法,建立了基于SystemC的平台,从Cache大小、总线利用率、
CPU速度等多方面进行了分析,快速的找到了系统的瓶颈并成功地解决了这一问题。
更早的进行软件开发,缩短芯片上市时间除了硬件设计外,嵌入式软件开发(ESW,EmbeddedSoftwareDevelopment)也是SoC设计流程中的一个不可或缺的组成部分。
在传统的设计流程中,软件设计任务只有在芯片的硬件原型已经提供后才能进行。
这种方式经常导致产品推出时间计划的延迟,原因是软件尚未完成。
有了虚拟平台意味着可以更早地进行软件开发。
有了和实际硬件一致的模型,软件开发人员就能和硬件设计人员并行工作,进行软件代码的编写和测试。
另外,软件开发人员的提早介入,还使软硬件的集成和验证变得更加容易。
这样,在芯片物理设计完成后,绝大多数或者全部软件都已经准备好并经过验证,从而大幅度缩短了最后的硬件和软件的集成。
减少了验证局部模块的工作量,提高了系统验证的效率。
ESL的成长主要是因为需要在不同设计阶段的实现工具之间传递数据和设计框架。
早期的ESL雏形工具往往试图改变各个设计者的设计流程、设计语言和编程风格,而不易被接受,导致了上世纪九十年代末的失败。
另一方面,那时缺少各种IP库,和搭建系统所不能缺少的各种功能模型,也是当时不受欢迎的原因之一。
而ARM对于ESL的投入正好克服了上述窘境。
首先,ARM是业内最大的IP提供商,将ARM的产品建模,就提供了非常完善的IP库;其次,ARM拥有业界最大的技术合作伙伴网络,在ARM的ESL工具库中包含了最全面的第三方IP模型,如各种主流DSP和其他处理器(CEVA,ZSP,Infineon,StarCore等)。
现在,客户已经可以利用各种处理器模型,总线模型和ARMPrimeCell中的大量设模型来完成SoC结构设计了。
更早地进行软件开发
有了虚拟的原型平台意味着可以更早地开始软件开发。
有了和实际硬件一致的模型,大量的软件工程师可以并行的进行软件代码的编写和测试。
这样不但节省了大量软件开发的时间,还使软硬件的集成和验证变得更加容易。
如此独一无二的特性吸引很多公司将其作为设计流程中特定的一环,来自三星公司(Sam-sung)的经验表明,能够将开发时间缩短了40%。
在更早的设计阶段完整的描述SoC的功能是采用ESL设计方法带来的重大优势,就像在上世纪八十年代RTL的设计方法开始受到工程师青睐一样。
刚开始时,RTL仅仅用于检查和认证高级概念的验证阶段。
只有当功能通过这一标准形式的验证,才能进入到大规模的实现流程中去。
但真正使RTL语言深入人心的原因是通过综合工具与整个实现流程相连接,使它再不仅仅是一种验证语言。
今天,ESL工具正在以相同的方式发展。
最初应用于建模,验证和认证,然后延伸到实现流程,可以自动生成硬件和软件,以加速设计的完成。
只需要简单的连接和配置高层次的模块,就可以从SystemC的描述转为RTL,直至网表(Netlist)级的设计,这一切已经被证实可行,并正蓬勃发展。
可配置IP
越来越多的系统强调自己的可配置性,诸如:
不同的处理器,不同的总线带宽,不同的存储器容量,可配置的引擎和无数混合的外设。
所以在仿真中模拟各种不同的配置对设计者来说太有价值了。
不但可以用来开发设备的平台,用以确信设计能满足应用的需要;还能降低不断增长的定制设计的成本。
这些成本不仅包括开发设计费用,还包括避免错误芯片的生产费用。
ESL将为广大的客户带来难以估量的利益。
ESL设计领域有三种不同的层次,许多工具提供商都把它们命名为ESL,使读者容易混淆。
在最高的层次是算法开发,在设计和实现层次是系统架构开发,第三种就是设计的自动生成过程。
在算法开发领域已经有许多成熟的工具,如:
Mathworks公司的MATLAB用以常规算法的开发,CoWare公司的SPW用以DSP算法的开发。
这些工具除了芯片设计,在其他领域的也能广泛使用,诸如:
微分子建模和复杂的金融交易。
过去的这些算法级设计工具能很好的完成算法开发并仅生成相应的软件,或仅生成硬件。
却不能很好的将算法映射到完整的SoC设备中,特别是那些需要分布式计算和通讯的设备。
这正是ARM公司RealViewSoCDesigner工具的着眼点。
架构级ESL
架构级ESL工具能完成功能到运算引擎的映射。
这里的引擎指的是那些可编程的目标——如ARM处理器、可配置的DSP协处理器,或者是特殊的硬件模块,如UART外设、互连系统和存储器结构。
这是系统设计的开始环节,从行为上划分系统,验证各种配置选择的可行性及优化程度。
目前大多数人仅把这认为是ESL的作用。
在这领域中的工具很多,如:
CoWare公司的ConvergenSC,Synopsys公司的CoCencentricSystemStudio,Prosilog公司的Magillem,当然还有ARM公司RealViewSoCDesigner。
这些工具都能用于开始时的架构设计,这也正是ESL工具已经熟的市场。
ESL工具对于开发可配置结构体系是非常关键的。
它使系统构从抽象的行为级很容易的映射到具体的硬件设计,从而方便的决定哪些模块可以被重复使用,哪些新模块需要设。
还能提供必要信息指导最优化的通讯,调度和仲裁机制。
许多系统厂商都有过去开发的软、硬件IP。
为了在架构设计中方便的复用,模拟这些模块,就必须对它们进行建模。
诸如处理器和总线这样主要的IP有各种高级语言的模型,但那些早期传承下来的模块往往连基本的文档都不完善,想要复用就更加困难。
这种情况正在得到改善。
新的模型可以用SystemC语言来描述功能,这是一种特殊的C++语言,可以支持严格的仿真和数据类型。
系统厂商正在不断用SystemC来为现存的IP建模,并且在设计新模块前都先建模来验证。
这样新的IP都确保先有模型,再开始实现。
仿真是这一设计层次上的关键。
这些模型能够提供比RTL级快好几个数量级的仿真速度。
在保证功能正确的前提下,只损失一些时序精度。
所以对ESL工具的挑战就是既要保持足够精度的时序信息来帮助设计决策,又要提供足够的仿真速度以满足大型的系统软件(如OS启动)在可接受的时间内的完整运行。
只要能掌握这种平衡,就可以在高级设计中验证时序和设置约束条件,再将这些优化的设计分割,分配到各个不同的软、硬件设计工作组去加以实现。
举个例子,RTL或带有时序信息的RTL仿真通常只能提供10MIPS到数百MIPS左右的系统仿真性能;然而,时钟精确型的ESL仿真却能达到100KMIPS到1MMIPS的仿真速度。
一般来说,ESL上的仿真只会同RTL仿真的时序有些微差别,这足以满足在时钟级别上验证系统行为的目的。
功能精确而时钟近似型模型可以支持足够快的仿真来满足应用软件的开发,或系统虚拟原型机,程序员感觉就像在硬件原型平台上工作一样。
目前,ARM公司的RealViewSoCDesigner正是以业界最快的仿真速度来满足这些应用需求的。
将ESL设计引入现有的软硬件工具链的重点是在硬件实现模块和抽象模型间定义合适的传输协议。
所谓的传输层通讯主要是对信号的细节作了提炼和简化,如将硬件仿真中涉及具体输入输出口的若干个周期的行为,抽象成整个存储器的读写操作。
这样的传输协议适用于用SystemC,C或RTL编写的各种模块。
如果要和硬件仿真接口,只需要解码相应的传输行为,将其转化为具体硬件的信号操作。
在系统级ESL设计中,有两种模型常被用到:
事件触发型和时钟精确型。
事件触发机制在硬件设计仿真中经常使用,它能维持大量并发性事件的顺序。
然而,面对如此众多的执行事件,我们想要在更高的抽象层执行得更快,就必须将它们归结到相应的时钟周期或指令周期,这就是时钟精确型模型的原理。
所以,我们将大量有严格顺序的事件抽象到每个时钟节拍内建模,从而搭建出的虚拟原型平台可以达到比事件触发型的仿真快十倍以上的仿真速度,而并不影响功能和性能的评估结果。
为了让ESL模型结合到系统验证流程中来,将SystemC模型和RTL设计连接起来仿真是很必要的。
这样既能让那些已有的IP更容易的被复用和验证,又可以让新设计的大量模块一个一个从模型替换到具体设计并完成验证。
正是因为这些需求,而事件触发型和时钟精确型建模方式又确有天然的交叠,所以,更加有必要在它们之间订立一套有效的接口。
这样的标准接口在OSCI中有详细定义,来规范一套完整的事件触发型传输级仿真和验证的接口。
工具提供商也在自己的ESL工具中加入这种传输级的仿真和验证。
ARM也和许多能同时提供两种执行机制的合作伙伴一起创建这两种模型的桥梁,并于2005年公布了最终确定的建模方法。
IP的自动生成
更进一步的目标是能自动生成IP。
一旦系统设计经过各种权衡确定方案之后,各种可配置的模块也可以将参数最终确定下来。
我们可以利用工具将确定的方案自动装配产生出来。
在这个功能点上被引入ESL的标准是SPIRIT。
按照这个标准建立的IP和工具,可以根据配置的要求来生成各个IP模块的具体实现并集成系统。
根据这一标准,对于可配置数据、导入、导出SPIRIT描述都有一致性的管理,确保了在后道设计流程中的任何改变能传递回来反映在高层的模型描述和仿真中,被再次验证。
SPIRIT标准是目前第一个实现“向RTL传递”的描述。
所谓“向RTL传递”是指:
从ESL系统设计工具中,将对系统的描述自动的转化为硬件实现的流程。
通过SPIRIT的API接口,ARM已经实现了从RealViewSoCDesignerESL环境中自动导入SynopsysDesignWarecoreAssemblerSoC的集成和综合流程。
并且可以从coreAssembler或MentorGraphics公司的PlatformExpress中启动ARMPL300AXI可配置互联生成器,来生成AXI总线系统。
目前,Philips和ST公司都公布了相应的设计流程。
测试和验证
能够在系统级尝试各种配置选择,并自动的导入具体实现当然是所有设计工程师梦寐以求的事情。
但仅仅解决了一小部分的问题——很容易的创建各种新系统,但我们还需要去验证它们。
设计的风险在于需要综合验证环境。
配置和生成出来的设计必须和验证环境得到的结果完全一致,并延续到整个实现流程中。
比如,系统互连已不再是固定不变的IP总线和桥了。
通常系统互连是以可配置的结构生成器来产生的。
对于AXI协议,ARM提供了PL300结构生成器来产生互连,PL340用作可配置的SDRAM控制器,L220是二级缓存生成器,围绕这些AXI“骨架”还有大量的AXI外设来一起配合搭建基于ARM处理器的SoC。
配置这些部件的本质就是要在存储器和处理器间提供足够优化和高性能的带宽。
通过ESL的模型,结构设计师能够找到最好的配置方案,但是,这样产生出来的结果需要和一套“骨架”的验证环境同步到设计实现中去。
这样的验证环境意味着用来仿真的激励描述不仅能停留在某一抽象层次上,而是应该使激励和约束在各个抽象层次上移植。
这样的方法学将成为近两年该领域的研究热点。
很可能和SPIRIT的metadata格式一起使用,并采用标准传输级API接口,广泛应用于整个产业中。
不难看出那些可以让ESL大展拳脚的因素已经成熟,并蓬勃发展,如:
标准的编程语言,标准的ESL模型接口,在各种工具链中交换数据,包罗万象的模型库,日益完善的验证和认证流程。
ARM公司,及其他ESL工具提供商,已经能够提供完善的方法,将过去需要数周数月才能完成的设计和验证工作在几分钟之内就完成。
传统的硬件模块验证是由硬件验证开发人员编写Testbench对硬件模块进行测试和验证。
这种方法有以下几个缺点:
1、模块级的测试代码开发时间长,而且和真实应用还有一定的差距;
2、模块级的测试代码无法在系统级得到复用,软件人员还需要在系统级编写代码来进行测试。
而采用ESL方案,可以采用“分而治之”(DivideandConquer)的验证方法SystemC设计当作功能验证原型,或称“测试平台”,利用工具强大的系统级分析能力在整个设计的初期对TLM级的硬件设计进行验证,TLM级的设计会在其后变成更加具体的RTL级(VHDL或Verilog)设计。
工程师可以并行地进行工作,如分割并验证系统中的每一个子系统,包括运行真正的软件。
软件开发人员编写的测试代码,既可以验证SystemC模块,还已经验证RTL模块,最大程度的得到了复用,大大减少了硬件验证开发人员的工作量。
CoWare以SystemC为技术平台,将原来的三个产品整合为一个产品线,使SoC平台的架构分析、定制处理器设计和算法设计能够协同工作,从而推动了平台驱动的系统级设计。
1.快速设计和派生设计
不断变化的消费市场要求不断推出“新的和改进的”产品。
一些改进可以通过重新对SoC进行编程来获得,但更多的
软件可能需要更多的硬件资源,因此设计工程师必须采用可实现快速硬件设计和派生设计的方法。
RTL平台曾被设计用来减少派生设计问题,它通过为未来设计提供一个经过预验证的架构来实现这一点。
然而,为满足新的市场需求而优化RTL架构以及集成RTLIP所带来的困难,会显著减缓设计过程。
一个未经优化的架构可能对性能和功耗产生负面影响。
最终,设计团队可能被迫放弃功能性以达到性能和功耗目标。
TLM应用于函数调用和数据包传输层。
这是一个抽象层,“设计意图”在该层被捕获,而且该层给设计工程师提供了一个直接而清晰的系统行为视图。
硅IP的SystemCTLM模型很容易集成到SoC架构的TLM中,这使SoC架构师能快速研究并分析多个备选硬件架构和硬件/软件分割方案(每个方案具有不同的性能和经济上的折衷)以确定最佳架构。
这种方法明显加快了初始设计,但它最大的好处是在快速转变的派生设计中采用最初的SoCTLM作为易于更改的平台。
TI便是采用这种方法开发OMAP系列处理器和调制解调器
解调器解调器是调制式直流放大电路中的一个重要组成部分.负责把已放大了的交流电压还原为直流电压,其大小和极性与交流电压的幅度和相位要对应。
2.快速验证
TLM的抽象级别明显高于RTL的抽象级别,它描述模块内的电路状态、精确到纳秒的转换以及精确到位的总线
总线
总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。
通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。
人们常常以MHz表示的速度来描述总线频率。
行为。
因此,意法微电子等领先公司认为,相比使用RTL,使用周期精确的TLM将使硬件验证和硬件/软件协同验证速度快1,000倍或者更多。
这种方法不仅可产生用于验证系统行为和RTL实现的功能测试基准(testbench),它还支持SystemC与RTL的协同仿真,这样SoCTLM可被当作一个“测试台”,当下游RTL实现模块可用时,它们便可在这个测试台上进行验证。
高通公司的经验表明,系统级的HW/SW协同验证要优于C/RTL实现级的HW/SW协同验证。
一个维特比解码器设计可在20ms内执行一个信息包,但是在C/RTL级进行仿真却需要6个小时,高通估计必须仿真1,000个信息包才能达到合理的置信度,因此总共需要6,000小时的仿真时间,但这是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SOC 设计 ESL 开始