查看: 1903|回复: 10

FPGA学习指南合集:Verilog HDL那些事儿

  [复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2020-4-21 09:47:00 | 显示全部楼层 |阅读模式
    分享到:
    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 硬件,任何一段代码都是如此合情合理。




    游客,如果您要查看本帖隐藏内容请回复

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 19:53 , Processed in 0.214502 second(s), 35 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.