前言
在展开学习之前,我先回答网友的一些提问,问题如下所示:
问题1:没有任何基础的想学习FPGA需要先找一本语法书好好复习一下Verilog语法吗?
我想很多同学都是想把语法全部看一遍,然后再去编写程序。这种学习方法是错误的,我们应该把语法书当做字典来用,用到什么语法知识去查找。前面几篇简单的程序代码,在大家学习时可以把里面用到的语法通过查找语法书搞明白;这样学习是最快的!
总结一句话:先从广度上用起来,然后再去深入研究它的深度!
问题2:学习FPGA要学习那些重点知识?
我个人觉得对于初学者来说要掌握时序逻辑和状态机设计最为重要,它们就像武侠小说《倚天屠龙记》中的屠龙刀和倚天剑一样,掌握了它们写任何复杂的程序代码都可以轻松应对,谈笑自如。
我再把对状态机的学习谈一下认识:初学者开始学习时主要就是接触两种类型的状态机:摩尔类型和米利类型;状态机的表达方法就是一段式、二段式、三段式。(状态机可以参考公众号《FPGA的故事》发布的状态机学习三部曲文章)
对状态机的学习方法,讲个故事给大家参考一下吧。在《倚天屠龙记》中有一段戏讲的是张无忌跟张三丰学习太极剑的故事:张三丰先把太极剑的招式演练了一遍,然后让张无忌去学习;学习了估计一袋烟的功夫...
张三丰问到:“无忌孩儿,练得如何啊?”
张无忌回答道:“一半的招式忘记了。”
张三丰笑着说道:“无忌孩儿,还要继续练哦!”
过了一袋烟功夫.....
张三丰又问到:“无忌孩儿,练得如何啊?”
张无忌回答道:“招式全部忘记了。”
张三丰高兴的回答道:“恭喜你,终于练成了!”
听完这个故事,大家要学会一个道理:随着学习FPGA的不断深入,当你认识到编写的任何代码都是状态机时,你就算学成了。<