SOC设计需从ESL开始 -

更新时间:2023-11-04 11:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字集成电路论文

题目:SOC设计需从ESL开始

系名称: 信息工程系 专 业: 电子科学与技术 班 级: (2)班 学 号: 6008202305 姓 名: 林振明

2011 年 6 月 19 日

SOC设计需从ESL开始

摘要:电子系统级(ESL)设计已成为当今嵌入式设计领域最炙手可热的话题。

尽管在一定抽象层描述系统的想法已经出现近十年,直到现在众多成熟设计流程的出现才使得这一想法成为现实。本文讨论电子系统级(ESL)设计和验证方法学在系统级芯片(SoC)设计中的应用。

关键字:电子系统级 芯片 架构 嵌入式

ESL(Electronic System Level)电子系统级设计需要在一定抽象层次用足够快速的方法来描述SoC系统,给软硬件工程师提供一个虚拟的原型平台,用以进行硬件系统结构的探察和软件程序的开发。这种方法正逐渐成为基本设计流程的一部分,因为它并不仅仅出现在系统结构设计的开始阶段,而是贯穿于整个设计开发的过程之中。 ESL设计是能够让SoC设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供下游寄存器传输级(RTL)实现的验证基础。已有许多世界领先的系统和半导体公司采用ESL设计。他们利用ESL开发具有丰富软件的多处理器器件,这些器件为创新终端产品获得成功提供必需的先进功能性和高性能。

电子系统级设计代表了电子产品开发方法学的转变。在由CoWare公司举办的 ESL Design Seminar 2006 上,CoWare 亚洲副总裁Seyul Choe先生向我们介绍了 CoWare 电子系统级的解决方案,同时,Seyul Choe先生更加强调的是电子设计方法学的改变。CoWare 的使命就是帮助客户实现这一转变,在加快ESL设计的同时,更有效满足市场的需求。 Coware公司是领先的ESL软件工具和服务的供应商,他们提供的技术和服务能够创建电子系统的算法和架构模型,使客户能够及早对系统进行评估和优化,并顺利地进行软件开发和硬件实现。Coware主要提供4个方面的ESL工具,包括基于SystemC的ConvergenSC产品系列,可用于对复杂的SoC架构进行设计、仿真和分析;能够方便地进行DSP算法开发,并将其在硬件和软件上实现的SPW-DSP平台;可自动进行嵌入式处理器设计及软件开发工具生成的LISATek;可以优化设计中的存储器子系统,增加其性能并降低功耗的PowerEscape。

Coware公司表示,完成向ESL设计的转化并不容易,这需要开发新的工具、新的设计流程、创建ESL模型,并要培训一批专业的开发人员。随着SoC设计在中国的日益发展,Coware选中了两家分销商作为其ESL产品在中国的销售和技术支持代理。新益(NewPlus)系统科技公司和微通(One Pass)公司将分别负责中国南方和北方地区的业务。除了丰富的ESL工具外,Coware还具有完善的ESL咨询服务及技术支持,希望能够帮助想要进行SoC设计的公司顺利转入ESL设计。 ESL设计之所以会受欢迎,主要源于以下三方面功能:

1 在抽象层设置的约束和参数可以被传递到各种用于设计实现的工具中。 2 系统设计更早地和验证流程相结合,能确定工程开发产品的正确性。 3 功能正确和时钟精确型的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间。

嵌入式软件驱动SoC设计

图1总结了市场调研公司国际商业策略(International Business Strategies)对SoC设计工程师所做的调查数据。它表明,两种主要的SoC设计

挑战--与设计嵌入式软件和硬件架构的相关工作量随着工艺的缩小而急剧增加,而硬件实现(RTL设计、综合、物理设计等)工作量的增加则要少得多。请注意,该调查提到的嵌入式软件由半导体制造商提供,这些软件不包括由系统生产商开发的使终端产品差异化的软件。

图1:随着工艺节点的缩小,主要设计工作从硬件实现转向设计嵌入式软件和硬件架构。

主要设计工作从硬件实现转移到嵌入式软件和硬件架构这种显著变化表明,芯片已真正成为一个嵌入式系统。 嵌入式软件开发工作量的增加,主要是由于能够实现消费产品之间兼容性和互操作性的无线及多媒体标准(或者其中之一)越来越多。诸如JPEG、MPEG、3G、GSMGSM

GSM系列主要有GSM900、DCS1800和PCS1900三部分,三者之间的主要区别是工作频段的差异。 /EDGE、IEEE 802.11/a/b/g WLAN、蓝牙和UWB等标准,都是现代电子产业获得商业成功所必需的。

