论文部分内容阅读
随着芯片集成度的提高和应用需求的推动,片上系统[1]逐渐由基于总线的单核或少量多核结构发展到基于片上网络的大量多核结构。与此同时,电路器件工艺技术的快速发展,使得器件特征尺寸越来越小,单位面积上晶体管数目增多、器件间距离缩小[2]。在此背景下,高能粒子轰击使得多个相邻电路节点同时充电和放电,以致时序逻辑单元中多位数据同时翻转(Multiple Bit Updates,MBUs)[3][4]的次数急剧增加。由于片上网络(NoC)中多位错产生的概率随着集成度的提高而增加,在此情况下,如何进行NoC容MBU软错误设计已经成为一个亟待解决的问题。针对上述问题,本文提出将二维纠错编码应用于片上网络虚通道存储空间,进行数据的检错和纠错,实现对深纳米级下NoC容MBU软错误结构的加固。本文的主要研究内容如下:1)针对当前深纳米条件下NoC中MBU软错误激增这一现象,本文提出将二维纠错码应用于片上网络虚通道。其特点是多位错误覆盖率高、实现费用低、节省面积等。本文从理论和实验结果证明了,在具有相同纠错能力的前提下,深纳米级NoC容MBU软错误的二维纠错码所需的额外面积开销远远小于常规纠错编码。2)本文针对片上网络虚通道空间采用高级语言(C++)建模,快速实现二维纠错码,实验验证了二维纠错码容MBU软错误的准确性和适用性。将二维纠错编码的NoC容MBU软错误的性能与同等情况下的常规ECC纠错编码的性能进行比较。结果表明,在多位错情况下,NoC中的二维纠错编码的纠正率远远高于常规纠错编码。3)本文针对虫孔路由器硬件结构,通过verilog硬件描述语言实现对虚通道缓冲区的二维纠错码的硬件设计。并对其硬件开销进行评估,实现二维纠错编码和常规纠错编码门电路的综合面积和时间开销对比。实验结果表明,二维纠错编码的面积和时间开销都远远小于常规纠错编码。