在学习的过程中,无论学什么都不可能一蹴而就。都是从一个初步认识到慢慢了解再到精通掌握的过程,学习Verilog HDL语法也是一样的道理,首先你要清楚什么是Verilog HDL,然后结合实践再遵从理论,这样后面的学习才能理解的更透彻。
Verilog HDL是一种用于数字逻辑电路设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。Verilog HDL既是一种行为描述的语言也是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种。
系统级(system):用高级语言结构实现设计模块的外部性能的模型。
算法级(algorithm):用高级语言结构实现设计算法的模型。
RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理这些数据的模型。
门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。
开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。
Verilog HDL 的特点
Verilog HDL 语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。使用这种语言编写的模型可以方便地使用 Verilog 仿真器进行验证。Verilog HDL 从 C 语言中继承了多种操作符和结构。Verilog HDL 提供了扩展的建模能力和扩展模块。Verilog HDL 语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。
Verilog HDL 之所以成为和 VHDL 并驾齐驱的硬件描述语言,是因为它具有如下特点:
• 基本逻辑门和开关级基本结构模型都内置在语言中;
• 可采用多种方式对设计建模,这些方式包括行为描述方式、数据流方式、结构化方式;
• Verilog HDL 中有线网(Wire)数据类型和寄存器(Reg)数据类型两类数据类型,线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件;
• 能够描述层次设计,可使用模块实例结构描述任何层次;
• 设计的规模可以是任意的,语言不对设计的规模大小施加任何限制;
• Verilog HDL 不再是某些公司的专有语言而是 IEEE 标准;
• Verilog HDL 语言的描述能力能够通过使用编程语言接口(Programme LanguageInterface,简称 PLI)机制进一步扩展,PLI 允许外部函数访问 Verilog 模块内信息、允许设计者与模拟器交互的例程集合;
• 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RT L)到算法级,包括进程和队列级;
• Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示,这些值也能够用于与期望值比较,在不匹配的情况下打印报告消息。
如何自学?
如果想从本质上理解VerilogHDL (不是说全面理解),并且能够用于实践,C语言等软件编程语言或者其他高级抽象编程范式,都不是学习VerilogHDL的前置条件。相反,对初级者而言,那些软件编程的知识对学习VerilogHDL是极大的障碍。
学习VerilogHDL之前必须学习数字电路相关的知识。比如数字逻辑、微机原理(硬件)、电路分析、模拟电路(初级)这些。后续学一点数字信号处理的课程是有益的补充。再往前的基础就到高中的电学知识了。
自学VerilogHDL的方法就是实践。可以这样做:
第一步:在网上找一个模块代码(尽量简单,但是需要足够完整。比如经过认证的开源IP),从头到尾把里面出现的语法现象过一遍,不懂就查资料。都看懂了。
第二步:跑一下简单的仿真,看代码的结果是否跟预期的一致。说不定还会发现一两个bug。
第三步:不看原始代码,自己根据模块的Specification文档描述,把那个模块重新设计一遍。
其实,如果只是想要VerilogHDL来描述可综合的电路的话,需要掌握的语法就几条。三天之内可以搞清楚。其余的边做边学习。更具体的说法就是知道怎么描述组合逻辑电路,知道怎么描述时序逻辑电路,知道怎么用模块把一个个小电路连接成大电路。
书籍推荐
本书精选了通信、计算机和网络领域9类共20余个典型电路,包括网络接口、存储管理、帧同步、CAM和TCAM、哈希散列查找、深度包检测、漏桶算法、数据交换单元和SM4加解密电路,给出了每个电路的功能说明、算法原理和内部结构,以及完整的VerilogHDL设计代码和仿真测试代码。本书中的所有代码都在FPGA开发环境上进行了实际验证,可以直接应用于读者的设计实践中,具有良好的参考价值。
需要学习资料的同学,可以私信留下正确的联系方式,或者填写入行指导,老师会主动联系你发送学习资料!