论文部分内容阅读
近些年随着黑客技术和芯片解剖技术的发展,电子系统被仿制的现象层出不穷,甚至出现了仿制产品大大多于自有产权产品的现象。因此,如何保护自身的产权,是产品设计者目前经常面对的问题。基于此,本文设计电子系统认证芯片的目的是从硬件上实现对电子系统的产权保护。本文设计的电子系统认证芯片实质上是一款基于I2C总线协议和RSA算法的解密芯片。在电子产品硬件设计上嵌入该电子系统认证芯片,在应用软件上通过随机认证的方法来控制程序的流程,进而达到电子系统保护的目的。该电子系统认证芯片的主要模块有I2C接口模块,模长和幂长都是1024位的RSA解密算法模块,以及掩膜ROM IP核的读控制模块等。1024位的RSA解密算法模块是本芯片的核心模块,大整数模幂运算是RSA算法的核心运算,而模幂运算是由一系列的模乘运算构成。本文采用二进位密钥扫描方式将模幂算法分解为一系列的模乘运算。二进位密钥扫描方式分为从左到右扫描以及从右到左扫描两种,本文对这两种密钥扫描方式都进行了硬件实现并进行了性能对比。在44MHz的系统工作频率下,从左到右扫描法实现的芯片解密速率大约为28次/秒,从右到左扫描法实现的芯片解密速率大约为42次/秒;从右到左扫描法实现的RSA模块的面积规模是从左到右扫描法的1.6倍;确定了从左到右扫描算法是基于面积优化的算法,而从右到左扫描算法是基于时序优化的算法。本文设计模乘模块是以蒙哥马利算法(Montgomery Algorithm)为基础,通过对蒙哥马利算法的深入分析,确定了将带有CSA(保留进位加法器)和CLA(超前进位加法器)结构的免减基2-Montgomery算法作为模乘运算的实现算法。本文先用Verilog HDL语言对芯片各模块进行了RTL级描述并进行了仿真测试,仿真测试结果证明了所设计的RSA解密模块能够正确地实现RSA解密功能;而后利用Synopsys的EDA工具(Design Compiler、DFT Compiler)和SMIC的0.18μm CMOS工艺库对芯片的RTL描述进行了逻辑综合以及扫描链的插入,其故障覆盖率为99.72%;最终实现可测性网表的输出,输出的可测性网表通过了综合后的仿真和测试,并在后端版图工具Soc Encounter中实现扫描链的正确识别。