前言
前期一直在做关于FPGA方面的开发,从开始认真玩FPGA到参考原子、野火、黑金、米联客的教学资料再到参与做项目中,中途也参加了两个比赛整也都获得不错的成绩,整个阶段持续了大概快一年半的时间,学习了乱七八糟的知识,虽然做了很多的笔记(安利一个好用切开源的笔记、绘图软件Obsidian,里面有很多的大佬开发的插件—这是一个重点我用的几乎是我师兄二次开发的插件,又好看又好用满足强迫症患者),但是总感觉知识零零碎碎,为了总结一年来的工作,分享一些从小白开始学习FPGA的过程中得到的收获,把本地的笔记同步到博客上,同时在此期间的开发的源码进行在github开源(新建仓库待完善),这样做的目的也是为了能得到更多人的指导与建议,同时建立一个交流合作平台也邀请FPGA爱好者(学生)一起交流讨论,有兴趣的可以加QQ群(新建群聊,希望是一个友好交流的平台)。
- github仓库:https://github.com/ggTest-star/FPGA-BASIC
- QQ群:973766938
FPGA 中LUT知识
1. 什么是LUT?
- LUT:其实就是我们常说的查找表,就是字面的意思就是一个“表”,这也是FPGA用来实现逻辑的关键组件,通过查表的方式来实现逻辑计算(与/或/非等…),比如c = a & b,在进行综合的时候会将a & b的几种结果写入LUT中,通过寻址的方式找到对应结果。
- 四输入LUT:其实就是最多支持四个输入的查找表,比如a & b & c & d,输入的就是不同情况编码的地址,存储的就是不同情况计算的结果,如图1
- 六输入LUT:其实就是最多