“低级建模”是针对入门或者新手提出的一种“设计思路”。我们知道FPGA执行的概念是“并行”,但是在入门众多的实验中,高达4成的实验都是“顺序操作”的执行概念。假设一个比较经典的例子“流水灯”实验。如果利用单片机设计流水灯的驱动程序,是非常简单,我们只要,建立延迟函数,移位函数,和一个大循环,就可以实验流水灯效果。
但是换做另一个环境如(CPLD/FPGA)的平台上,实验复杂的流水灯效果。在“并行”概念上,设计这样一个驱动程式,会使得初学者上力不接下力。我们可以考虑这样一个问题:“用什么办法,不失CPLD/FPGA的"并行性",而且还可以轻松实现"顺序操作" ”?
在网上个多的论坛,时常可以看见很多新手求救关于这方面的问题,笔者也是如此,所以笔者才决定写这本笔记。
还有一种问题,就是编程风格的问题。Verilog HDL语言对初学者来说,编程风格是最一个大难题的。有这样冷笑话流传在新手之间流传:“ 如果一个新手写十个驱动程式,会超过10个不同的编程风格 ”。这也难怪的,要建立一个编程风格真的不简单,即使是写了多年经验,也不见得会有编程风格。然而“低级建模”有固定的模板格式,可以很好的帮助新手们。
除此之外,“低级建模”对“仿顺序操作”是简洁的,不同于一般的编程,滥用了“状态机”来达到效果。“状态机”在仿顺序操作上,虽然有很大的效果,但是“状态机”对资源的消耗,和“代码的臃肿”都是可见的。“低级建模”在“仿顺序操作”上,使用“步骤”的概念,就如我们食饭的时候,首先饭来张口,然后慢慢的咽,最后才吨进食道,就这样一个动作就结束。要吃另一口饭的时候,再重复这个动作。(如果吃饭换做是状态机,事物可能会永远卡在食道)
目前笔记也只是写了“低级建模”的“思路篇”而已,因为笔者考虑到自身资格和经验的问题,笔记的续文非常不适宜。但是笔者认为这已经是足够了,因为笔记的内容可以很好的帮到初学者,从另一个角度去认识Verilog HDL建模技巧。
笔者的话:
还记得自己初次接触Verilog HDL语言时候的感觉吗?曾经有没有因经历失败而灰心呢?如此过来的人,偶尔会回忆,会觉得入门(初学)时的心情是最真实的。即使现在,挫折中,迷失中,混沌中。只要回忆当时,就有继续的勇气 ......
用户433387 2012-10-26 18:36
用户847528 2011-8-2 13:55
用户136726 2010-7-20 20:40
用户1373959 2010-6-6 13:37
用户1373959 2010-6-4 21:45