FPGA加密方法 —用于系列xilinx5/6/7 一项设计被抄袭主要通过抄袭电路板和IC解密来完成 常用抄板步骤 1.复印扫描板卡样图 2.导入软件描点描线,封装整理 3.检查断线,短路,遗漏,输出制板文件 常用IC解密方法 1. 截获方式(在被抄板启动瞬间进行抓捕配置信号,已获得配置程序) 2. 拷贝方式(将配置程序的flash在原板拆除,在烧写器中读取配置程序) 可见控制设计抄袭的主要途径是要加强对IC的加密。对此特别介绍一下关于xilinx FPGA的加密方法,altera和actel大同小异。 FPGA加密主要有 1.配合第三方加密芯片(如ds180等,通过控制程序复位使能实现) 2.自带加密逻辑硬核(如5/6/7系列中的BbRAM和eFUSE存储密钥实现) 下面主要讲述一下如何用自带的IP进行加密逻辑。
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/02/clip_image001.emz - 右键ise12以上版本impact下载软件,选择加密属性,选择加密密方式是Bbram方式还是Efuse方式(Bbram方式需要fpga固定vbat管脚接有1.5v电池,为存放密钥的blockram提供电源,拆除电池则密钥丢失,无法启动加密程序。Efuse则烧写到fpga内部的反熔丝寄存器内,只能烧写一次无需电池设计)
可见Bbram方式可以防止别人抄板和解密IC但是电池寿命电量有限,Efuse不能防止别人抄板,但是可以防止解密IC,效果也不错,所以根据需要可以自己选择。 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/02/clip_image003.png
- 不支
- 无论哪种方式均生成.nky和.bit两个文件(可以手动填入256bit key0和hkey也可以不填写随机生成)设计完毕后,编译即可生成如上两个文件,均是先加载.nky然后加载.bit(要妥善保留.nky文件)。
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/02/clip_image005.png 完成以上步骤加密设计完成。 该方法需要注意如下: 1.下载流程首先烧写.nky然后烧写.bit文件 2.不支持动态配置,加密只支持整FPGA的配置 - 256bit密钥加密,fpga内部包含解码逻辑(不能其它用途)
- 如烧写过密钥ram,efuse后,芯片可以正常烧写其它未加密的bitstream。
- 如用bpi X16模式主cclk配置,配置速度是ConfigRate设置的一半
- 可用户自己配置,也可以随机让软件配置
FUSE_CNTL[0]不要时能CFG_AES_Only,不然无法烧写没加密过的bitstream。(default即可)其它操作有关的寄存器请关注xilinx ug360和ug470等配置文档。www.rocetech.com (ask for more) |