当前,由于IC在速度,价值和尺寸方面的挑战不断提升,使得参与IC研发和生产的团队之间在布局描述层面的交流增加,同时,对可控性和可靠性的需求也在增加。虽然可以使用常规完整性控制(例如循环冗余校验,加密散列函数和ECC),但这些方法的局限性愈加突出。
经常发生的情况是,两个团队使用不同的方式同时处理相同的布局,如专有的,标准或半标准的格式,如GDSII,MEBES,OASIS和OASIS.MASK。
通过比较两个数据库来检查它们之间的差异是一个复杂且耗时的过程,并且要求其中一方拥有这两个文件。出于安全考虑,通常避免将不必要的数据传输给合作伙伴。
标准的可追溯性流程通常始于创建与产品转让相伴随的独特签名,确保收件人能够保证收到产品的真实状态。良好的可追溯性系统必须是可靠和安全的,并且独立于任何特定的实现方式,以确保异构环境之间的互操作性。而且,必须避免泄露它所保护的信息。
待解决的难题
目前,市场上还没有太多解决这些需求的方案。传统格式(如GDSII或MEBES)不提供完整性控制。较新的格式,如OASIS包括循环冗余校验(CRC)和选项,但其有一些缺点:
1、使用CRC算法会将读取和写入转换为线性操作 - 文件的字节必须按顺序读取 - 禁用基于大型文件并行性的优化。
2、CRC算法是错误检测代码,并且不提供安全保证。例如,创建具有不同内容的两个文件很容易,但CRC校验和相同。
3、由于它不是强制性的,因此许多编写者省略校验和,一些读者不愿费心去检查它。
考虑到以上这些问题,使用其它安全高效的工具很有必要,包括加密校验和 - 安全散列算法(SHA)或不推荐的消息摘要5(MD5)。像CRC校验和一样,它们是字节相关的,这意味着文件中的单个位变化会引发校验和的剧烈变化。通常情况下,这将被视为一项特性。对于布局数据库,这是一个缺点,因为需要保护和追踪的内容不是文件中的字节,而是实际的设计或几何描述。
检查两个文件实现相同几何设计的唯一方法是对它们运行异或(XOR)操作,这是一项复杂的操作,需要时间和昂贵的工具。与校验和不同,它需要原始文件具有可用性,且需要比较文件。用户不能轻易地知道设计是否相同,但这恰恰是他们想要做的。
布局文件控制的特定约束
在大多数情况下,检查和验证文件的内容很重要,这在电子设计自动化(EDA)处理流程中具有强制性,这是出于描述相同事物的各种方式考虑。除了对文件签名的一般性考虑外,微电子还有其特定的需求和限制。
在设计方面,大多数布局文件使用GDSII格式,这是事实上的标准,尽管一些公司正在转向OASIS,但大面积普及还需要一段过渡期,因为所有的EDA工具都不支持OASIS格式,这意味着设计后端流程需要在定义的步骤中通过一些转换来管理GDSII和OASIS文件。
由于缺乏快速简便的方法来验证OASIS中的布局描述与GDSII中的布局描述相同,因此,用户不愿意切换,因为GDSII提供了格式独立的签名。签署GDSII中描述的布局和签署OASIS中描述的相同布局必须产生相同的结果,与OASIS.MASK或MEBES等其他格式相同。
大多数芯片布局格式本身为描述结构提供了很大的自由度。例如,在GDSII中,文件中描述的单元格的顺序完全是任意的。
即使较低级别的多边描述相同且层次结构相同,也不可能通过使用文件级别签名来比较两个文件。在EDA工具中读取GDSII文件,并在不进行修改的情况下重写该文件会破坏签名,因为它还包含创建日期和其他元数据。这使得任何校验和都不可用。OASIS的问题更严重,因为格式提供了许多不同的方式来保存相同的数据,包括严格模式,通过引用或名称。这些非几何错综复杂的特征不应该影响签名。
主要的几何问题是EDA工具和文件格式允许用不同的方式来描述相同的事情。例如,“线”可以被描绘为“路径”,即具有给定宽度的对接片段的连续或者可以被描述为基本梯形的组合体的复杂多边形。
图1:不同的EDA工具和文件格式允许用不同的方法来描述相同的几何体
另外,关于多边形的描述没有限制。它是从多边形的一个任意点开始并沿顺时针或逆时针方向旋转的边的列表,使得简单多边形描述的经典签名无关紧要。如果用户不关心同一图层中的多边形重叠,则有意义的签名只能考虑整个多边形的最终包络,且顶点顺序上有明确的规定。
验证文件完整性时,全局校验和或签名就足够了。在大多数情况下,简单的“去/不去”信息在大型布局文件中毫无用处,重要的是要知道差异的数量以及它们的位置。例如,在比较两个文本文件时,使用“diff”会比使用简单的校验和提供更多的信息,因为用户可以知道有多少行,哪些包含差异。
以同样的方式,布局文件可以在窗口中分割以比较两个文件。通过窗口进行比较。如果需要,可以在报告的窗口上运行更详细的“XOR”。
签名可以使用相同的机制。而不是报告整个布局的单个校验和,签名可以是校验和列表 - 每个窗口一个。签名变成一个包含每个窗口的窗口信息和校验和的文件。
芯片布局描述文件通常包含多个图层。当芯片需要返工时,通常用金属固定件制造,其中仅改变少数互连层。这是通过使用已经处理到互连层的晶圆来降低掩模成本并加速交货时间的必要条件。对于掩模数据准备小组,重要的是快速检查所有前端图层是否完全相同,而只有预期的金属层已被更改。布局数据库的签名必须按层分割。
在审查了芯片布局文件的具体需求之后,为了实现高效的签名策略,应该满足一系列约束条件。签名文件必须验证内容,并且必须满足以下条件:
1、独立于文件格式和描述策略
2、基于多边形的最终几何包络
3、拆分窗口和图层
解决方案:新签名方法
从约束列表中可以看出,芯片布局文件的新签名标准是必要的。该标准必须能够实现签署任何布局数据库的独特和通用的方式。它不会是单个校验和,而是包含每个窗口和每个图层的校验和的文件,并且包含窗口大小和列/行数等信息。
图2:新的签名标准将为签署任何布局数据库提供一种新方法
如上所述,尽管描述方法可能不同,但两个相同的布局必须提供相同的签名。为了得到这样的结果,必须定义一种独特的方法来描述几何形状 - 更准确地说,是几何包络。
为了保证它的唯一性,这个描述必须满足多个约束条件,比如定义顶点的顺序和精确定义哪些点是描述的一部分。然后,使用诸如SHA256或SHA3的标准算法,可以保证描述签名的唯一性。
与原始数据库相比,签名文件较小,并随时用作参考。两个布局数据库之间的比较不会通过完整的XOR来完成,而是通过比较两个数据库的签名来完成。还可以将数据库与先前计算的签名文件进行比较。
通过这种基于几何描述的签名,布局的任何物理变化都将被快速检测到,无论是意外的还是故意的。
例如,一旦在设计上要求返工(即金属修补),将新数据库与原始数据库进行比较,以检查只有预期的图层已更改,并且通常仅在少数局部区域中进行更改。这总是耗时且需要恢复原始数据库存档。
使用签名文件作为参考可以简化过程,因为它足够小以便于访问。它还包含足够的信息,以保证某些层之间的相似性。如果需要,可以运行详细的XOR,但只能在包含差异的窗口中运行。
由于签名仅依赖于物理布局,很容易用工具或格式转换来检查简单的读/写,例如GDSII转为OASIS没有作出任何几何修改。而且,由于签名不会改变,除非在布局中引入了几何变换,所以它非常适合验证新工具和复杂流程,例如层次展平或分层。
结论
提议的签名是针对布局数据库文件完整性控制量身定做的。它是安全的,可靠的,而且最重要的是关注真正重要的部分 - 几何描述。它允许快速轻松地比较大型数据库,仅基于小型签名文件,该文件不包含敏感信息并可以安全地发送给任何合作伙伴。这样的签名将对半导体行业开放标准产生积极的影响。包含签名方案的专利合理使用政策将得到执行。
作为一个开放标准,签名变得更加有用。例如,它可以直接嵌入到OASIS或OASIS.MASK数据库中作为特殊属性。
-
芯片
+关注
关注
446文章
47769浏览量
409067 -
数据库
+关注
关注
7文章
3590浏览量
63365 -
异构环境
+关注
关注
0文章
2浏览量
5976
发布评论请先 登录
相关推荐
评论