提高IP整合效率 SoC开发时程大幅缩减

2016-07-21 12:46:47来源: 新电子
    矽智财(IP)整合逐渐被视为开发SoC的关键挑战,而诸多因素共同导致IP整合更加困难。有鉴于此,EDA产业计画以随插即用(Plug And Play)类型的标准化IP来因应,使其在IP整合的过程中,发挥如同“乐高积木”般的效用。

矽智财(IP)整合逐渐被视为开发SoC的关键挑战,而诸多因素共同导致IP整合更加困难。日益复杂的系统、IP的重复使用、IP可组态性和紧凑排程等诸多问题的共同影响之下,传统的流程与方法已不再管用。EDA产业已将IP整合视为下一波重大挑战,并计画以随插即用(Plug And Play)类型的标准化IP来做因应,使其在IP整合的过程中,发挥如同“乐高积木”般的效用。这种乐高概念的解决方案已问世多年,它利用IP中继资料(Metadata)来描述、标准化并格式化IP介面,藉以提高IP整合流程的效率。  
业界推出的主要解决方案为IP-XACT(IEEE-1685),此标准包含IP中继资料的结构定义。虽然IP-XACT使用率有所提升,但仍缺乏标准整合方法,使业者难以提供完全互通的IP中继资料,无法达到快速且可重复使用的IP整合流程。本文提出基于标准的IP整合方法来因应这项挑战,而这项解决方案结合了IP介面标准化及运用这些介面的相应规则式整合方法,藉此提供快速且优质的IP整合;同时也将探讨使用IP-XACT来标准化可组态IP的效能、优点与限制,以及业界使用IP-XACT标准的实际情况;并概述Accellera Systems Initiative如何利用标准化汇流排定义来协助实现IP可互通性。  

本文也包含一项案例研究,详述如何以规则式的方法来整合复杂的ARM IP-based系统;并举出多项指标,说明规则式方法可让初次专案排程获得8倍的改良效果,更较传统方法多出20倍的改良潜力;其他效益包括提升连线品质,以及高度可重复使用的设计整合意图。本文最后在结论中提出一系列建议,以供实作高效率的IP整合流程。  

IP整合为开发SoC关键挑战  

随着IP重复使用逐渐成为实现SoC的主流方式,IP整合已被视为开发SoC的关键挑战,同时不断地推升整体成本;而诸多因素共同导致IP整合更加困难。  

.SoC的设计益趋复杂,意味必须整合更多IP区块与子系统。  

.SoC的开发持续要求精简排程与成本而不影响品质,促使业者必须重复使用内部或第三方IP,并尽量迅速有效地予以整合。  

.IP的复杂度与可组态性日益提升,可能会有数千个连接埠与数百种不同组态。  

.设计团队的规模并未随着挑战增加而扩大,必须以较少人力来应付更多的问题。  

.采用不当的标准与方法来整合IP,将更难以实现高效率且可重复使用的整合效果。  

由此导致的不良IP整合流程,更成为晶片设计的一大挑战。  

IP整合涵盖许多不同领域,包括RTL组合与连接、软硬体整合及其他面向,例如时钟、重置、电源等。本文件聚焦于有效且快速地从RTL IP建立系统的RTL结构网表(RTL Structural Netlist)。虽然本文提出的许多解决方案,也适用于其他整合面向,但本文讨论范围仅限于RTL IP整合。  

传统的IP元件整合着重在区块/模组的实例化及透过结构描述编辑器的互相连线。  

在晶片开发的整体作业之中,这项整合活动已接近开发周期尾声,为最终阶段的设计作业。只须绘制连接埠之间的线路,具备数十个连接埠的区块就能以图形方式相连;但可能必须建立数百道连线,并于数日之内完成作业。  

RTL问世之后,这项整合作业可透过结构描述编辑或直接编辑RTL程式码来进行实作,然而随着设计益趋复杂,无论结构描述或基于RTL的方法都已无法跟上脚步;由于相关连线零散在整个RTL程式码之中,指定或检视RTL连线也十分费力。  