架构开发工作量的增加主要是由于SoC需要集成和优化越来越复杂的处理、存储资源以及通信协议,这些对以必备的性能执行嵌入式软件很有必要。实际上,先进SoC现已采用3个或更多微处理器以及3个或更多数字信号处理器(DSPDSP dsp是digital signal processor的简称,即数字信号处理器。它是用来完成实时信号处理的硬件平台,能够接受模拟信号将其转换成二进制的数字信号,并能进行一定形式的编辑,还具有可编程性。由于强大的数据处理能力和快捷的运行速度,dsp在信息科学领域发挥着越来越大的作用。 [全文]

)。甚至连主流设计也已包含一个微处理器和两个DSP,而包含两个微处理器和两个DSP的情况也很常见。 换句话说,嵌入式软件现正驱动着SoC设计,而且嵌入式软件对开发中国自己的通信和媒体互操作性标准也非常关键。

业界领先公司采用ESL设计是因为它使设计工程师能够及早进行软件开发,实现快速设计和派生设计、快速硬件验证以及快速硬件/软件(HW/SW)验证。它还提供可以用来验证下游RTL实现符合系统规范的功能测试平台。此外,ESL设计工具可综合针对应用优化的定制处理器,以及快速开发和实现先进算法。 及早进行软件开发:对于一个大型软件开发任务,尽可能早地开始软件开发很有必要,即使原有软件的复用程度很高。

采用基于SystemC语言的ESL设计方法学,SoC架构工程师可生成一个用来

仿真SoC行为,如果需要,还可仿真SoC周期精确时序的高级模型。这个模型称为事务级模型(TLM),它使软件设计工程师在RTL设计或者硅原型完成前的好几个月就可着手进行软件开发工作。 在传统的 ASIC 设计中,系统设计师确定芯片规格后,按照设计流程设计出的芯片如果 能够正常工作,就可以认为是达到了设计目标。

在 SoC 设计中,设计目标是实际应用的系统性能。系统性能不仅取决于芯片硬件本身, 还取决于运行在芯片上的软件。采用传统的设计流程,仅仅能够确定芯片硬件的规格,无法 准确地估算软件性能,因此也就无法确定整个系统的最终规格。在早期的 SoC 开发中,由 于软件不是很复杂,这一问题并不是特别突出,凭借系统设计师的丰富经验,还是能够顺利 地完成开发任务。

但随着芯片规模变得越来越大,IP 的使用进一步增加,SoC 会包含多个可编程部件(CPU 和 DSP),嵌入式软件开发在整个设计中所占的比重越来越大。整个系统的性能越来越取决 于软硬件协同工作所表现出的综合性能。传统的设计流程无法估算出系统性能,一旦芯片完 成流片后,只能通过优化软件来尽可能地提升实际应用的系统性能。

Seyul Choe 先生强调,ESL 解决方案的目标在于提供让设计人员能够在高抽象层次对芯 片进行分析的工具和方法,能够让设计人员快速地构建原型平台,通过对系统的分析,快速地确定能够符合市场需求的最佳体系结构。

探索最优化的体系架构

SoC 和 ASIC 设计的最大区别在于 SoC 中引入了 CPU,提高了芯片设计的灵活性。在 系统中存在 CPU,也就必然有软件在 CPU 上运行,包括启动代码、驱动程序、操作系统、 应用程序。系统不仅包括硬件,而且还包括软件。整个设计能否达到预期的设计目标,不仅 需要系统能够符合功能要求,而且还要达到性能要求。

在传统的设计流程中,设计目标能否达到,很大程度上取决于系统架构师的设计经验, 缺乏有效的工具支持来定量的给出系统关键性能指标。

在很多情况下,系统中可能存在性能瓶颈,功能能够实现,但性能达不到设计目标的要 求。Seyul Choe 先生介绍说,Samsung 公司在其 S3C2510 芯片发布后,发现其中的一项关键 指标 NAT(网络地址转换)无法达到预期目标 98Mbps,只能达到 52Mbps,相差了一倍。 Samsung 通过采用ESL方法,建立了基于 SystemC 的平台,从Cache大小、总线利用率、

