h7n9禽流感能吃鸡蛋吗,吃鸡卡麦怎么办,免费端游吃鸡加速器,吃鸡服务器繁忙进不去游戏解决方案100%有效
(玩电子) 电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

分享一些FPGA学习的经验

作者:佚名   来源:本站原创   点击数:x  更新时间:2012年01月19日   【字体:

     从开始学FPGA到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了。但是不管现在的水平如何,今天就总结一下自己学习它的感受或一些认识吧。

       首先,先说一下自己的在学习中所发现自己的不足之处:

1.      不会总结。

2.      学习的?#24049;?#20064;惯没养成。

   在写FPGA的基本模块时,遇到的问题有许多,譬如,?#21019;?#30721;时的警告,特别是一些不能忽视的警告,每次遇到时,总是还要检查一会儿才能改过来,或者有的警告已经出现了几次,但是就是解决不掉。每次在学一个模块时,只要是看懂了,它的一些重点就没有及时的记录在本子上,只有个别的想起来时,才会做?#22987;恰?#27599;做完一个模块,没有及时记录下自己从这个模块中学到了什?#30784;?#19978;面的不足,都是在写模块的过程中,自己逐渐暴露出来的。我很庆幸自己的一些问题能及时的被发现,虽然年前的学习将暂告一段落,但是,在年后的学习中,我一定会时刻记得自己以前在学习上出现了怎样的不足,避免类似的事情再次发生。像遇到警告时,都要记录下来,通过改正后,要注释,写下警告的原因,定期看一下。我上次写的一个代码就没有注释现在自己都看不懂了

图一:非阻塞赋值 

 

图二:阻塞赋值

       当想把a先赋给b,然后赋给c时,阻塞赋值是b和c在同一个脉冲下,一起等于a,而非阻塞赋值则是先把a赋给b,在下一个脉冲时,再将b赋给c,这才符合设计的初衷。所以,在运用时,要注意到它们的不同之处。在时序逻辑中,用非阻塞赋值,而在组?#19979;?#36753;中用阻塞赋值。

       除了阻塞与非阻塞赋值的区别要理解清楚外,状态机又是一个重点,会运用状态机非常重要,这是在写可调时钟时,自己深刻意识到的,当时写可调时钟时,想要调节它的不同模式,但是又不能在不同的过程块中,对同一个变量赋值(和C51的不同之处),所以,当时?#21019;?#20195;码的时候,走了弯路。这几次写的几个代码中也用到了状态机,如:矩阵键盘的扫描,串入并出和并入串出,AD0832。它让我越来越?#33455;?#21040;,要想控制好一个层次分明的工作流程,状态机不可少。而要想写好一个状态机,首先要做的就是要确定若干个状态,明确各个状态之间的逻辑关系,转移条件等等。虽然,到目前为止,自己还有几个模块没写完,但是,自己对状态机已经不再是不知道怎样用,而变为遇到一个问题时,总是想到状态机是否能解决这个问题。我想这也是自己在这方面踏出的第一步吧。除了这两点外,让我感触很大的就是除法器的编写,以前在单片机中,用到除法,只需要一个符号:“/”就能搞定,但是,现在让自己写一个除法器,要弄懂它的原理,这让我意识到,往往看起来很简单的一件事,在其背后,总有许多需要我们去挖掘或者说是去认识和学习的地方。除此之外,我?#33455;?#26377;几种编程技巧挺不错的,例如:“Wire    keysign=cnt[19]”这种置标志位的方法,只有当位宽为19的寄存器“cnt”计数计满时,keysign才变为1,同时只保留一个周期,而寄存器“cnt”计满后,自动清零,当下次计满时,keysign才再次被赋值为1;这在矩阵键盘的扫描中,是非常重要的。还?#33455;?#26159;移位寄存器的应用,包括位拼接等等,都挺经典的。

       在学习的过程中,通过学习到的这几种相对较好的编程方法后,我也意识到了自己在学习中的一些不正确的思想,如:以前总?#33455;?#26082;然是?#21019;?#30721;的,最好还是自己写,这样才比较好,照着别人写好的代码看,?#33455;?#22909;像少点什么似的,这可能是心理作用在做怪,而这几?#25991;?#22359;写下来,自己体悟挺深的,刚开始总是自己想着写,进度不仅慢,效率也不是很高。这让我郁闷不已,后来看别人都是看着别人的代码改写的,我想了挺多的。看别人的代码,能看懂其实也是一种本事,作为初级者,首先就是一个学习的过程,不可能什么东西都是“自来熟”,只有先学习别人的长处,掌握了一定的基础,才能去创新。这一点,在我看了网上一些人写的代码后更加相信:大多数的基本模块代码,大家的编程思路都是非常一样。只有在编写一些大型的代码时,才会在原有的基础?#20808;?#36827;行改进和融合。而这些技能离不开平时的积累。

       关于以上的总结,我相信在以后的学习中一定会对自己有莫大的帮助,它会时刻警醒自己,在以前的学习中,自己有哪些不足,以后千万不能再去犯同样的错误,不?#31995;?#32416;正,不?#31995;?#36827;步,相信自己一定会学好FPGA的。

 

发表评论】【告诉好友】【收藏此文】【关闭窗口

文章评论

相关文章

h7n9禽流感能吃鸡蛋吗
王者荣耀芈月 cos 后三组六怎么倍投 欧美美女丝袜性感热舞 北京pk是最简单技巧 女优写真 图片 十大信誉搏彩排行 极速赛车大小在线计划 01彩票是合法的吗? pt电子游戏app下载 王者荣耀妲己被叉哭