为因应这项问题,许多公司发展出内部解决方案,例如使用连线规格或指令码;其中许多是以Excel做为前端来撷取连线资讯,再用CSV、Perl或VBA巨集建立实际连线。  

这些解决方案的优势在于最佳化的连线流程,且较纯RTL项目容易使用。然而,上述方法已无法满足特定流程需求,因为有数百项IP与子系统需要组态、实例化、连接,并且在有限时间内持续改善。  

EDA产业因应之道  

EDA产业深刻体认IP整合成本的攀升,并将IP整合视为业界下一波的重大挑战,业者计画以随插即用类型的标准化IP来做因应,使其发挥如“乐高积木”般的效用。目前已经开发IP-XACT等标准,可供多个元件厂商共享标准元件描述。IP-XACT是“在工具流程中进行封装、整合并重复使用IP的标准结构”。虽然颇具潜力,但IP-XACT起初难以满足业界需求,导致采用率不如预期。  

IP-XACT为IP元件及设计中继资料的定义提供结构描述,并利用汇流排介面定义,将硬体连接埠对应至标准汇流排定义,藉以提供IP检视的标准化机制。如此可以实现更为“整合就绪”的IP,这项概念可望提升30%的SoC整合时间与成本。  

但是,虽然IP-XACT提供结构描述的定义,却无法提供标准化的方法。IP-XACT能够将连接埠名称对映至汇流排定义,藉此标准化各项介面;但若汇流排定义本身尚未标准化,则难以实现整个产业的可互通性。随着第三方IP的使用与重复使用日益盛行,这将可能成为重大的问题。  

例如,可能由某家IP供应商(内部或外部)提供记忆体管理IP区块,再由另一家供应商提供汇流排互连架构IP。虽然两者皆采用有效的IPXACT来进行描述,但其介面可能因为采用不同汇流排定义而不相容。此时需要的是类似SystemVerilog与UVM之间的关系。SystemVerilog为语言提供语法,而UVM则提供可重复使用且可互通的方法。若要实现最佳整合解决方案,通用介面的标准化也非常重要。  

IP-XACT可为通讯连线实作带来极大的效益。以下范例显示两个元件执行个体的互相连线(介面层级连线)(图1)。此互相连线Interconnect1将i_uart执行个体上的apb介面连接至i_bus汇流排互连执行个体上的uart_apb介面。  


图1 Interconnect1相互连线程式图。
同样的,以下范例显示两个元件执行个体之间的临机操作(ad-hoc)(连接埠层级)连线(图2)。它将i_uart执行个体的int(0)连接埠连接至i_intc执行个体的intvector(7)连接埠。  


图2 Intvector(7)个体执行程式图。
此举可能适用于已实现连线之间的通讯,但并非指定连线意图的有效方式。例如,为了表示顶层Scan_enable讯号与设计中所有执行个体的Scan_enable讯号连线,各个唯一的连线都必须以XML格式加以定义,无论使用互相连线或临机操作连线皆然。同样的,如果中断(Interrupt)等特定讯号类型要从IP执行个体路由至元件边界,则必须先在边界定义各个中断介面/连接埠,然后再进行连线。这需要极为详细的XML定义。  

因此,虽然IP-XACT有利于可互通格式的元件/IP资料通讯,并且适用于定义介面连线,但仍缺少完整系统建构与连线定义所需的抽象层。  

有鉴于上述问题,可能且有效的IP整合解决方案做法如下:  

.推动跨产业的IP介面标准化。  

.在整合流程中充分利用业界标准IP介面。  

.为使用者提供极具效率的方式,以利定义完整的系统组合、连线及可组态性。  

.提供充分的弹性,以利建立可组态系统。  

.确保高度的可重复使用性与维护简易性。  

.透过IP-XACT实现与其他整合流程的可互通性。  

.确保熟悉相关领域的人员可立即使用这项方法。  

本文件继续探索这项解决方案,并藉由结合IPXACT等标准及全新且创新的规则式整合方法,来提出上述方案。此方法的最新实作由Socrates Weaver提供。  