CPU速度等多方面进行了分析,快速的找到了系统的瓶颈并成功地解决了这一问题。更早的进行软件开发,缩短芯片上市时间 除了硬件设计外,嵌入式软件开发(ESW,Embedded Software Development)也是 SoC设计流程中的一个不可或缺的组成部分。在传统的设计流程中,软件设计任务只有在芯片的 硬件原型已经提供后才能进行。这种方式经常导致产品推出时间计划的延迟,原因是软件尚 未完成。有了虚拟平台意味着可以更早地进行软件开发。有了和实际硬件一致的模型,软件开发人员就能和硬件设计人员并行工作,进行软件代码的编写和测试。另外,软件开发人员的提早介入,还使软硬件的集成和验证变得更加容易。这样,在芯片物理设计完成后,绝大多 数或者全部软件都已经准备好并经过验证,从而大幅度缩短了最后的硬件和软件的集成。 减少了验证局部模块的工作量,提高了系统验证的效率。

ESL的成长主要是因为需要在不同设计阶段的实现工具之间传递数据和设

计框架。早期的ESL雏形工具往往试图改变各个设计者的设计流程、设计语言和编程风格,而不易被接受,导致了上世纪九十年代末的失败。另一方面,那时缺少各种IP库,和搭建系统所不能缺少的各种功能模型,也是当时不受欢迎的原因之一。而ARM对于ESL的投入正好克服了上述窘境。首先,ARM是业内最大的IP提供商,将ARM的产品建模,就提供了非常完善的IP库;其次,ARM拥有业界最大的技术合作伙伴网络,在ARM的ESL工具库中包含了最全面的第三方IP模型,如各种主流DSP和其他处理器(CEVA, ZSP, Infineon, StarCore等)。现在,客户已经可以利用各种处理器模型,总线模型和ARM PrimeCell中的大量设模型来完成SoC结构设计了。

更早地进行软件开发

有了虚拟的原型平台意味着可以更早地开始软件开发。有了和实际硬件一 致的模型,大量的软件工程师可以并行的进行软件代码的编写和测试。这样不但节省了大量软件开发的时间,还使软硬件的集成和验证变得更加容易。如此独一无二的特性吸引很多公司将其作为设计流程中特定的一环,来自三星公司(Sam- sung)的经验表明,能够将开发时间缩短了40%。在更早的设计阶段完整的描述SoC的功能是采用ESL设计方法带来的重大优势,就像在上世纪八十年代RTL的设计方法开始受到工程师青睐一样。刚开始时,RTL仅仅用于检查和认证高级概念的验证阶段。只有当功能通过这一标准形式的验证,才能进入到大规模的实现流程中去。但真正使RTL语言深入人心的原因是通过综合工具与整个实现流程相连接,使它再不仅仅是一种验证语言。今天,ESL工具正在以相同的方式发展。最初应用于建模,验证和认证,然后延伸到实现流程,可以自动生成硬件和软件,以加速设计的完成。只需要简单的连接和配置高层次的模块,就可以从SystemC的描述转为RTL,直至网表(Netlist)级的设计,这一切已经被证实可行,并正蓬勃发展。

可配置IP

越来越多的系统强调自己的可配置性,诸如:不同的处理器,不同的总线带宽,不同的存储器容量,可配置的引擎和 无数混合的外设。所以在仿真中模拟各种不同的配置对设计者来说太有价值了。不但可以用来开发设备的平台,用以确信设计能满足应用的需要;还能降低不断增长的定制设计的成本。这些成本不仅包括开 发设计费用,还包括避免错误芯片的生产费用。ESL将为广大的客户带来难以估量的利益。ESL设计领域有三种不同的层次,许多工具提供商都把它们命名为ESL,使读者容易混淆。在最高的层次是算法开发,在设计和实现层次

是系统架构开发,第三种就是设计的自动生成过程。在算法开发领域已经有许多成熟的工具,如:Mathworks公司的MATLAB用以 常规算法的开发,CoWare公司的SPW用 以DSP算法的开发。这些工具除了芯片设 计,在其他领域的也能广泛使用,诸如:微分子建模和复杂的金融交易。过去的这些算法级设计工具能很好的完成算法开发并仅生成相应的软件,或仅生成硬件。却不能很好的将算法映射到完整的SoC设备中,特别是那些需要分 布式计算和通讯的设备。这正是ARM公司RealView SoC Designer工具的着眼点。

架构级ESL

