欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 测时学> 集成电路焊盘故障检测独创技术26849字

集成电路焊盘故障检测

2021-02-07 07:58:51

集成电路焊盘故障检测

  相关申请的交叉引用

  本申请要求2017年11月23日提交的美国临时专利申请No.62/590,308的优先权的权益,其全部内容通过引用整体并入本文。

  技术领域

  本发明涉及集成电路领域。

  背景技术

  集成电路(IC)可以在诸如硅晶片的平坦半导体衬底上包括模拟和数字电子电路。使用光刻技术将微细的晶体管印刷到衬底上,以在非常小的面积内生产数十亿个晶体管的复杂电路,从而使采用IC的现代电子电路设计既低成本又具有高性能。IC在被称为代工厂的工厂的装配线中生产,这些装配线已经使IC(诸如互补金属氧化物半导体(CMOS)IC)的生产商品化。数字IC包含以功能和/或逻辑单元布置在晶片上的数十亿个晶体管,并封装在金属、塑料、玻璃或陶瓷外壳中。外壳或封装诸如通过使用焊料连接到电路板。封装的类型可以包括引线框(通孔、表面安装、芯片载体等)、引脚栅格阵列、芯片级封装、球栅阵列等,以在IC焊盘和电路板之间进行连接。如本文所使用的,术语IC是指包括封装的集成电路。

  相关技术的前述示例和与之相关的限制旨在是说明性地而不是排他性的。通过阅读说明书和研究附图,相关领域的其他限制对于本领域技术人员将变得明显。

  发明内容

  结合系统、工具和方法来描述和说明以下实施例及其方面,这些系统、工具和方法旨在是示例性和说明性的,而不是限制范围。

  根据实施例,提供了一种半导体集成电路(IC),其包括时间数字转换器电路(TDC,任何类型),其中到TDC的时间输入为(i)到IC的焊盘的输入/输出(I/O)缓冲器的一个或多个输入信号,以及(ii)来自I/O缓冲器的一个或多个输出。该IC包括数字比较器电路,该数字比较器电路被电配置为:从TDC接收数字输出值的流,将流的每个值与流中的一个或多个在前值进行比较,以及当比较反映出差值大于阈值时,发布通知。阈值通过由下列项组成的组中的一个或多个确定:(i)预定义阈值,(ii)在IC的初始操作期间从外部测试电路接收的阈值,(iii)在IC的初始操作期间在一时间段内计算并存储的阈值,(iv)随时间变化的阈值,以及(v)相对于至少一个环境条件变化的阈值。

  在一些实施例中,使用一个或多个模拟比较器电路从I/O缓冲器电压摆幅的下半部分确定到TDC的时间输入。

  在一些实施例中,当差值大于阈值达特定数量的实例时,执行发布。

  在一些实施例中,当在时间窗口内差值大于阈值达特定数量的实例时,执行发布。

  在实施例中,IC还可以包括阻抗学习器,该阻抗学习器被配置为从TDC接收数字输出值的流(特别是在IC的初始操作期间),并且基于(在初始操作期间)接收的流来确定阈值。当阈值由(iii)在IC的初始操作期间在一时间段内计算并存储的阈值确定时,这可以尤其适用。在此类实施例中,阻抗学习器可选地被配置为通过使用由下列项组成的组中的至少一个分析接收的流来确定阈值:(a)统计估计器(诸如最大似然估计器);(b)机器学习算法;以及(c)置信区间计算。

  在一些实施例中,至少一个环境条件包括由下列项组成的组中的至少一个:电压;以及温度。

  在一些实施例中,数字比较器电路(通过固件/硬件/软件)在计算机化服务器上实现,其中计算机化服务器在IC的外部。

  该通知可以是针对由下列项组成的组中的一个或多个:(i)IC的用户;(ii)响应于通知而引起IC的用户可以检测的警报(例如,使用为此目的而配置的警报生成电路,该警报通过以某种方式(诸如经由通信接口)与IC接合而可听、可视或可检测);(iii)响应于通知而禁用IC的部分或全部(例如,通过为此目的而配置的IC禁用电路);以及(iv)响应于通知而引起IC的至少一部分的通道重新映射(例如,通过道路重新映射电路和/或计算机程序,即为此目的而配置的软件)。

  根据实施例,提供了一种用于检测IC焊盘的断开的方法,该方法包括使用一个或多个硬件处理器以用于从TDC接收数字输出值的流。(一个或多个)硬件处理器用于将流的每个值与流中的一个或多个在前值进行比较。该方法还可以包括,当比较反映出差值大于阈值时,发布通知。到TDC的输入是(i)到IC的焊盘的输入/输出(I/O)缓冲器的一个或多个数字信号,以及(ii)来自I/O缓冲器的一个或多个数字输出。阈值通过由下列项组成的组中的一个或多个确定:(i)预定义阈值,(ii)在IC的初始操作期间从外部测试电路接收的阈值,(iii)在IC的初始操作期间在一时间段内计算并存储的阈值,(iv)随时间变化的阈值,以及(v)相对于至少一个环境条件变化的阈值。在此类方法实施例中,可以可选地提供方法步骤以包括参考IC实施例讨论的任何特征。在一些实施例中,可以考虑一种计算机可读介质,其上存储有指令,当所述指令由处理器执行时,指令用于执行本文公开的任何方法实施例。

  除了上述示例性方面和实施例之外,通过参考附图并通过研究以下具体实施方式,其他方面和实施例将变得明显。技术人员将理解,即使没有明确描述,也可以提供本文公开的特定特征的组合和子组合。

  附图说明

  在参考附图中示出了示例性实施例。在附图中示出的部件和特征的尺寸通常是为了表示的方便和清楚而选择的,并且不一定按比例示出。这些附图在下面列出。

  图1示意性地示出了用于检测IC焊盘完整性的计算机化系统;

  图2示出了用于检测IC焊盘完整性的方法的流程图;

  图3A示意性地示出了IC焊盘的焊料凸块;

  图3B示意性地示出了2.5D IC封装的焊料凸块;

  图4示出了IC焊盘的焊料凸块的电示意图;

  图5A示出了用于检测电连接完整性的IC焊盘的焊料凸块的电示意图;

  图5B示出了TDC的电示意图;

  图6A示出了具有电连接完整性降低的焊料凸块的检测电路的电示意图;

  图6B示出了针对一个字节的数据的示例性写数据路径,其中发生故障;

  图7示出了用于仿真电连接完整性的IC焊盘的焊料凸块的电示意图;

  图8A示出了用于检测IC焊盘电连接完整性的第一电时序延迟仿真的第一示波器屏幕;

  图8B示出了用于检测IC焊盘电连接完整性的第二电时序延迟仿真的第二示波器屏幕;

  图9示出了用于检测IC焊盘电连接完整性的电时序延迟仿真的曲线图;

  图10A示出了电连接完整性检测电路性能的第一仿真的曲线图;和

  图10B示出了电连接完整性检测电路性能的第二仿真的曲线图。

  具体实施方式

  本文公开了用于检测IC焊盘的间歇/瞬时断开的设备、系统和方法。通过测量IC焊盘的每个I/O缓冲器的输入到输出(I/O)延迟,可以将时序延迟转换为反映I/O焊盘连接阻抗的数字值。当I/O焊盘焊料间歇、瞬时或部分断开时,I/O焊盘连接阻抗改变,并且I/O缓冲器延迟改变。通过监视此延迟,IC上的电路或外部处理系统可以确定I/O焊盘焊料已受损。该延迟由时间数字转换器(TDC,任何类型)电路测量,该电路有2个输入:(i)I/O缓冲器输入信号和(ii)I/O缓冲器输出信号,可选地,每个输入在模拟比较器电路之后。

  TDC由此产生输出的流,每个输出指示在特定测量时间处的延迟。将流中的一个值与至少一个在前值(例如,流中的紧接在前的值、多个紧接在前的值,或流中的多个在前值或多个紧接在前的值的平均值)进行比较以提供差值。将差值与阈值进行比较,以确定差值是否大于阈值。阈值可以是:(i)预定义阈值(即,在IC中预设);(ii)(尤其是在IC的初始操作期间)从外部测试电路接收的阈值;(iii)在IC的初始操作期间在一时间段内计算并存储的阈值;(iv)随时间变化的阈值(其可以被预设或动态调整,例如在IC上计算和/或存储);以及(v)相对于至少一个环境条件(诸如温度和/或电压,其可以使用相应传感器或提供指示相应环境条件的信号的其他设备来测量)变化的阈值。该阈值由此允许识别IC内的潜在故障或实际故障。

  可选地,模拟比较器电路将原始I/O缓冲器输出信号与某个阈值(诸如I/O缓冲器电压摆幅的下半部分处的阈值)进行比较。可以这样做以对来自缓冲器阻抗负载的反射进行滤波,该反射可能影响测量的延迟。模拟比较器输出处的滤波信号可以没有反射,并且电压摆幅可以等于缓冲器输入信号的电压摆幅。TDC可以将瞬时缓冲器延迟转换为数字读数。TDC将基于步进分辨率(其为反相器延迟)来测量缓冲器延迟的任何变化。如本文所使用的,电压摆幅是指最大输出电压与最小输出电压之间的差。

  可选地,可以通过检测信号缓冲器延迟的变化来监视其他数据路径的阻抗变化。

  现在参考图1和图2,图1和图2示意性地示出了(i)计算机化系统100并示出了(ii)方法200的流程图,该流程用于检测IC焊盘完整性。计算机化系统100包括具有TDC(诸如131、132、133等)的IC 150,每个TDC电连接(141、42、143等),以测量连接到IC焊盘的I/O缓冲器(151、52、153等)的输入和输出之间的延迟。可以在IC 150的数据接口111与计算机101A的数据接口110之间通过数据网络140传送数字时间测量值。计算机101A包括一个或多个硬件处理器101B、用户接口120以及非暂时性计算机可读存储介质102。存储介质102在其上编码了程序代码模块(102A、102B、102C等),当该程序代码模块在(一个或多个)硬件处理器101B上执行时执行方法200的动作,诸如201、202、203、304、205等。可选地,TDC值由执行方法200的动作的IC上的处理部件(未示出)接收。例如,TDC数据接收器102A接收201TDC值。例如,阻抗学习器102B在初始时间段期间分析TDC值以确定操作中的IC的基线行为。例如,TDC数据接收器102A和/或焊盘断开检测器102C监视203TDC值,并且当检测204到异常时,通知205焊盘故障、突出故障、未来故障等。

  可选地,在发布通知之前对异常进行计数。

  可选地,在发布通知之前在时间窗口内对异常进行计数。

  现在参考图3A,其示意性地示出了IC焊盘的焊料凸块。I/O缓冲器可以驱动倒装芯片焊盘的I/O,诸如连接到焊盘的受控塌陷芯片连接(C4)凸块。C4凸块是常见封装技术的示例,并且在一般情况下,本发明适用于任何封装技术或任何芯片到芯片封装技术,诸如2.5D和/或3D封装技术。

  可选地,通过电子封装和/或电路的一个或多个焊料连接(诸如微型凸块、硅通孔凸块、C4凸块、封装凸块(诸如BGA球)等)来检测电连接完整性。

  现在参考图3B,其示出了2.5D IC封装的焊料凸块。示出了IC封装内以及IC封装与电路板之间的某些不同级别的焊料接头。

  现在参考图4,其示出了IC焊盘的焊料凸块的电示意图(等效电路)。电图示出了I/O缓冲器、封装迹线(由传输线部件表示)和接收器负载(由电容器Cload表示),该I/O缓冲器驱动带有静电放电(ESD)保护电路(诸如包括电容器Cpad)的焊盘。I/O缓冲器的延迟可以取决于总缓冲器输出阻抗,诸如连接到I/O缓冲器的所有电部件的电阻-电感-电容(RLC)负载。对焊盘的焊料的机械改变(诸如断开)可以改变缓冲器输出RLC阻抗负载。

  现在参考图5A,其示出了用于检测完整性的IC焊盘的焊料凸块的电示意图。I/O缓冲器可以使用TDC生成时序值,该时序值反映其输入到输出延迟,输入到输出延迟进而可以是RLC阻抗负载的函数。可以针对到达I/O焊盘的信号的每个上升沿和下降沿测量I/O缓冲器延迟。

  TDC和处理电路/计算机可以基于以下步骤来检测输出负载变化:

  a.将测量的I/O缓冲器延迟或每个受监视的焊盘转换为数字值读数。

  i.可以针对每个上升和/或下降转变生成读数。

  ii.转换精度可以是1反相延迟分辨率,诸如由延迟元件(二极管)的串联连接确定。例如,以1皮秒(ps)的精度确定从延迟到数字的转换。延迟精度和/或分辨率可以在1飞秒与1毫秒之间。

  b.学习延迟踪迹随时间的变化的行为,诸如使用机器学习算法、本地IC后处理逻辑等。

  c.通过将缓冲器延迟随时间的变化与其自身的历史以及该IC或其他可比较的IC上的其他缓冲器延迟的持续行为进行比较,来检测缓冲器延迟变化。

  现在参考图5B,其示出了TDC的电示意图。在每个串联延迟元件之后,诸如触发器之类的存储设备记录该信号(即何时)达到该时间延迟,并且然后解码器将该延迟转换为数字值。

  检测电路可以确定延迟值已经超过阈值。例如,信号和噪声模型可以是:s=s1(t)+s2(t)+n(t),其中s1(t)表示稳态确定性信号(可以是单音),s2(t)表示事件(坏)信号,并且n(t)表示随机噪声。该事件可以是E={s2(t)>β}。(对于给定的δ)目标可以是找到一种方法F[s(t)]→0,1,使得:P(F[s(t)]=1,EC)<δ1(假正/误报)(EC代表E的补码)且P(F[s(t)]=0,E)<δ2(假负/漏报)。

  现在参考图6A,其示出了具有电连接完整性下降的焊料凸块的检测电路的电示意图。

  在许多电子系统和/或电路中,由I/O焊盘断开引起的问题可能是关键的。断开可能是由许多类型的焊料接头故障(诸如机械应力、腐蚀、热应力、振动、疲劳等)引起的。断开可以是永久的或间歇的。在操作期间,当焊盘断开达短时间段时,可能发生间歇断开。

  可以非侵入性地执行检测,诸如在设备/系统完全操作时执行(无需停止设备的操作工作来执行任何类型的特殊测试)。机械焊盘断开问题被转换为电信号,可以通过电路和后处理方法来检测该电信号。该技术对IC封装或电路上的焊盘位置不敏感,并且可以用于一个或多个焊盘,最多可以用于IC上最大数量的焊盘。

  这些问题在许多应用中变得关键,诸如故障成本高的应用(诸如自动驾驶车辆)、更换成本高的应用(诸如卫星IC故障)、产品图像的故障的成本高的应用(诸如由故障产生结果负面用户体验)等。使用本文公开的技术的集成电路(IC)实施例包括一个或多个I/O缓冲器延迟测量电路,以及可以警告指示将要发生或已经发生故障的延迟的系统(和/或在IC电路上)。

  IC上的间歇故障可能是重大的,特别是如果它在现场发生。在这种情况下,系统可能会由于信号完整性的丢失(中断)而发生故障。例如,数据或控制可能丢失,这将导致IC的至少一部分的完全故障。结果,一旦在现场检测到间歇故障,立即或迅速地(在预定的时间窗口内)警报和/或通知间歇故障可以是非常有利的,因为不一定知道这种间歇故障的后果。重现间歇故障可能是困难的,因为从定义上讲,它是不连续的,并且它可能是由机械问题引起的。可以在停止IC操作(离线)之后执行修复,例如,通过识别并更换不良管芯。禁用IC表示一旦已经以这种方式检测到间歇故障而避免IC完全故障的另一个可能选项。

  除了提供通知或警报之外或作为这些选项的替代,还可以采取一个或多个在线缓解动作,以减少导致IC持续或完全故障的间歇故障的可能性或修复该间歇故障。例如,这可以包括在现场激活基于软件的“通道修复”或“通道重新映射”机制。该机制可以用备用通道替换具有故障的通道(诸如数据路径)。

  参考图6B,示出了用于一个字节数据的示例性写数据路径,其中发生一个故障。接收d5信号的电路发生故障(用叉号表示)。然后将d5信号重新映射到下面的下一个电路(替换d6信号),随后将其重新映射到其他电路。在此重新映射中可能丢失某些信号。在此示例中,p1信号丢失。这是不太重要的信号,但是这种过程允许通过插入一个或多个重要信号以替换至少一个不太重要的信号来保持系统的功能。重新映射过程可以扩展为多个字节。例如,可能将来自字节0的故障的重要信号重新映射到字节1中的不太重要的信号。

  可以通过写入寄存器(软)或通过剪切电熔丝(硬)来进行通道重新映射。尽管已经针对数据写入电路对此进行了说明,但是它将也可应用于涉及沿路径的信号的其他类型的电路,例如读取电路、存储器电路和数据处理电路。如通过此类示例所示,不仅可以通过本公开的方法指示和调试问题,还可以解决该问题。

  实验结果

  以下是检测电路和I/O焊盘故障的仿真的结果。

  现在参考图7,其示出了用于仿真电连接完整性的IC焊盘的焊料凸块的电示意图。图7与图5A相似,其中添加了开关(sw)以仿真焊料焊盘的电断开。

  现在参考图8A和图8B,其分别示出了用于检测IC焊盘完整性的第一电时序延迟仿真的第一示波器屏幕和第二电时序延迟仿真的第二示波器屏幕。输入信号801包括棚车形状,该棚车形状在等于2纳秒(ns)的时间处从0变到0.8,然后在5ns处变回零。闭合开关信号802示出了与I/O缓冲器电路的阻抗卷积的延迟的棚车形状。断开开关信号803示出了由于焊盘断开而导致的变化,包括略微增加的延迟。图8B示出了输入信号811、闭合开关信号812和断开开关信号813之间的延迟的特写时间标度,示出了延迟时间增加了187ps。

  现在参考图9,其示出了用于检测IC焊盘完整性的电时序延迟仿真的曲线图。图9的曲线图表示某个延迟信号的TDC输出(x[n]–x[n-1])的导数。这些值以零为中心(带有一定量的噪声),并且当间歇故障发生时,延迟增加,然后急剧减小。在n=9时仿真了焊盘断开,并且结果是TDC读数和导数的明显的跳跃。在此示例中,仿真的缓冲器延迟变化约为200皮秒(ps),并且TDC步长为20ps。应用阈值检测电路/模块可以检测到该异常并警告/通知适当的实体以采取必要的动作。

  使用最大似然(ML)算法对TDC的数字输出进行后处理,该算法学习了缓冲器延迟及其导数随时间的变化。来自ML分析的阈值可以基于特定的IC历史以及该IC和可比较的IC的其他缓冲器的行为表示良好的行为。后处理也可以由IC上的本地逻辑电路执行。后处理的一部分可以是噪声消除以增加TDC数字值信号(即矢量)的信噪比。

  现在参考图10A和图10B,其示出了电连接完整性检测电路性能的第一仿真和第二仿真的曲线图。两次仿真示出了信号和检测电路信号中的间歇断开的检测,如围绕异常的虚线圆所示。

  在整个本申请中,本发明的各种实施例可以以范围格式呈现。应当理解,以范围格式进行的描述仅是为了方便和简洁,而不应被解释为对本发明范围的不灵活的限制。因此,范围的描述应视为已经具体公开了所有可能的子范围以及该范围内的各个数值。例如,对诸如从1到6的范围的描述应视为已经具体公开了子范围,诸如从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等,以及该范围内的各个数字,例如1、2、3、4、5和6。这与范围的广度无关。

  每当在本文中指示数值范围时,其旨在包括在指示范围内的任何引用数字(分数或整数)。短语在第一指示数字和第二指示数字“之间的距离/范围”和“从”第一指示数字“到”第二指示数字的“距离/范围”在本文中可互换使用,并且旨在包括第一指示数字和第二指示数字以及它们之间的所有分数和整数。

  在本申请的说明书和权利要求书中,单词“包含”、“包括”和“具有”中的每一个及其形式不一定限于单词可以与之关联的列表中的成员。另外,在本申请与通过引用并入的任何文件之间存在不一致的地方,特此以本申请为准。

  为了阐明本公开中的引用,应注意的是,名词作为普通名词、专有名词、命名名词等的使用并不旨在暗示本发明的实施例限于单个实施例,并且所公开的部件的许多配置可以用来描述本发明的一些实施例,而其他配置可以以不同的配置从这些实施例中得出。

  为了清楚起见,并未示出和描述本文描述的实施方式的所有常规特征。当然,应该认识到,在开发任何此类实际实施方式时,必须做出许多特定于实施方式的决策,以实现开发人员的特定目标,诸如遵守与应用和业务相关的约束,并且这些特定目标将因实施方式和开发人员而异。此外,将认识到,此类开发工作可能是复杂且耗时的,但是对于受益于本公开的本领域普通技术人员而言,仍将是工程的例行工作。

  基于本公开的教导,期望本领域的普通技术人员将能够容易地实践本发明。相信本文提供的各种实施例的描述提供了本发明的足够的见识和细节,以使本领域普通技术人员能够实践本发明。此外,上述本发明的各种特征和实施例被具体考虑为单独使用和以各种组合使用。

  常规的和/或现代的电路设计和布局工具可以用于实现本发明。本文所述的具体实施例(并且尤其是各种层的各种厚度和组成)是示例性实施例的说明,并且不应被视为将本发明限制于此类具体实施方式的选择。因此,可以提供本文描述的部件的多个实例作为单个实例。

  虽然通常假定电路和物理结构,但是众所周知,在现代半导体设计和制造中,物理结构和电路可以以计算机可读的描述形式体现,其适用于随后的设计、测试或制造阶段以及适用于最终制造的半导体集成电路。相应地,针对传统电路或结构的权利要求可以与其特定语言一致地在计算机可读编码(其可以称为程序)及其表示上进行读取,无论它们是体现在介质中还是与合适的阅读器设施组合在一起以允许相应电路和/或结构的制造、测试或设计改进。在示例性配置中表示为分立部件的结构和功能可以实现为组合的结构或部件。预期本发明包括电路、电路系统、相关方法以及此类电路、系统和方法的计算机可读(介质)编码,全部如本文所述以及如所附权利要求书中所限定的。如本文中所使用的,计算机可读介质至少包括磁盘、磁带或其他磁性、光学、半导体(例如,闪速存储器卡、ROM)或电子介质以及网络、有线、无线或其他通信介质。

  前面的详细描述仅描述了本发明的许多可能的实施方式中的一些。由于这个原因,该详细描述仅是出于说明的目的,而不是出于限制的目的。在不脱离本发明的范围和精神的情况下,可以基于本文阐述的描述进行本文公开的实施例的变型和修改。仅所附权利要求书(包括所有等同物)旨在限定本发明的范围。特别地,即使优选实施例是在以示例性频率操作的PLL的上下文中描述的,相信本发明的教导对于与其他类型的电路一起使用是有利的,在该电路中诸如电感器之类的电路元件可以受益于电磁屏蔽。此外,本文描述的技术也可以应用于其他类型的电路应用。因此,其他变化、修改、添加和改进可以落入如所附权利要求书所限定的本发明的范围内。

  本发明的实施例可以用于制造、生产和/或装配集成电路和/或基于集成电路的产品。

  本文参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。将理解的是,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

  附图中的流程图和框图示出了根据本发明的各个实施例的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现(一个或多个)指定逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中指出的功能可以不按附图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,该系统执行指定功能或动作,或执行专用硬件和计算机指令的组合。

  已经出于说明的目的给出了本发明的各种实施例的描述,但该描述并不意图是穷举性的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是明显的。选择本文使用的术语是为了最好地解释实施例的原理、实际应用或优于市场中发现的技术的技术上的改进,或者使本领域的其他普通技术人员能够理解本文公开的实施例。

《集成电路焊盘故障检测.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)