• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 以OPENACCESS为基础的PCell缓存技术

以OPENACCESS为基础的PCell缓存技术

录入:edatop.com     点击:

OA数据库也是PyCells的基础,可以借由PyCellAPI而让任何以OA为基础的工具来利用,而不需要缓存即可让其他工具「看到」。在符合IPL规范的工具中使用IPL标准的可相互操作组件描述格式(InteroperableComponentDescriptionFormat,iCDF)与Tcl回呼函式(callbacks)时,PyCells具备完全的相互操作性。

PCELL缓存对象及其运作方式

编译过后的PCell代码,已经可供定制IC设计工具使用,称为PCell「supermaster」。Supermaster在*估时不含参数值;在赋值期间,仅仅通过当前工具采用组件描述格式(ComponentDescripTIonFormat,CDF)–或具相互操作性CDF(InteroperableCDF,iCDF)文件提供变量。

以手工方式放置或调用[instantiate]PCell到版图中时,工具会从CDF档案读取预设参数,然后在内存中建立这个cell单元的专属示例版本。此版本称为PCell「submaster」。所有的预设参数,或是被修改过的参数,都会储存为专属submaster的内容。给PCell赋值时,版图编辑器会运用这些专属参数来*估submasters,将版图写入内存,并在版图编辑器中呈现其版图以供查看或编辑。下次开启版图时,PCell将不得不重新赋值来建立新的版图。试想在拥有成千上万PCell的版图中,这一定会花费很多时间。

但是,如果工具将submasters储存到磁盘(缓存),那么就不需要每次都重新赋值了,可以大幅加速版图绘制时间。此外,每次建立submaster,在赋值PCell之前,工具都会先查看缓存是否含有同样的submaster,然后才建立新的版图。即使具有同样参数的同一PCell已经使用数千次(例如Contact),仍然只需缓存保存一个版图版本到缓存中,从而节省更多时间与磁盘空间。

基于PCELLS的缓存技术实现相互操作性

当没有相互操作性PCells可供选用,或者有庞大、既有的PCells库可供选用时,缓存功能对多重工具设计环境,或在转换到更新工具的过程中,是非常实用的。在这个领域内有两大选择:

ExpressPCells:当今的许多PCells都是以Cadence的专利SKILL脚本撰写语言来撰写的。即使是为了在更新的CadenceOA版本中使用,SKILLPCells也不是一定可以在其他工具看到的,因为并没有自动缓存。为了在其他工具中能够「看见」,CadenceExpressPCells可用来缓存OA数据库中的单元。这使得单元以–只读–的方式让其他非Cadence工具可以看见。

在某些工具,可以看见程序专属参数的属性表,但不可以在其他工具中修改PCells,除非先经过处理成为简单的版图。此外,stretchhandles、auto-abutment回呼(callbacks)在其他工具中是不可见的。(有关PCell功能的详情,请参照SpringSoft网站技术单元中的ASilicon-provenInteroperablePDK一文。)

例如,对于使用非CadenceDRC工具的使用者而言,需要ExpressPCells才能够直接从OA执行DRC。在多工具设计流程中,不同的版图模块有不同的版图编辑器完成,对于组合这些不同的模块,ExpressPCells是一个可行的方案。当然,进一步修改基于Cadence的模块,这些模块需要全部替换,或至少修改PCell实例。这就和典型的SOC流程没有什么不同了(SOC流程中,不同的模块有不同的团队甚至不同的公司设计完成)。

PCellXtreme:Ciranova的PCellXtreme?也能够搭配Cadence环境,就如同ExpressPCells缓存SKILLPCells一样,可以加速开启版图的时间。然而,与ExpressPCells不同的是,PCellXtreme服务除了可以看到缓存的PCell之外,还能够读取和修改PCell参数。PCellXtreme不转换PCell代码或赋值;如果没有第二个工具要读取PCell的参数,PCellXtreme会根据Cadence的SKILLPCell生成版图放进缓存中。所以新版图是可见的并且实时刷新。因此,被其他工具修改的参数可以被所有的工具承认。这种方法需要使用者至少拥有一套授权的Cadence工具,以便赋值SKILLPCells。

但是,需要注意的是PCellXtreme并不能实现回呼(callbacks)。回呼是许多PCell参数的关键元素,因为他们被用来通过输入的参数来计算相对值、逾限值(outofboundsvalues)等等。所以,单纯只有参数传递是不够的。若要实现在非Cadence工具中的回呼功能,对其他工具来说,必须要有与IPLAllianceReferenceflow1.0中定义的TCL回呼完全一样的可相互操作回呼功能,以供其他工具使用。对于Cadence环境,包括IPL库中运行的客户操作PCell,双重回呼是必须的,因此TCL回呼存在更多的互操作环境是值得期待的。这两个回呼只要适当的设置,所有参数的互操作都可以实现。

因为stretchhandles与auto-abutment是随着版图而缓存的OA内容,使用者可以TCL或其他可相互操作的脚本撰写语言来写入对等的stretchhandle与auto-abutment程序,以吻合SKILL功能。移动stretchhandle会导致版图编辑器更新相关的参数、触发相关的回呼。参数变更会导致PCellXtreme产生和缓存修改后的版图,如同前述手工输入的参数变更一般。Auto-abutment也会以同样的方式而实现。

总结

PCell缓存技术是在以OPENACCESS为基础的工具中重复利用原有版图数据的实用做法,为使用者提供更高的相互操作性,远胜过参数化单元的GDSII转换作法。

虽然具备最高相互操作性的解决方案就是使用IPLAlliance的可相互操作PyCells、回呼、CDF与stretchhandle/auto-abutment技术,PCell缓存技术在一个新的OA工具、混合设计环境中对于使用遗留的PCell是一个切实可行的方法;或者单纯以加速既有工具为目的,也是很好的解决方案。

来源:维库开发网

上一篇:采用CPLD的MAX1032采样控制的实现方法
下一篇:数字电路设计方案中DSP与FPGA的比较与选择

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图