架构级ESL工具能完成功能到运算引擎的映射。这里的引擎指的是那些可编程的目标——如ARM处理器、可配置的DSP协处理器,或者是特殊的硬件模块,如UART外设、互连系统和存储器结构。这是系统设计的开始环节,从行为上划分系统,验证各种配置选择的可行性及优化程度。目前大多数人仅把这认为是ESL的作用。在这领域中的工具很多,如:CoWare公司的ConvergenSC,Synopsys公司的CoCencentric System Studio,Prosilog公司的Magillem,当然还有ARM公司RealView SoC Designer。这些工具都能用于开始时的架构设计,这也正是ESL工具已经熟的市场。ESL工具对于开发可配置结构体系是非常关键的。它使系统构从抽象的行为 级很容易的映射到具体的硬件设计,从而方便的决定哪些模块可以被重复使用,哪些新模块需要设。还能提供必要信息指导最优化的通讯,调度和仲裁机制。许多系统厂商都有过去开发的软、硬件IP。为了在架构设计中方便的复用,模拟这些模块,就必须对它们进行建模。诸如处理器和总线这样主要的IP有各种高级 语言的模型,但那些早期传承下来的模块往往连基本的文档都不完善,想要复用就更加困难。

这种情况正在得到改善。新的模型可以用SystemC语言来描述功能,这是一种特殊的C++语言,可以支持严格的仿真和数据类型。系统厂商正在不断用SystemC 来为现存的IP建模,并且在设计新模块前都先建模来验证。这样新的IP都确保先有模型,再开始实现。

仿真是这一设计层次上的关键。这些模型能够提供 比RTL级快好几个数量级的仿真速度。在保证功能正确的前提下,只损失一些时序精度。所以对ESL工具的挑战就是既要保持足够精度的时序信息来帮助设计决策,又要提供足够的仿真速度以满足大型的系统软件(如OS启动)在可接受的时间内的完整运行。只要能掌握这种平衡,就可以在高级设计中验证时序和设置约束条件,再将这些优化的设计分割,分配到各个不同的软、硬件设计工作组去 加以实现。

举个例子,RTL或带有时序信息的RTL仿真通常只能提供10MIPS到数百MIPS左右的系统仿真性能;然而,时钟精确型的ESL仿真却能达到100KMIPS到1MMIPS的仿真速度。一般来说,ESL上的仿真只会同RTL仿真的时序有些微差别,这足以满足在时钟级别上验证系统行为的目的。功能精确而时钟近似型模型可以支持 足够快的仿真来满足应用软件的开发,或系统虚拟原型机,程序员感觉就像在硬件原型平台上工作一样。目前,ARM公司的RealView SoC Designer正是以业界最快的仿真速度来满足这些应用需求的。

将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已经实现了从RealView SoC Designer ESL环境中自动导入Synopsys DesignWare core Assembler SoC的集成和综合流程。并且可以从coreAssembler或Mentor

Graphics公司的Platform Express中启动ARM PL300 AXI可配置互联生成器,来生成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方案,可以采用“分而治之”(Divide and Conquer)的验证方法 SystemC 设计当作功能验证原型,或称“测试平台”,利用工具强大的系统级分析能力在整个设计的初 期对 TLM 级的硬件设计进行验证,TLM 级的设计会在其后变成更加具体的RTL级(VHDL 或 Verilog)设计。工程师可以并行地进行工作,如分割并验证系统中的每一个子系统,包 括运行真正的软件。软件开发人员编写的测试代码,既可以验证 SystemC 模块,还已经验 证 RTL 模块,最大程度的得到了复用,大大减少了硬件验证开发人员的工作量。

CoWare 以 SystemC 为技术平台,将原来的三个产品整合为一个产品线,使 SoC 平台的架构分析、定制处理器设计和算法设计能够协同工作,从而推动了平台驱动的系统级设计。 1.快速设计和派生设计

不断变化的消费市场要求不断推出“新的和改进的”产品。一些改进可以通过重新对SoC进行编程来获得,但更多的 软件可能需要更多的硬件资源,因此设计工程师必须采用可实现快速硬件设计和派生设计的方法。

RTL平台曾被设计用来减少派生设计问题,它通过为未来设计提供一个经过预验证的架构来实现这一点。然而,为满足新的市场需求而优化RTL架构以及集成RTL IP所带来的困难,会显著减缓设计过程。一个未经优化的架构可能对性能和功耗产生负面影响。最终,设计团队可能被迫放弃功能性以达到性能和功耗目标。

