1.3 硬件描述语言
硬件描述语言(Verilog HDL)简称Verilog,内容繁多。关于Verilog,本书在本节简要介绍其历史、优点、EDA工具组;在第6章中介绍FPGA及其应用流程及Verilog的编写;在附录A中介绍Verilog的基本语法。更多关于Verilog的知识,读者可以查阅Verilog相关书籍。在Verilog HDL官方网站、论坛或是PLD、FPGA供应商的相关网站、论坛上可以获得第一手的经验知识。
1.3.1 Verilog的历史
20世纪80年代之前,数字设计主要工具是绘图板、尺子和铅笔等,用于绘制原理电路图。直到出现原理图编辑工具之后,才使得原理图的构建和维护工作得到简化。随着硬件描述语言的出现,可编程逻辑器件越来越便宜,数字电路与系统的设计逐渐倾向于PLD加HDL的方式。20世纪70年代以后,学术界开始使用Verilog HDL和VHDL,这是发展到目前最流行的两种硬件描述语言,它们都支持对硬件电路与系统的模块化和层次化编程,能够对数字电路与系统进行性能描述和模拟。并成功应用于设计的各个阶段:建模、仿真、验证和综合等。硬件描述语言能够以文本形式描述数字电路与系统的结构和行为,可以表示逻辑电路图、逻辑表达式,还可以表示数字系统所完成的逻辑功能。
1.3.2 Verilog的优点
随着数字电路与系统的复杂度和性能的提高,数字设计正朝着更高层次抽象的方向发展。能够在一个较高层次上描述硬件电路与系统,并实现将一个层次上的多个模块相互连接以实现较高层次的功能变得越来越重要,Verilog恰恰具有这种优势。在描述复杂的硬件电路时,设计者总是采取自顶向下的设计思路,将复杂的功能划分为简单的功能,模块是提供每个简单功能的基本结构,而Verilog描述硬件的基本设计单元就是模块(Module)。构建复杂的电子电路,Verilog正是通过模块间的相互连接调用来实现的,再使用一个顶层模块,通过实例调用模块来进行测试,这个顶层模块常被称为测试平台(Testbench)。
利用Verilog综合工具产生的电路,可能不如有经验的设计者手工设计和制作得简练和快速,但是却能支持更大的系统设计。而且,Verilog作为业界使用最为广泛的硬件描述语言之一,有大量的电子设计自动化工具对它予以支持。
1.3.3 Verilog的EDA工具组
工具组用于处理Verilog使用中的几个不同方面,它们的名称和用途归纳如下。
● 文本编辑器(Text Editor)用于编写、编辑和保存Verilog程序。因为与HDL开发系统的其他部分联系在一起,往往具有HDL规定的特性。如识别HDL相关联的特定文件名扩展,识别HDL保留字、注释等。
● 编译器(Compiler)负责分析HDL程序、发现语法错误并解释程序含义。
● 综合器(Synthesizer)根据特定硬件技术(如PLD、FPGA等)来完成最终设计,综合出功能电路。
●模拟器(Simulator)的输入是HDL模型以及描述硬件所需要的输入时序序列,并在所描述的硬件上运行,确定硬件内部信号的值以及指定时间周期内的输出。
除此之外,还有模板生成器、原理图展示器、芯片展示器、约束编辑器、时序分析器、后插注解器等。