HIT-Young

导航

杂文VHDL

       杂文VHDL    20111016

       这几天又接触到了分频器的问题,会看自己以前写的东西发现有很必须补充的地方:

       首先,先说奇数的50%占空比的分频的第二种方法,这种方法也可用来做x.5倍分频。如果我们要求做N分频(N为基数,占空比50%),那么我们首先做一个N/2的分频器,为了做这个N/2的分频器,需要做一个(N+1/2的计数器,这个计数器溢出输出端接一个翻转器的时钟(或者是一个T触发器,或者由一个非门加上一个D触发器来构成),然后这个翻转器的输出与时钟异或得到计数器的时钟(异或或者同或可对信号进行可控的反转)。分析可知这样我们就可以得到N/2分频器,并且翻转器本身就是2分频器所以翻转器的输出就是我们想要的N分频!如图。


 

       其次是代码风格的问题:以前写代码很受某些大学教材的影响,即关键字用大写,然后缩进什么的就稀里糊涂的时有时无了,总觉得VHDL不是个很严谨的语言,他不像C语言那样语法严格易懂。但是现在我觉得并不是这样。当我看到Quartus II的模板提供的代码时,我才恍然大悟,其实VHDL也很美很严格。模板中关键字是小写的,只有generic里面定义的值是大写(其原理和C语言的宏定义是类似的),缩进是有严格的规范的,按照规范的代码实在是美得不得了。另外其实很多看似无用的beginend之类的语言起到了C语言的中括号的作用,他们让程序结构更清晰,并且VHDL因为语句的组合丰富,因此看起来甚至比C语言更清晰(比如,end entityend architechtureend if等等,很多end x中的x是可写可不写的,这样程序人员可以有自己的风格,至少在QuartusII中是这样的)。

       最后,是一个和FPGA没什么太大关系的事情,那就是特权同学的新书要出了!真的要顶一下才行!特权同学的分享精神让人敬佩,特权同学让我想起了小时候的一位英语补习老师,老师也是基督教徒,他是我唯一接触过的基督教徒,时间久远已经记不起老师的名字了。老师虽贫寒,可是待她的学生却非常慷慨,上课前一定要做祷告,祷告的时候老师经常流眼泪。看特权同学的书的时候,会有一种感激之情,看很多人的博客的时候也是这样,那么这也许就是分享的快乐吧。

posted on 2011-10-16 16:28  HIT-Young  阅读(287)  评论(0编辑  收藏  举报