TLM应用于函数调用和数据包传输层。这是一个抽象层,“设计意图”在该层被捕获,而且该层给设计工程师提供了一个直接而清晰的系统行为视图。硅IP的SystemC TLM模型很容易集成到SoC架构的TLM中,这使SoC架构师能快速研究并分析多个备选硬件架构和硬件/软件分割方案(每个方案具有不同的性能和经济上的折衷)以确定最佳架构。这种方法明显加快了初始设计,但它最大的好处是在快速转变的派生设计中采用最初的SoC TLM作为易于更改的平台。TI便是采用这种方法开发OMAP系列处理器和调制解调器解调器解调器是调制式直流放大电路中的一个重要组成部分.负责把已放大了的交流电压还原为直流电压,其大小和极性与交流电压的幅度和相位要对应。 2.快速验证

TLM的抽象级别明显高于RTL的抽象级别,它描述模块内的电路状态、精确到纳秒的转换以及精确到位的总线总线

总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。行为。因此,意法微电子等领先公司认为,相比使用RTL,使用周期精确的TLM将使硬件验证和硬件/软件协同验证速度快1,000倍或者更多。这种方法不仅可产生用于验证系统行为和RTL实现的功能测试基准(testbench),它还支持SystemC与RTL的协同仿真,这样SoC TLM可被当作一个“测试台”,当下游RTL实现模块可用时,它们便可在这个测试台上进行验证。

高通公司的经验表明,系统级的HW/SW协同验证要优于C/RTL实现级的HW/SW协同验证。一个维特比解码器设计可在20ms内执行一个信息包,但是在C/RTL级进行仿真却需要6个小时,高通估计必须仿真1,000个信息包才能达到合理的置信度,因此总共需要6,000小时的仿真时间,但这是不现实的。而1,000个信息包与一个TLM进行协同验证将只需要6个小时,或者更少。

针对应用优化的处理器的综合:不断增强的处理能力需求经 常通过采用额外标准通用(GP)处理器内核来满足。然而,构建GP内核是用来解决广范围内的应用,它可能无法以必备的性能执行一个给定软件算法,且可能占用过多芯片面积和功率。另外,它通常还需支付大量的额外IP许可费和版权费。

采用指令集(IS)针对应用需求优化过的处理器可解决这个问题。定制IS处理器可在只有绝对必要的硬件资源条件下提供必备的性能。利用ESL工具,这样的处理器可以从结构描述或者定制IS本身开始自动综合。ESL工具还自动生成处理器的软件开发工具,例如指令集仿真器仿真器 仿真器是用于嵌入式及其他行业中,用可控的手段来模拟微机对程序的控制和运行的一种硬件。它能够完全反应真实硬件的运行情况,是开发过程中的必需品。 以英飞凌为例,该公司据称在两个月内就为特定应用的多速率DSP开发出网表和开发工具。 3.先进算法开发

在消费设备中使用的诸如JPEG和MPEG等很多先进算法都是数字信号处理算

法,必须实现这些算法以达到对不同设备来说可能不同的性能和功耗目标。先进算法通常首先设计成浮点算术形式的参考算法(实际上,像JPEG和MPEG这样的标准算法一般都以这种形式实现),然后再转换成定点算术形式,嵌入式软件和RTL实现便是从定点算术形式衍生出来的。

针对DSP算法的图形化ESL设计以及仿真工具能实现这种流程。对于通信和多媒体应用,采用可定制DSP算法的预设计库能加速算法开发。另外还存在一些标准算法库,例如3G W-CDMA、GSM/EDGE、IS-95 CDMA、IEEE 802.11/a/b/g 无线局域网(WLAN)、蓝牙和UWB。当HW/SW分割后,采用微架构库可加速RTL实现的开发。大唐使用这样的工具与其他公司合作开发了TD-SCDMA的基带库。

当今,芯片设计需要进行深入的系统级仿真,以确保设计的体系架构合适均衡。在绝大多数情况下,所进行的这些仿真还要求在芯片的仿真模型上运行大量的软件,以覆盖所需的功能。为了让这些仿真具有合适的执行性能,架构设计正在向电子系统级(ESL)解决方案发展。本文探讨了一种基于SystemC和

SystemVerilog的设计流程如何满足极为复杂的硬/软件系统级芯片(SoC)的设计周期和降低风险的目标。 复杂性催生ESL方法学

为了探讨ESL在设计流程中的作用,我们首先看一下当今的主要设计原则。下面的图1所示是一个十分典型的芯片。目前,这类SoC的一大部分是采用IP模块进行组装的。这些模块部分来源于以前的设计,其它是从内部IP库获取的,或者是由外部IP提供商所许可使用的。当然,SoC中还包含了需要重新创建以加入关键性功能的模块。

据普遍预计,对于下一代90纳米和65纳米

