基于多IP核复用SoC芯片的可靠性研究
扫描二维码
随时随地手机看文章
1 引言
随着半导体工艺技术的发展, 愈来愈复杂的IP核可集成到单颗芯片上, SoC (片上系统)技术正是在集成电路( IC) 向集成系统( IS)转变的大方向下产生的。采用SoC 技术, 可将微处理器、模拟IP核、数字IP核和存储器等集成在单一SoC芯片上, 因而具有很多优势: 采用IP核复用技术可大幅度缩短芯片的研发周期和费用; 采用IP核复用技术能极大改善功耗开销, 降低风冷要求,并可大幅度减少印制板上部件数和管脚数; 由于以前板级连线全部集成到芯片中, 从而带来整机的可靠性的大幅度提高; 可以缩短整机的研发时间和研发费用等。
由于各类IP核质量参差不齐, 到目前为止, IP核的接口标准和质量标准还未完全统一, IP 核质量评估手段还需完善, SoC 芯片集成的IP核越多, 其可靠性降低的风险就越大, 因而非常必要研究多IP核复用SoC的可靠性, 多IP核复用SoC 的可靠性受处理器、外围模块IP核、多IP核间通信的可靠性的影响。
2 SoC芯片可靠性研究
可靠性技术的实现都是以容错为基础, 容错技术主要是依靠资源的冗余和系统重构资源的组织来完成。冗余主要包括硬件冗余、软件冗余、时间冗余、信息冗余等。硬件冗余是在常规的硬件功能设计之外再另加一些备用的附加的硬件, 当常规硬件发生错误时备用硬件起作用, 使系统仍然能够正常工作; 软件冗余是增加一些额外的用于检错纠错的程序, 当运行出错时程序能够自行进行检错纠错; 时间冗余是为某一指令或一段程序开辟额外的时间让其重复执行; 信息冗余是增加信息的多余度, 使其自己具有检错纠错的能力。
从以下三个方面对多IP复用SoC 进行了可靠性研究: 处理器的可靠性、多IP核间通信的可靠性、IP核工作异常状态检测。
2. 1 片上处理器的可靠性
处理器的可靠性直接决定着SoC 芯片的可靠性。从Cache容错、寄存器文件错误保护、触发器的错误保护等方面进行了研究来提高处理器的可靠性, 并分析对整个SoC 芯片可靠性的影响。
2. 1. 1 Cache容错
在电路中加一个Cache Contro ller 模块, 在该模块中实现对Cache的管理。其中错误检测的方法采用2 位的奇偶校验位, 1位作为奇校验, 1位作为偶校验, 在读Cache的同时进行校验。如果校验出错, 则强迫Cache 不命中, 并从外部存储去获取数据。CACH E的控制结构如图1所示。
图1
2. 1. 2 寄存器文件的错误保护
采用1、2奇偶校验, 同时采用( 32. 7) BCH 校验和进行容错。寄存器文件错误保护原理如图2所示。
2. 1. 3 触发器的错误保护
采用TMR三模冗余的方式进行容错。触发器错误保护中,通过比较器来进行表决以输出正确的数据输出。TMR ( Tr ip le-M odu la r- Redundancy)的原理是将同一份信息保存在三份物理存储空间中。读取的时候比较三份内容, 如果不完全相同, 就取两个一致的值为真值。在控制器通过总线向内存写入数据(WR 有效) 时, 每一比特数据通过三态门同时写到三个对应的比特存储单元中。当总线向内存请求数据( RD有效) 时, 三份同时存储的内容到达比较器, 比较器逻辑按照前述规则输出数据内容及是否发生2 /3判决的标记。这是一种在系统结构上通过增加冗余资源的方法来掩盖故障造成的影响, 使得即使出错或发生故障, SoC芯片的功能仍不受影响, 仍能够正常执行预定任务的技术。
图2
触发器的错误保护中采用TMR三模冗余寄存器的方式进行容错。触发器错误保护中, 通过比较器来进行表决以输出正确的数据输出。这种容错设计中, 当有一个以下冗余寄存器出错时可以输出正确结果, 当两个以上的冗余寄存器出错时就会输出错误的结果。触发器文件的错误保护原理如图3所示。
图3
2. 2 多IP核间通信的可靠性研究
IP核间通信总线的稳定性直接关系到整个系统的可靠性。我们对IP核间的通信进行了研究, 加入一些检错模块, 保证通信时数据的正确性, 进而提高整个系统的可靠性。
图4
IP核间通信采用AMBA 2. 0 AHB 和APB 片上总线协议, 增加一个AMBA Controller模块对整个AMBA 片上通信进行监控,通过检错信号反馈信息对该模块采取进一步的保护措施, 当出错时, 使整个流水线重启, 保证通信数据正确, 错误数据被抛弃。检错算法采用2位奇偶校验。
IP核间可靠性通信原理如图4所示。
2. 3 嵌入BIST电路, 检测IP核的工作状态
B IST ( Built- In SelfTest) 是一种芯片内建自测试, 即在芯片上集成一种自我检测的电路。基于DFT思想, 在片上集成了一种B IST模块来提高系统的可靠性。在芯片内增加产生激励和做测试分析的电路, 使芯片不但能完成逻辑功能, 还能在外部给定测试方式命令时进行自我测试分析, 并输出结果。这种结构的电路既不需要准备测试码, 也不需要专门的测试设备。电路中包含有测试码生成部件、扫描测试电路和测试结果输出部件, 如图5 所示。
图5
SoC 芯片在上电运行中自动对自己的运行状态进行监控, 并通过扫描输出信号即时返回该IP功能模块的状态信息, 在其它控制模块中再根据这些状态信息采取相应策略保证SoC 的可靠运行。
3 结束语
对于SoC 芯片, 可靠性是首要考虑的问题, 基于多IP复用SoC 的设计技术, 重点解决处理器的可靠性、多IP核间通信的可靠性、IP核工作异常状态研究, 可以进一步提高SoC 芯片的可靠性。
近几年来本单位根据智能终端产品特点, 进行智能终端专用SoC 芯片研发, 在SoC的设计过程中充分考虑了其可靠性, 加入了非常全面的可靠性算法, 采用奇偶校验、TMR(三模冗余)寄存器、片上EDAC、流水线重启和强迫CACHE 不命中等多层次容错机制来提高SoC的可靠性, 已在FPGA 验证平台上得到验证, 并进行SoC 芯片流片和批量生产验证, SoC 芯片的可靠性得到大幅度提高, 验证本方法可行, 具有很好的推广价值。