将陆续上传本人写的新书《自己动手写处理器》(尚未出版),今天是第六篇,我尽量每周四篇
2.3 Verilog HDL简介
本书实现的OpenMIPS处理器是使用Verilog HDL编写的,所以本章接下来的几节将介绍Verilog HDL的一些基本知识,包括语法、结构等。因为本书并不是一本讲授Verilog HDL的专门书籍,所以此处介绍的内容并不是Verilog HDL的全部,只是一些基础知识,以及在OpenMIPS处理器实现过程中会使用到的知识。读者如果对Verilog HDL有进一步了解的需求,可以参考相关书籍,这方面有许多非常优秀的书籍。笔者推荐《数字系统设计与Verilog HDL(第4版)》,本章关于Verilog HDL的介绍也部分参考了该书。
Verilog HDL由GDA(Gateway Design Automation)公司的Phil Moorby于1983年首创,之后,Moorby又设计了Verilog-XL仿真器,Verilog-XL仿真器大获成功,也使得Verilog HDL得到推广使用。1989年,Cadence收购了GDA,1990年,Cadence公开发布了Verilog HDL,并成立了OVI(Open Verilog International)组织,专门负责Verilog HDL的发展。由于Verilog HDL具有简洁、高效、易用、功能强等优点,逐渐为众多设计者所接受和喜爱。其发展经历了几个关键节点。
- 1995年,Verilog HDL成为IEEE标准,称为IEEE Standard 1364-1995(Verilog-1995)。
- 2001年,IEEE Standard 1364-2001(Verilog-2001)获得通过,其对Verilog-1995做了扩充和增强,另外,修改了一些语法结构,使之更易于使用。
- 2002年,为了使综合器输出的结果和基于IEEE Standard 1364-2001的仿真和分析工具的结果相一致,推出了IEEE 1364[1].1-2002标准,其对Verilog HDL的RTL级综合定义了一系列的建模准则。
- 2005年,Verilog HDL再次进行了更新,即IEEE Standard 1364-2005(Verilog-2005)。该版本只是对上一版本的细微修正。这个版本还包括了一个相对独立的新部分,即Verilog-AMS (Analog and Mixed-Signal),这个扩展使得传统的Verilog HDL可以对集成模拟和混合信号的系统进行建模。
Verilog HDL具有下述特点。
(1)Verilog HDL是在C语言的基础上发展而来的,就语法结构而言,Verilog HDL继承了C语言的很多语法结构,两者有许多相似之处。
(2)既适于可综合的电路设计,也可胜任电路与系统的仿真。
(3)能在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器传输级(RTL)到行为级,都可以胜任,同时Verilog HDL不对设计规模施加任何限制。
(4)灵活多样的电路描述风格,可进行行为描述,也可进行结构描述;支持混合建模,一个设计中的各个模块可以在不同的设计层次上建模和描述。
(5)内置多种基本逻辑门,如and、or和nand等,可方便的进行门级结构描述;内置多种开关级元件,如pmos、nmos和cmos等,可进行开关级的建模。
(6)用户定义原语