本帖最后由 雾盈 于 2016-8-28 13:40 编辑
FPGA学习一周之后的一点想法体会
雾盈 2016-07-31
雾盈FPGA笔记汇总目录
从7月23号开始FPGA培训学习,到我写这篇文章的时候,已经学习了8天。在这八天的FPGA学习里,我发现我的进步很大,这八天的FPGA学习效率比我在学校实验室自学两个月的都要高。今天刚好周末休息,那我就来写一下关于我学习FPGA的一些总结和体会。给打算学习FPGA的童鞋一些参考,也给自己一些鼓励。因为这条路注定要走很长时间了。
1.因缘巧合,我接触到了FPGA。
偶然碰到当时一个老师正在募招几个学生帮他完成一个关于FPGA的项目,之前我对FPGA是一无所知的,连这个概念都没有听说过,但自己又非常渴望去接触一些新的东西,找一些有意思的事情做。于是,从那一刻,我就算迈进入了FPGA这个新的世界里。
项目在手了,什么都不会啊,怎么办?学,大三平时又有很多课怎么办啊?那就利用课余时间自学。这样,每天的中午和晚上我都会坐在实验室里找前辈的视频来看。当然,进行到后来,自学效率变得很低。
2.初学者的视角
刚开始的语法部分学起来还好,我学的Verilog和C语言有些类似,语法知识并不需要花费很多力气去学习。
- module and(
- input a,
- input b,
-
- output c
- );
-
- assign c = a & b;
-
- endmodule
复制代码
这样一个简单的与门模块就已经把基本的语法框架打出来了。所以,这一部分并不是难点。
我觉得难点在于什么,在于理清整个电路设计的逻辑,知道要写出来哪些模块来完成哪些功能,然后这些小模块最终要完成哪些逻辑。后面我会举一些简单的例子。
所以,这样看,入门是很简单很快速的
那我为什么又来参加FPGA培训学习?因为我发现,我学了两了月还是入门的水平,衰…… 我学到一个月的时候,就已经感觉到效率在下降了,每天因为一些不重要的小问题,而鼓捣上一下午,而如果你身边有经验的丰富FPGAER,这些小问题只是抬头问一句话就能找到解决方法的小的不能再小的问题,但它确实会浪费你自学的时间。
这就是我在初学自学时所处的状态,而你是否也有同样的感受?关于其他的,我想到了再详细写。
3.高效率的开始
在这八天里,我进步了很多。首先一点,我敲代码的速度提高了一倍。
然后是设计流程的规范,我严格按照老师所讲的设计流程,来写我的每一段代码。
到目前为止,我的设计流程是下面这样的:
一、 逻辑描述。
可以在脑海里默画成形,也可以在本子上写写画画,总之你在设计之前一定要把整个设计的逻辑理清楚,才能进行下一步的动作。
二、 流程图,框图
等你把逻辑理清楚了,你就可以把你的想法思路用流程图描绘出来,把你想写的各个模块及其之间的引脚连线用框图表达出来,这样的好处就是,只要你把框图画出来,对照着框图,接下来的敲代码工作只是简单的力气活而已,我们老师这样说的,好多前辈也是这样说的。
三、 写代码
创建工程→新建顶层文件→写各模块程序→在顶层里例化各个模块→写测试文件→modelsim仿真→查看波形→纠正代码→仿真查看波形→纠正代码→……
吃饭去,回来再写。
四、 遇到问题,
遇到问题,分析问题。
看仿真波形图,这是最有效率的解决问题的方式了,波形图哪里出错了,就直接找到那段代码,仔细找一下,大多数情况下都可以找到的 。
当然,如果你想避免错误,那就从一开始建工程那步,规范自己的代码风格,
对每一步都有清晰的思路。
这是开始一周的想法,随着时间与自己的前行,想法肯定会不一样,变化的时候再写一些来看,给你也给你自己一些鼓励。
|