设计而言, IP的使用将进一步增加。SoC还将包含多个可编程部件,例如中央处理器(CPU)和数字信号处理器(DSP)。有了这些部件和众多的(甚至更大的)IP模块,为了SoC设计的成功,在性能、功耗和芯片制造成本之间通过快速组装、仿真和分析各项体系结构方案寻求最佳平衡的能力正在变得越来越关键。

除了硬件设计任务以外,软件设计任务也正在成为SoC设计流程中一个不可或缺的组成部分。传统上,软件设计任务标准情况下只在芯片的硬件原型已经提供后才执行。例如,在无线领域,这种方式经常导致产品推出时间计划的延迟,原因是“软件尚未完成”。为了解决这个问题,一种“虚拟原型”的概念出现了。虚拟原型是目标芯片的一种高速(20MHz以上)事务处理级模型,这个模型让软件开发工作在硬件原型完成前数个月前就可以开始了。 新兴的SoC设计流程

图2所描述的设计流程有利于引导SoC开发人员尽力解决这些难题。这一设计流程以ESL流程为起点,包含三项紧密相关的行动——产品规格确定、体系架构设计以及软件执行平台的开发。这个ESL流程的一项关键要求是它催生了一种硬件和软件并行开发的流程,为需要设计的新逻辑模块提供了详尽的规格,并提供事务处理级的虚拟原型,而软件开发任务就可以在这一原型上执行。

ESL阶段之后是RTL设计/验证和软件开发任务的并行执行,这样在创建了硬件原型(要求提供RTL)的同时,也能够提供必需的软件。

与此类似,在芯片物理设计完成,代工厂即将交货之时,绝大多数或全部的所需软件均已经准备好并经过验证,从而确保大幅缩短最后的硬件/软件集成阶段。

事务处理级建模——ESL的关键

事务处理级建模提供了用于构建上述虚拟原型的关键技术。系统的事务处理级模型描述了系统各个功能单元之间的抽象操作(事务处理)。典型情况下,这些事务处理是各个功能单元之间交换的整个的数据结构(或对象)上读取/写入或发送/接收操作。

事务处理级模型的仿真速度比RTL模型快出若干个数量级。首先,它不对每一个硬件信号的功能进行建模,而是在抽象数据类型(可能代表了许多单个信号)上操作的模型,从而实质性地加快了仿真的速度。第二,通过使用抽象数据类型来代表RTL内多时钟周期的数据传输,甚至可以让仿真的速度增加更快。因此,将这些因素结合起来,TLM模型比同等的RTL模型的运行速度快出100倍至1000倍以上都是常见的,这个速度已经快到足以运行相当大的软件。 当今,在RT上的抽象层次已经十分明确,但TLM尚未达到这样的程度。实际上,适当的TL抽象层次经常取决于应用领域和运行仿真的首要目的。某些应用要求周期上的精确性,例如对具体的高速缓存器特性的分析。而某些应用甚至可能要求在开发流程中与RTL模型建立部分关联,而其它应用(典型为软件开发任务)只需要功能上的精确度。

目前,SystemC和SystemVerilog均得到了广泛应用,并由IEEE和其它工业组织进行了标准化,得到了由各家EDA供应商提供的工具的广泛支持。而将SystemC和SystemVerilog组合起来,能够最大范围地解决可能出现的对事务

处理级的建模问题以及满足工程师的偏好,并提供一套从ESL至RTL验证的完整解决方案。 SystemC

SystemC是一种灵活的基于对象的结构化建模语言,设计用于对包括TLM在内的多种抽象层级进行建模。SystemC以C++库来实现,其中将并发性结合进传统C++语言框架中。

虽然SystemC语言相对较新,但SystemC的采用具有重要的意义。原因之一是,在SystemC成为标准以前,

在未来的几年内,ESL工具客户的成功会证实,并更加确信ESL的设计理念、模型和工具能跨越传统的设计鸿沟。 ESL为我们提供可信赖的方法学,快速的完成数百万门电路和数千行嵌入式软 件代码的设计和验证,从而才能满足当今日益增长的消费者需求。

参考文献

[1]袁丽晖;SOC时代下的EDA技术发展趋势[J];电子科技;2005年02期 [2]于宗光;开发SOC面临的问题及发展展望[J];微电子技术;2001年01期 [3]刘成;基于可配置处理器的嵌入式系统ESL设计需求[J];电子工程专辑 [4]百度百科;SOC片上系统;ESL电子系统级

本文来源:https://www.bwwdw.com/article/20b2.html

Top