采用标准化方法确保IP整合就绪  

使用IP标准化方法来确保IP已经“整合就绪”是很重要的。先前强调的问题之一,就是通用介面缺少业界标准汇流排定义。Spirit协会已发展一套初始汇流排定义,目前已在Accellera Systems Initiatives网站上提供。  

另外,Accellera中的IP-XACT最佳实例群组正在开发可供整个产业使用的汇流排定义,同时制定准则,以确保汇流排定义更加标准化且互通。部分公用汇流排定义由通讯协定标准的拥有者提供。以ARM IP为例,ARM提供了AMBA通讯协定的汇流排定义。  

IP标准化程序又称作“IP封装”,其中包含几项元素:  

.提供将连接埠聚合为介面的机制,以利简化整合与验证作业。  

.提供标准化IP硬体检视的能力,由于不会影响RTL连接埠名称,因此可以视为标准化叠层。  

AMBA是ARM Limited在欧盟及其他国家多个IP来源的注册商标,提供跨所有资源的标准化检视,以利加强促进整合。若要建立此标准化检视,可透过手动建立IP-XACT XML或利用Socrates等中继资料项目工具。  

规则式整合增进系统连接/组成  
本文所探索的解决方案是一项全新的整合方式。规则式整合是一套方法论,可促成正式且有弹性的方法,来进行系统的建立与连接。一套整合规格包含一组值,含有强大的整合指令,以定义系统的组成与连接。  

整合规格(或规则集)将进行合成以建立实际连线(介面/连接埠层级),再以多种格式呈现(文件、RTL/SystemC等)。  

Socrates Weaver实作规则式整合方法,其具有下列特性:  

.能够定义规则,并合成以建立系统连线。  

.一组强大的整合指令,可供建立及连接系统。  

.高阶整合巨集可将指令结合为程式库,并于各个设计以及衍生设计之间重复使用。  

.能以多种格式处理连线资讯,例如IP-XACT、VHDL/Verilog RTL、SystemVerilog、SystemC、Excel、Word 等。  

.能够从系统撷取整合数值,包括连线进度、复杂性分析等。  

.将规则分割为不同的档案以提供平行开发的能力。  

利用规则,透过强大的实例化指令集并连接元件执行个体,藉此整合IP以建立系统/子系统。图3简单的规则范例:  


图3 整合式方法整合IP示意图。
指令通常可在元件、介面及/或连接埠资讯上运作。常用的介面可能会有跨专案重复使用的相同整合模式,因此撰写任何系统特定的指令之前,通常重复使用 指令即可获得高阶的连线能力。例如,上述“Export Interrupts”规则可在整合的每个子系统中重复使用。IP标准化及利用此正式资料的可重复使用指令,共同形成稳固、有效率且可高度重复使用的整合流程基础。  

Weaver指令(表1)为有效的DomainSpecific语言(DSL),包含十一个简易的指令,可用于系统组合方案,例如建立、连线及阶层操作。建议的Weaver指令顺序从建立元素(例如执行个体)开始,然后使用连线指令连接元素,最后在完全连接的系统上执行阶层操作。  


相关指令详述如下:  

.建立(Create)指令可有效率地建立各种设计元素,包括元件、执行个体、介面连接埠、参数及特定元素的相关属性。删除(Delete)指令可用于删除上述元素。  

.连接(Connect)指令用于执行个体之间或执行个体与元件周边之间,建立连接埠或介面连线(互连)。中断连接(Disconnect)指令可用于中断现有连线。  

.结合(Tieoff)指令允许连接埠结合特定值。来源连接埠(边界输入及执行个体输出)可系结开放,而目标连接埠(边界输出与执行个体输入)可系结关闭至特定逻辑值,包括高、低、十六进制、二进制或八进制值。  

.汇出(Export)与汇入(Import)指令可让连接埠从执行个体汇出至边界,或从边界汇入至执行个体。在汇出过程中,目的连接埠建立(若尚未存在)于边界,并在汇入过程中建立于执行个体。来源连接埠连接至新建立的连接埠,而位于来源连接埠的任何连接埠或介面定义都将复写至此新建立的连接埠。  

