论文部分内容阅读
FPGA (Field-Programmable Gate Array)作为一种半制定电路,不但解决了专用集成电路功能逻辑灵活性的不足,同时克服了原有可编程器件门电路数量十分有限的缺点。越来越广泛的用于通信、高性能计算等领域。随着集成电路制造工艺的不断提升,FPGA片上资源的规模急剧增长。FPGA配置文件的规模也随之急剧膨胀,然而其配置技术发展速度相对缓慢,片上存储空间十分有限,直接影响了FPGA在许多对实时性要求比较高的应用中的使用。主要的应对方法是采用配置文件上位机压缩,然后通过配置电路后再进行片上解压的方式来减少配置文件大小,变向增加配置电路带宽。现有研究大多集中在如何设计压缩算法更加充分的利用冗余字段或者使用特殊功能部件来提供更好的压缩比(CR=压缩前数据文件大小/压缩后数据文件[1]),减少配置文件大小。前者使得压缩算法以及解压电路都十分复杂,并不能提供满意的实时性,而且复杂的解压电路也会占用大量片上资源。而后者设计特殊部件,应用范围十分有限。本文针对现有压缩解压方案提出了一种基于Bitmask以及RLE的混合压缩算法,前者对于相似字段能够提高很好的压缩效果,而后者对于连续重复字段有较好的压缩比。本文巧妙结合上诉两种压缩算法,在提高压缩效率的同时,相对单一Bitmask以及单一RLE压缩算法,并没有增加压缩字段的长度,提供了较好的压缩比。同时在配置电路设计上,采用多缓存队列,每个缓存队列固定缓存步长的方式替代常用的单一缓存队列,多缓存步长的缓存方式。极大的降低了解压电路的复杂度,提供了较高的工作频率。试验结果表明,本文提出的混合压缩算法提供比较好的压缩比,极大的降低了配置文件的大小,试验选取数十种常用IP核作为试验对象,对比四种压缩算法,压缩比降低最低11.7%最高21.6%平均15.7%,同时其解压电路工作频率能达到300mhz。