Verilog HDL那些事儿建模篇:
在众多的Verilog HDL 参考书,隐隐约约会会出现这样的一个“建模”。建模在Verilog HDL的世界里是一个重要的基础,很多初学Verilog HDL + FPGA 的朋友会成为徘徊在边缘的一群,主要原因就是他们没有掌握好建模技巧,而形成他们继续前进的一大阻碍。在这里笔者将自己养成的建模技巧,编辑成为一本笔记,好让许更多初学的朋友越过这一段学习的大障碍。
Verilog HDL那些事儿时序篇:建模不是Verilog HDL 语言的所有,建模只是使用Verilog HDL 语言建立一个“像模像样”的“形状”而已。这个“形状”实际上是很粗糙的,还没有经过任何深入的分析。但是我们不可以小看这个“粗糙的形状”,如果没有这个“粗糙的形状”模块的设计根本无法完成。笔者在《Verilog HDL 那些事儿- 建模篇》的结束语中有这样讲过:“建模是一个粗糙的东西,它还可以继续细化”。
“细化”顾名思义就是进入模块的深层进行分析和优化(如果有需要调试的话)的工作。但是前提,我们必须“更深入Verilog HDL 语言的世界”才能有效的“细化”模块。这一本起名为《Verilog HDL 那些事儿-时序篇》的笔记分别有两个部分,上半部分和下半部分。上半部分是“步骤和时钟”;下半部分是“综合和仿真”。
VerilogHDL那些事儿整合篇:要在Verilog 要实现for 和while 等循环是一个矛盾的作业,这话何说呢?首先我们可以用Verilog 来模仿for 和while 等循环,这也是第一章的重点。可是随着我们深入了解Verilog 各种不同的运行模式,模仿就会失去意义。.. 因为只要有一个指向步骤的i 再加上一些整合的技巧,怎么样的循环我们都可以实现,这也是第五章的重点。当然整合篇所讨论的内容不单是循环而已,整合篇的第二个重点是理想时序和物理时序的整合。说实话,笔者自身也认为要结合“两个时序”是一件苦差事,理想时序是Verilog的行为,物理时序则是硬件的行为。不过在它们两者之间又有微妙的“黏糊点”,只要稍微利用一下这个“黏糊点”我们就可以非常轻松的写出符合“两个时序”的模块,但是前提条件是充足了解“理想时序”。
整合篇里还有一个重点,那就是“精密控时”。实现“精密控时”最笨的方法是被动式的设计方法,亦即一边仿真,一边估算时钟的控制精度。这显然是非常“传统”而且“古老”的方法,虽然有效但往往就是最费精神和时间的。相反的,主动式是一种讲求在代码上和想象上实现“精密控时”的设计方法。主动式的设计方法是基于“理想时序”“建模技巧”和“仿顺序操作”作为后盾的整合技巧。不说笔者吹牛,如果采用主动式的设计方法驱动IIC 和SDRAM 硬件,任何一段代码都是如此合情合理。
5
|
|
|
|
找了很久的三本书,看过其中一本写得不错,多谢楼主整合分享
|
|
-
成勇
2020-4-25 19:22
好资料,谢谢分享!
|
|
|
好,很不错,好好学习下先,谢谢分享啊!
|
|
|
|
|