- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
在SoC设计中采用ESL设计和验证方法
本文讨论电子系统级(ESL)设计和验证方法学在系统级芯片(SoC)设计中的应用。ESL设计是能够让SoC设计工程师以紧密耦合方式开发、优化和验证复杂系统架构和嵌入式软件的一套方法学,它还提供下游寄存器传输级(RTL)实现的验证基础。已有许多世界领先的系统和半导体公司采用ESL设计。他们利用ESL开发具有丰富软件的多处理器器件,这些器件为创新终端产品获得成功提供必需的先进功能性和高性能。
为什么中国的电子产业将会对ESL感兴趣?因为中国领先的电子公司正在经历一场对他们竞争力非常关键的转型。通过采纳技术创新策略,中国将成为纯粹的知识产权(IP)提供者,而不是纯粹的IP消费者。那些拥有知识产权的公司将持有通向IP库的钥匙。
为成功地执行创新策略,中国公司必须采用创新领先公司所使用的先进设计方法学。ESL设计正是这样一种方法学。它已经被诸多国际系统和半导体公司采用。在中国,大唐已率先在中国3G手机技术-TD-SCDMA开发中采用ESL设计,清华大学及其一些产业合作单位也采用ESL方法学开发先进的地面数字多媒体广播应用。
嵌入式软件驱动SoC设计
图1总结了市场调研公司国际商业策略(InternaTIONal Business STrategies)对SoC设计工程师所做的调查数据。它表明,两种主要的SoC设计挑战--与设计嵌入式软件和硬件架构的相关工作量随着工艺的缩小而急剧增加,而硬件实现(RTL设计、综合、物理设计等)工作量的增加则要少得多。请注意,该调查提到的嵌入式软件由半导体制造商提供,这些软件不包括由系统生产商开发的使终端产品差异化的软件。
图1:随着工艺节点的缩小,主要设计工作从硬件实现转向设计嵌入式软件和硬件架构。
主要设计工作从硬件实现转移到嵌入式软件和硬件架构这种显著变化表明,芯片已真正成为一个嵌入式系统。
嵌入式软件开发工作量的增加,主要是由于能够实现消费产品之间兼容性和互操作性的无线及多媒体标准(或者其中之一)越来越多。诸如JPEG、MPEG、3G、GSM/EDGE、IEEE 802.11/a/b/g WLAN、蓝牙和UWB等标准,都是现代电子产业获得商业成功所必需的。
架构开发工作量的增加主要是由于SoC需要集成和优化越来越复杂的处理、存储资源以及通信协议,这些对以必备的性能执行嵌入式软件很有必要。实际上,先进SoC现已采用3个或更多微处理器以及3个或更多数字信号处理器(DSP)。甚至连主流设计也已包含一个微处理器和两个DSP,而包含两个微处理器和两个DSP的情况也很常见。
换句话说,嵌入式软件现正驱动着SoC设计,而且嵌入式软件对开发中国自己的通信和媒体互操作性标准也非常关键。
为什么采用ESL设计
业界领先公司采用ESL设计是因为它使设计工程师能够及早进行软件开发,实现快速设计和派生设计、快速硬件验证以及快速硬件/软件(HW/SW)验证。它还提供可以用来验证下游RTL实现符合系统规范的功能测试平台。此外,ESL设计工具可综合针对应用优化的定制处理器,以及快速开发和实现先进算法。
及早进行软件开发:对于一个大型软件开发任务,尽可能早地开始软件开发很有必要,即使原有软件的复用程度很高。
采用基于SystemC语言的ESL设计方法学,SoC架构工程师可生成一个用来仿真SoC行为,如果需要,还可仿真SoC周期精确时序的高级模型。这个模型称为事务级模型(TLM),它使软件设计工程师在RTL设计或者硅原型完成前的好几个月就可着手进行软件开发工作。
1.快速设计和派生设计
不断变化的消费市场要求不断推出“新的和改进的”产品。一些改进可以通过重新对SoC进行编程来获得,但更多的
软件可能需要更多的硬件资源,因此设计工程师必须采用可实现快速硬件设计和派生设计的方法。
RTL平台曾被设计用来减少派生设计问题,它通过为未来设计提供一个经过预验证的架构来实现这一点。然而,为满足新的市场需求而优化RTL架构以及集成RTL IP所带来的困难,会显著减缓设计过程。一个未经优化的架构可能对性能和功耗产生负面影响。最终,设计团队可能被迫放弃功能性以达到性能和功耗目标。
TLM应用于函数调用和数据包传输层。这是一个抽象层,“设计意图”在该层被捕获,而且该层给设计工程师提供了一个直接而清晰的系统行为视图。硅IP的SystemC TLM模型很容易集成到SoC架构的TLM中,这使SoC架构师能快速研究并分析多个备选硬件架构和硬件/软件分割方案(每个方案具有不同的性能和经济上的折衷)以确定最佳架构。这种方法明显加快了初始设计,但它最大的好处是在快速转变的派生设计中采用最初的SoC TLM作为易于更改的平台。TI便是采用这种方法开发OMAP系列处理器和调制解调器。
2.快速验证
TLM的抽象级别明显高于RTL的抽象级别,它描述模块内的电路状态、精确到纳秒的转换以及精确到位的总线行为。因此,意法微电子等领先公司认为,相比使用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工具还自动生成处理器的软件开发工具,例如指令集仿真器、汇编器、链接器、反汇编器、调试器和C编译器。
以英飞凌为例,该公司据称在两个月内就为特定应用的多速率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的基带库。
TLM方法论
TLM是可实现及早开始软件开发、ESL设计以及验证任务的虚拟集成平台,图2显示了TLM在SoC设计中所处的中心位置。
图2:ESL设计与验证任务。
SoC TLM本质上是器件资源的一个网络模型,它全无实现的细节。功能模块的行为模型是根据它们的输入激励和输出响应来建立的。模块通过由API连接至每个模块的一个或者一组总线进行通信,这些通信过程则被建模成具有相关数据传输的数据流机制。这样避免了不必要的实现细节,这些细节会模糊设计工程师的系统行为视图并减慢仿真速度。模块行为与通信分开,可实现功能模块的快速修改或者替换而无需重新设计总线,反之亦然,它对快速的IP集成以及复杂的“what if”分析也非常关键。
有三种常见的TLM使用模式:程序员视图(PV)、架构师视图(AV)以及验证视图(VV)。尽管这些模式代表三种不同的系统视图,但是大多数模型都能以所有三种模式进行配置。
1.程序员视图
程序员视图TLM是SoC的一种功能正确模型,它允许使用传统软件以及及早开发新软件。一般情况下,PV TLM由处理器、存储器、外设的功能模型以及将事务引导到正确存储器或外设的路由器功能模型组成(见图3)。
图3:程序员视图TLM。
PV使软件开发人员能够访问必需的系统资源和属性,比如寄存器的可见性、寄存器的精确性和中断处理等,同时它还可直接链接目标处理器和调试环境的指令集仿真器(ISS)。目标RTOS的API以及目标处理器的编译器用来开发软件对象代码,此阶段的应用软件开发只需一个数据流模式(schema)。因此,PV是不定时的,PV仿真可在每秒数百万条指令的速度范围内很好地执行。
2.架构师视图
架构师视图TLM是具有SoC时序属性的相同模型。该模型使设计团队能够分析SoC性能以便在设计实 现之前准确找出瓶颈(见图4)。最终的硬件/软件分割决定是在这个视图中实现的。
图4:架构师视图TLM。
时序的捕获不是显式就是隐式。显式时序可以近似地模仿SoC的硬件性能,它用系统事件和事件同步的函数表示,而模块内部时序则可能非常精确。
隐式定时模型使用嵌入到TLM API调用中的时序注释,因此时序注释独立于功能性。这允许对各种功能模块的候选架构和实现进行快速修改和性能描述,它还可提高仿真速度,使隐式定时模型的仿真速度超过显式定时模型。
指令精确的ISS可通过PV-AV事务器连接到一个架构视图上,允许在执行软件的同时分析系统性能。PV-AV事务器还能评估在操作系统(OS)中执行应用的架构。OS以PV模式引导,应用则以AV模式执行。
3.验证视图TLM
验证视图本质上就是AV模型,它在周期精确的时序方面得到增强。这种模型能够实现可精确预测真实芯片时序的硬件验证和硬件/软件验证,它还使开发团队能创建用于RTL验证的测试基准。用Verilog和/或者VHDL编写的RTL模型一旦完成,便可在VV TLM模型中例示,这样在完整的SoC实现模型完成之前就能进行系统验证以及调试。
VV仿真的执行速度一般比RTL仿真和C/RTL HW/SW协同验证速度快三个数量级。
这三个TLM视图组成了全部ESL设计流程(如图5所示),不同模型可以利用易于设计的处理器和转换器协同执行。
图5:带有三种主要TLM使用模式的HW/SW开发流程。
ESL设计成功案例
领先的系统和半导体公司已经公开宣称ESL设计的结果超出预期,他们已转向采用在准硅片多处理器系统仿真模型上开发软件的标准操作过程,该模型能以近似实时性能执行。在某些情况下,仿真模型仅在两秒内就可引导普通的RTOS,例如嵌入式Linux。TLM方法具有良好的精确性,在将硅原型交付制造之前,这种精确性对于优化芯片架构的性能和功耗来说很关键。
例如,某大型日本打印机公司采用ESL设计方法,因为基于RTL的方法已不能应对每一代打印机所需的架构上的重大修改。该公司对其从低端家庭打印机到高端网络打印机的所有产品都采用相同的基本算法。然而,不同打印机类型在数据通信、处理、存储需求上的重大差异要求那些算法有明显不同的实现,包括不同的存储器架构和通信总线架构。
优化这些不同架构只能在ESL设计提供的TLM抽象级别上才能得到有效实现。不过,简单地转向ESL设计而缺少到RTL实现的链接将导致下游问题。该公司用管脚精确的事务器建立了这种允许SystemC TLM与RTL协同验证的链接。
从RTL转到ESL设计是一条很好的转移路径。ESL是一种“由中间开始(middle-out)”的设计流程,允许重复利用原有的RTL IP。在那些没有传统约束的情况下,可以采用“自顶向下”的设计流程。东芝公司便是采用这种流程,利用设计套件开发用户可配置媒体嵌入式处理器(MeP)。这个设计套件的基础是使设计工程师能针对特定应用定制配置的ESL设计环境。设计工程师可研究不同配置以确定哪种配置最佳,他们不仅要验证架构,而且还要验证每个硬件和软件模块是否满足系统要求。
LSI逻辑公司在其ZSP数字信号处理器内核设计中采用了类似方法。LSI对每种不同的内核开发周期和事务精确的SystemC模型,这使设计工程师能够对SoC架构中的内核性能建模。这些模型还使设计工程师能对硬软件交互进行调试。此外,设计师还可分析处理器的吞吐量和时延以及存储器性能。
本文小结
ESL设计和验证方法使设计工程师能够专注于那些给产品及IP带来差异化和价值的系统设计属性,即功能性和性能。这些属性是由先进算法、复杂的多处理器和存储器架构、高级通信协议以及针对应用优化的处理器(它们都由嵌入式软件驱动)决定的。RTL实现的精巧性与高效的实现有关,但其价值则存在系统设计中。IP的创新和拥有将成为中国电子产业的下一场革命,而ESL设计和验证方法学将成为这场革命的支撑力量。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:LED在光电鼠标中的应用
下一篇:工业设备中LED显示
盘扫描设计