如果是要克隆一份fpga设计,只要利用探针把从flash加载FPGA的位流用逻辑分析仪抓出来就行了。
如果要破解RTL代码,则需要反编译。这种反向工程理论上是可行的,因为综合的过程是依托厂家综合软件比如ise quartus的布局布线算法的。只要你清楚对fpga芯片结构和软件布线算法足够清楚,理论上可以反编译出来。
先解密才可以擦除。调试时,FPGA芯片上的程序存在RAM里,掉电自动擦除,如果烧写到外部flash存储(如EPCS16等)的话,那就需要在开发环境里使用仿真器擦除了。
由于FPGA基于SRAM,所以掉电以后,其内部的数据必然丢失,为了让系统正常运行,就需要在系统上电的时候给FPGA加载程序,目前对FPGA加载程序的方法主要有以下几种:第一、采用边界扫描的方式,这种方法主要用于产品调试期间用。
第二、采用专用配置芯片配置,主要用于升级次数少的产品。
第三、采用存储器+微控制器的配置方法,这种配置方法灵活,使用方便,便于升级,多用于需要多次升级的产品。
用片外的安全加密存储器,其实FPGA的安全性不需要担心,或者说其实担心的是仿制、山寨,把你的每台设备给上唯一序列,放在安全加密存储器里,比如DS28E01,通过加密算法FPGA就能知道是否是山寨,如果山寨就不干活
像楼上说的那样,用内置配置芯片的FPGA,比如Altera Max10系列
用加密型MCU配置FPGA,这样FPGA的安全性就转移到了MCU,而MCU有很多专用于防破解的,Maxim就有几种,据我所知有一种的破解价格甚至到了500万,而且MCU内部也可以对配置信息进行加密
Stratix系列好像有片内的AES加密算法,具体不太清楚因为没用过,配置信息直接以加密方式写入配置芯片,片内解密,也是很安全的,找你所在地的Altera代理商要license就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)