作者: 时间:2007-08-15 来源: | ||
在现代电子系统设计中,由于可编程逻辑器件的卓越性能、灵活方便的可升级特性,而得到了广泛的应用。由于大规模高密度可编程逻辑器件多采用SRAM工艺,要求每次上电,对FPGA器件进行重配置,这就使得可以通过监视配置的位数据流,进行克隆设计。因此,在关键、核心设备中,必须采用加密技术保护设计者的知识产权。 1 基于SRAM工艺FPGA的保密性问题 通常,采用SRAM工艺的FPGA芯片的的配置方法主要有三种:由计算机通过下载电缆配置、用专用配置芯片(如Altera公司的EPCX系列芯片)配置、采用存储器加微控制器的方法配置。第一种方法适合调试设计时要用,第二种和第三种在实际产品中使用较多。第二种方法的优点在于外围电路非常简单,体积较小,适用于不需要频繁升级的产品;第三种方法的优点在于成本较低,升级性能好。 以上几种方法在系统加电时,都需要将配置的比特流数据按照确定的时序写入SRAM工艺的FPGA。因此,采用一定的电路对配置FPGA的数据引脚进行采样,即可得到配置数据流信息。利用记录下来的配置数据可对另一块FPGA芯片进行配置,就实现了对FPGA内部设计电路的克隆。典型的克隆方法见图1。 2 对SRAM工艺FPGA进行有效加密的方法 系统加电时,由单片机对SRAM工艺的FPGA进行配置。配置完成时,FPGA内部功能块的使能端为低,不能正常工作。此时,单片机判断到配置完成后,将ASET信号置为高电平,使能FPGA内的伪码发生电路工作;同时,单片机产生一个伪码验证信息,在FPGA中将两路伪码进行比较,两者完全匹配时,FPGA内部电路正常工作,否则不能正常工作。加密电路主要利用了配置完成后处于空闲状态的单片机和FPGA内部分逻辑单元,没有增加硬件成本。 3 FPGA内的校验工作电路 在上电之后,单片机将图4中的电路配置在FPGA中。配置完成后,单片机发送的ASET信号由低电平跳变为高电平,使得FPGA内的PN码产生电路开始工作,并于CPU发送过来的PN码进行比较。比较结果一致就使能USER_DESIGN模块正常工作。其中PLL_BITSYS模块用来发生VERIFY_PN的位同步时钟,采用微分锁相原理实现。各种参考资料都有较多介绍,在此不再详述。 系统加电时,单片机将ASET置为低电平,经过一个非门,变成高电平使移位寄存器处于置位状态。在配置完成后,单片机将ASET信号置为高电平,经非门使移位寄存器正常工作。利用移位寄存器电路产生伪随机码的电路非常简单,反馈逻辑也便于修改。 MOV WORD8.0,C;用WORD8单元的0位来存Q21的状态 MOV C,Q23 MOV WORD9.0,C;用WORD9单元的0位来存Q23的状态 MOV ACC,WORD6 XRL A,WORD7 XRL A,WORD8 XRL A,WORD9;通过异或指令,计算反馈逻辑 MOV C,ACC.0;反馈逻辑为Qin=Q0; XOR Q2 XOR Q21 XOR Q23 MOV MID_VARY,C;将运算后的状态存到MID_VARY中右移运算 MOV ACC,WORD1 RRC A;移位Q7~Q0 MOV WORD1,A;移位后,保存到WORD1单元中 MOV ACC,WORD2 RRC A;移位Q15~Q8 MOV WORD2,A;移位后,保存到WORD2单元中 MOV Q7,C;将Q8的值赋到Q7 MOV ACC,WORD3 RRC A;移位Q23~Q16 MOV WORD3,A;移位后,保存到WORD3单元中 MOV Q15,C;将Q16的值赋到Q15 MOV ACC,WORD4 RRC A;移位Q31~Q24 MOV WORD4,A;移位后,保存到WORD4单元中 MOV Q23,C;将Q24的值赋到Q23 MOV ACC,WORD5 RRC A;移位Q39~Q32 MOV WORD5,A;移位后,保存到WORD5单元中 MOV Q31,C;将Q32的值赋到Q31 MOV C,MID_VARY;将前面反 馈计算的值赋给Q39 MOV Q39,C LJMP XMALOOP ;继续产生下一代PN码元 6 其它加密方法介绍及比较 对SRAM工艺的FPGA进行加密,除了可以利用单片机实现外,还可以用E2PROM工艺的CPLD 实现。与用单片机实现相比,利用CPLD的优点在于可实现高速伪码,但要在硬件电路中增加一块CPLD芯片,使整个硬件电路复杂化,增加了成本。本文提供的加密方法考虑到配置完成后单片机处于空闲状态,此时利用单片机进行加密,不需要增加任何电路成本,使得整个系统硬件结构十分简洁。本文提出采用长伪随机码来实现加密。如果采用其它的算法产生验证信息,并增加单片机与FPGA工作时信息实时交互,使得获取验证信息的难度足够大,也可以达到类似的加密效果。 |
标签: SRAM FPGA 加密 |
文章评论(0条评论)
登录后参与讨论