上次我写了篇体会,是做了一个项目后的,今天再谈谈我的体会,希望和大家共同学习.
1)在做项目前我对VHDL一无所知,心想是门语言而已,应该不太难,因为我的C/Assembly都是自学的,总把它想象成MCU那么容易,所以也就决定接项目做,谁知一碰才发现自己全错了,这种并行语言语法虽然简单,但之间的关系却复杂的多,我混头了;但既然自己已无法回头就硬着头皮往下做;
2)于是我就上网看论坛,所以先特别谢谢Htank和Long这样的好兄弟,他们提供我们相当丰富的资源,使我很快就有了工具;于是买了两本书,边看边做;
3)开始学习是一头雾水,怎么办?边看边试,我一没老师二没朋友,就在论坛上问,看,想,那书上好象很多也编译不了,编译了又很多错误(现在想起来很多书都是误认子弟,我买的还是某顶级大学老师所著的,其实可读的东西太少,错误又多),那就干脆在网上找英文原版的,真是管用,我真是佩服老外做事的认真,而且他们很容易让我们读懂,这样很快就明白了VHDL的思想,开始边看书边做项目;
4)还好我所做的不是太难,LCD driver(64*8),其中模拟部分采用74HC4066和运放来实现,分析清楚时序后就开始做core,当明白VHDL的思想后做起来就豁然开朗了,很快,在两个多月里就由开始买书到项目完成,算是顺利;后来就做了比较复杂大的电路,感觉VHDL真是威力无比;
5)现总结我的一些经验:
a)要有足够的知识准备,必须对数字电路的基本元件有深刻的了解,在编码时就要考虑到合成的结果;基本的元件AND/OR/XOR/NOT,D trigger,再复杂的线路也是由基本元件组成的;
b)时序电路的实现最好采用状态机,在我看来状态机几乎是万能的;
c)学会仿真:其实仿真时间要占80%,在仿真时就会学习到很多你意想不到的知识,仿真你才明白原来电路是怎么工作的;要知道VHDL的仿真是件非常痛苦的工作,要有耐心,特别是后仿真,信号多,意义不明白,有的连名字都改了,必须要了解Modelsim是怎么工作的;
d)多问多想,要敢于提问和回答别人的问题,既然在网上有很多的好朋友,那么好的资源就要利用好,同时回答别人的问题也是进步;
e)开始做时候要找个相对简单的项目,最好是在5M以下的频率下使用,因为在低频率下,行为仿真通过后基本上合成问题不大,不必为后段花经历,毕竟是初学;
f)VHDL其实不难,难的是写好,如果你不懂数字电路最好看看康华光老师的数字电路,其中的基本器件描述的十分详细,有了基础你需要的就是个机会能一展身手了!
这是本人的一点学习心得,其实我是在翻书边做事的,因为我的语法很差,但思想是最重要的,希望朋友多切磋交流,多提供建议.
[此贴子已经
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |