调试时,FPGA芯片上的程序存在RAM里,掉电自动擦除,如果烧写到外部flash存储(如EPCS16等)的话,那就需要在开发环境里使用仿真器擦除了。
由于FPGA基于SRAM,所以掉电以后,其内部的数据必然丢失,为了让系统正常运行,就需要在系统上电的时候给FPGA加载程序,目前对FPGA加载程序的方法主要有以下几种:第一、采用边界扫描的方式,这种方法主要用于产品调试期间用。
第二、采用专用配置芯片配置,主要用于升级次数少的产品。
第三、采用存储器+微控制器的配置方法,这种配置方法灵活,使用方便,便于升级,多用于需要多次升级的产品。
看你要破解到什么程度。如果是要克隆一份fpga设计,只要利用探针把从flash加载FPGA的位流用逻辑分析仪抓出来就行了。
如果要破解RTL代码,则需要反编译。这种反向工程理论上是可行的,因为综合的过程是依托厂家综合软件比如ise quartus的布局布线算法的。只要你清楚对fpga芯片结构和软件布线算法足够清楚,理论上可以反编译出来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)