.映射(Reflect)指令可让连接埠从一个执行个体映射至另一个执行个体。同样的,如果目的连接埠不存在,将会建立目的连接埠。映射指令对于自动建立基础架构元件边界而言非常实用,例如NIC、桥接元件或紧连逻辑(Glue Logic)。  

.群组(Group)指令可藉由将指定的执行个体分组为新的阶层并维持连线,以提供阶层操作功能。此时将会建立新的元件以包含指定的执行个体。分割(Split)指令与群组指令相反。它会移除包含执行个体的阶层,将该阶层所含的执行个体带入目前的阶层。同样的,此时将维持完整的连线。  

上述各指令皆运作于特定的设计元素上,例如元件、执行个体、连接埠或介面。关键的要求是弹性的选择机制,能够为指令指定明确的目标,同时能够控制指令行为的某些面向。  

例如,若能以单一陈述式定义所有AMBA重置讯号(Presetn、Hresetn、Aresetn等)系结至特定重置来源,或许会十分有效。此选择机制是接下来的内容主题。  

Weaver选择机制  

所有的Weaver指令皆遵循相同的通用格式,它们使用一或多个选择运算式,提供强大的过滤与规则运算式功能。  

范例(图4)显示连接指令后面接续了两个选择运算式。此选择运算式在元素之间使用点符号格式,为所有元件元素提供弹性的选择,并支援强大的过滤与规则运算式。利用不同的属性亦可过滤或限制这些选择,例如:  


图4 Weaver范例指令与选择运算式。
.IP-XACT汇流排介面与连接埠定义  

.连接埠方向或介面角色  

.使用者定义的属性  

.连线状态  

在选择运算式中,任何字串值皆支援正规运算式及变数替换。如此将可指定极为强大的连线意图。例如:  

.将所有“NTERRUPT”类型连接埠汇出至最上层。  

.将所有“CLKEN”类型连接埠结合至高(High)。  

.将reset_l连接至所有ARESETN或PRESETn及HRESETn类型的连接埠。  

.从包含文字“uart”的任何执行个体,将结尾为“_pad”的连接埠汇出至最上层。  

.将“Power_Domain”属性为“core”或“PD1”的所有元执行个体归于同一群组。  

运用控制指令精简运作方式  

许多指令皆有选项,可使指令的运作方式更为精简。例如,在汇出、汇入或映射连接埠时,Port_name选项可供控制已建立的连接埠的名称。使用者可利用来源连接埠名称、方向、执行个体及介面名称等,来命名已建立的连接埠,例如“${instance}_{port}”在汇出的连接埠前面,以该连接埠的来源执行个体的名称做为前置词。透过此类的弹性,即可实现以下连线意图范例。  

另外,从所有执行个体,将“_pad”结尾的连接埠汇出至子系统的最上层,并以执行个体做为该连接埠的前置词,以连接埠方向做为该连接埠的后缀词;或是将SDRAM控制器执行个体的连接埠汇出至最上层,但从连接埠名称中移除“sdram_”。  

每个指令皆有其特定的选项。例如,match_width连接选项可在连接埠宽度不匹配时,决定如何进行连接。此外,亦可在规则与指令上加入条件陈述式。这在建构高可组态系统时特别有效,因为它可让使用者设定系统组成并建立连线。在建立衍生性设计时也非常实用。  

阶层式系统满足多层级共同作业需求  

阶层式系统可以从它们的元件零件建立,让使用者能够在不同的阶层层级中同时作业;使用者可以从顶层执行合成,如此将可启动各个对应子系统的合成,进而在整个阶层实现极有效率的连线处理。此方式如图5所示。  


图5 建立完整系统阶层的规则。
此基本功能可提供更有弹性的阶层实作方式。例如,可将新的执行个体新增至子系统,额外的中断(Interrupt)将立即汇出至子系统边界,并可供顶层连接使用。  

