上周没有写博客,我不会无辜不写,只因为有更重要的事情。
首先说明下需求。在某些设计需求中,需要在更换bitstream时,要求一部分逻辑不能重新被加载。也就是说,要求实现FPGA的动态重配置。
这里主要参考了ug909,上面对每一步操作具有十分详细的说明。但是对于初学者来时,那些晦涩难懂的专业名词是在令人挠头,所以这里把手册的内容进行了精简,并且用大家最喜欢的流水灯实验说明问题。哈哈哈。。。流水灯实验我从学习数字电路、单片机、arm、fpga。。。一直都是最好的伴侣。(大学实验室有个老师,在实验室学习stm32,结果流水灯闪了两年)。
好了,现在也让我的流水灯闪起来。说明下,流水灯是这样闪烁的。一共两个LED。这里设为LED1和LED2,重配置以前,LED1和LED2以1HZ的频率进行闪烁。重配置以后,LED1以1HZ频率进行闪烁,LED2以2HZ速度进行闪烁。以上就是最终实现的效果,这里可能很多人会笑,这么简单,用三极管都能实现。在博弈论中,假设了人事聪明的并且人性本恶。这里我假设读者明白FPGA重配置的意义。
上图为实现整个功能的block,这是初学者的水平,其实我也是初学者。哈哈
实现重配置我总结了以下17步,先罗列以下:
1、综合工程 (first module)
2、保存checkp