由于指令与选择机制中既有的高阶的抽象与功能,仅包含几个指令的单一规则可带来成千上百的个别建构修正(Correct-by-construction)连接。这些规则极易理解与检查,并可轻松跨团队共享及重复使用。  

这些规则可以结合以建立更复杂的结构并储存于程式库,并可跨团队或公司使用及重复使用。  

ARM-BASED系统之案例研究  

此案例研究所描述的系统为高可组态系统,ARM用它来验证各种不同的系统组态。此系统如图6所示。  


图6 ARM IP Based系统。
此系统包含四个处理器丛集,各丛集各有可设定的处理器数量及处理器类型。这些丛集皆透过快取同调互连(CCI)连接至网路互连元件(NIC)子系统。NIC子系统包含包含额外的子系统,例如LCD、DMA、出错及周边子系统,以及其他元件,例如中断和时钟/重置控制器。共计有三十五种独立的IP需要整合。系统中的AMBA通讯协定包括APB、AHB、AHB-Lite、AXI、ATP、LPI、AXI4、APB4、ACE 及ACELite 2。  

此系统为结构Verilog(网表)格式,约含12,000行程式码。以人工撰写此类型系统的程式码,通常要两人同时进行,并需6∼7周的时间以Verilog撰写程式码。  

使用基于规则的方法,第一步是确保IP 介面已标准化。大约有一半的IP区块已具备IP-XACT定义,可利用一百零九种汇流排定义。其余的IP必须建立其他二十三种汇流排定义。此IP封装程序对各个IP而言,都只须执行一次。各个IP的封装约需1∼2小时,包括建立相关汇流排介面。  

从整合的角度来看,三个工程师负责结合不同的系统,在三个阶层中运作。2 APB、AHB、AHB-Lite、AXI、ATP、LPI、AXI4、APB4、ACE及ACE-Lite为ARM Limited在欧洲及其他国家的商标。  

在部分系统中,他们必须同时进行作业。为促进作业,整合工作区分为数个子任务,并分别授权团队执行。这意味着有些人拥有个别子系统的完全整合,有些 人则共用单一系统。所采用的任务委派范例如表2。  


各个子系统皆指派一位拥有者,负责定义相关整合规格(规则定义)。典型的子系统规则配置遵循明确的结构:  

.执行个体的建立  

.时钟/重置/电力连接  

.汇流排互连连接  

.汇出连接  

.执行个体间连接  

.其他连接  

.结合  

在最上层的整合方面,其工作分配给两个人员负责,两人各自位于不同的时区。不同的整合工作会进行识别,以确定能否独立,或同时执行而不会造成冲突。 这些工程师之一将成为最上层领导者,负责执行个体的建立及子工作的切割。连接工作将依据连接类型进行切割,例如AMBA、汇出(送至边界的讯号)、中断、时钟/重置/电力及CPU丛集。虽然规则档案可以包含其他规则档案,但目前已决定独立定义规则,并且不定时执行合并。此合并由Weaver处理。  

在此开发过程的某个时间,三位设计师平行作业,在三个阶层中进行变更。在某些情况中会引进新的子系统,另外有些情况则是IP须要进行新版本的更新。  

上述三个阶层将利用四十一条规则(总计三百七十二个指令)加以汇整,如图7所示,这将会合成及形成12,045行Verilog程式码:  


图7 ARM IP整合合成。
平均的指令与Verilog程式码行数比为32:1,这样十分合理,因为总是需要有一些非常低阶的连线(例如中断向量切片的中断)。  

经过分析之后,图8呈现一些有趣的特性。它显示透过整合指令来管理连接,比透过Verilog程式码更有效率。指令提供抽象,因此较容易定义、维护及重复使用。因为此系统已发展为次世代设计,规则基础架构与配置多少略有相同,并可妥善支援逐渐增加的变更。例如,在本文提出的整合工作中,次世代版本的中断控制器IP已在不到30分钟的时间内成功整合至系统。这是因为标准化程序提供了与RTL名称变更的分离,因此新的IP非常容易整合。在作业时间方面,其结果如表3。  


图8 ARM IP整合合成之详细内容。

基本上,整合三个子系统、一个主要的子系统(NIC子系统),以及最上层的整合可在四个排程日完成。过去这项作业最多要花上三十五个工作天。这表示这项第一次专案比过去的方法提升了8倍的时程。第一次专案的一些特殊考量包括:  

.由于团队中有一些成员不熟悉目标架构,他们必须花一些时间研究传统的Verilog程式码以瞭解连接。  

.部分团队成员不熟悉Weaver及基于规则的方法,必须接受工具与方法的训练。  

.在作业期间必须开发规则配置。  

.在整合活动过程中必须执行部分的IP封装,但通常不会发生这种情况。  

.在进行整合的过程中执行规则最佳化,这包括为重复的任务建立巨集。  

一旦部署此方法之后,合理估计新专案的时程可提升10∼15倍,衍生专案则可提升20∼30倍。其实值得注意的趋势,乃是藉由建立高可组态系统,以利用此方法管理衍生专案。  

在品质方面,已证明从规则合成的网路连线清单(Netlist)的品质与过去手动建立的连线清单相同,且有多项因素可进一步提升其品质。基于规则的指令可以利用标准化中继资料,因此发生错误的机率较低。  

例如,使用连接指令连接两个AXI介面,主控端的AWADDR讯号只能连接至从属端的AWADDR讯号。这对于系结(Tying off)讯号也是相同的。另一个影响品质的因素是指令比Verilog或VHDL程式码更加清晰简单。由建构修正(Correct-by-construction)的方法意味着较少的连接错误,系统验证团队可加快作业速度以进行较高值的整合验证。  

图表中的详细数据呈现使用基于规则的方法的第一个IP整合,并呈现特定的组态。由于此系统做为验证目标使用,因此将被用于验证各种系统组态,此程序的下一个阶段是在使用者层级推出此可组态性。此程序的目标是能够在几分钟之内,为完整的系统建立复杂且正确的组态。  

有效整合IP以提升制程效率/品质  

无论工具为何,若要实作有效率的IP整合方法,应采取以下建议:  

.采用着重于IP介面标准化与形式化的IP标准化方法。强力建议使用基于IP-XACT的方法,可大幅提高可互通性。确保使用业界标准的汇流排定义与准则也很重要。  

.使用可利用标准化IP中继资料的整合指令。指令集应须易于理解,并且位于RTL或IP-XACT之上的抽象层。  

.提供可整合多个阶层的能力,以便有效地将阶层深处的变更导引至阶层。另外,提供转译(Render)新功能阶层的能力。  

.允许使用包括档案进行同时整合,并可合并连接意图。  

.采用可轻松且有效检视结果连接的格式。  

.提供能够处理高阶IP与系统可组态性的能力。  

.包含能够正式证明所需的连接已如实建立的机制。  

.能够提供无缝交换新种IP并轻松建立衍生子系统,同时重复使用原始的整合意图。 此案例研究强调的一个基本面向,在于此方法提供标准化的IP介面。一旦标准化之后,即可利用此中继资料执行强大的组合与连接操作。透过规则式方法,将可实现能够同时进行整合的强大整合方法,进而减少整体SoC整合工作达15∼20倍。这些规则本身利用极少的指令集(DSL)加以指定,熟悉整合领域知识的任何人员皆可立即使用这些指令集。  

此方法亦适用于提供更有效率的软硬体整合。此方法也成功运用于建构可组态与复杂IP的引擎,另也有多种应用,例如交叉开关(Crossbar)的产生、桥接插入、I/O结构建立、紧连逻辑插入、电力插入,以及SoC与FPGA-based流程。另一个趋势是高阶系统规格与此规则式功能的连结。随着应用持续成长,规则式整合将继续发挥巨大影响,并大幅缩短时程,提升效率与品质。  

关键字:IP

编辑:北极风 引用地址:http://www.eeworld.com.cn/xfdz/article_2016072155892.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
IP

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved