Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。
用途:
Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995.
Verilog HDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog HDL内容安排在与
ASIC设计
等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,VHDL的学习要困难一些。但Verilog HDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。
选择VHDL还是Verilog HDL
这是一个初学者最常见的问题。其实两种语言的差别并不大,他们的描述能力也是类似的。掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。 选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。当然,如果您是集成电路(ASIC)设计人员,则必须首先掌握verilog,因为在IC设计领域,90%以上的公司都是采用verilog进行IC设计。对于PLD/FPGA设计者而言,两种语言可以自由选择。
设计人员通过计算机对HDL语言进行逻辑仿真和逻辑综合,方便高效地设计数字电路及其产品。
常用的Verilog HDL语言开发
软件
有
Altera公司
的MAX+PLUS II,Quartus II和Xilinx公司的Foundation ISE。
Verilog HDL发展历史:
1、1981年Gateway Automation(GDA)硬件描述语言公司成立。
2、1983年该公司的Philip Moorby首创了Verilog HDL,Moorby后来成为Verrlog HDL-XL的主要设计者和Cadence公司的第一合伙人。
3、1984-1985年Moorby设计出第一个关于Verilog HDL的仿真器。
4、1986年Moorby对Verilog HDL的发展又做出另一个巨大的贡献,提出了用于快速门级仿真的XL算法。
5、随着Verilog HDL-XL的成功,Verilog HDL语言得到迅速发展。
6、1987年Synonsys公司开始使用Verilog HDL行为语言作为综合工具的输入。
7、1989年Cadence公司收购了Gateway公司,Verilog HDL成为Cadence公司的私有财产。
8、1990年初Cadence公司把Verilong HDL和Verilong HDL-XL分开,并公开发布了Verilog HDL.随后成立的OVI(Open Verilog HDL International)组织负责Verilog HDL的发展,OVI由Verilog HDL的使用和CAE供应商组成,制定标准。
9、1993年,几乎所有ASIC厂商都开始支持Verilog HDL,并且认为Verilog HDL-XL是最好的仿真器。同时,OVI推出2.0版本的Verilong HDL规范,IEEE接收将OVI的Verilong HDL2.0作为IEEE标准的提案。
10、1995年12月,IEEE制定了Verilong HDL的标准IEEE1364-1995.
任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。
主要能力:
下面列出的是Ve r i l o g硬件描述语言的主要能力:
· 基本逻辑门,例如a n d、o r和n a n d等都内置在语言中。
· 用户定义原语( U D P)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。
· 开关级基本结构模型,例如p m o s 和n m o s等也被内置在语言中。
· 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。
· 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模。
· Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
· 能够描述层次设计,可使用模块实例结构描述任何层次。
· 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。
· Verilog HDL不再是某些公司的专有语言而是I E E E标准。
· 人和机器都可阅读Verilog 语言,因此它可作为E D A的工具和设计者之间的交互语言。
· Verilog HDL语言的描述能力能够通过使用编程语言接口( P L I)机制进一步扩展。P L I是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。
· 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RT L)到算法级,包括进程和队列级。
· 能够使用内置开关级原语在开关级对设计完整建模。
· 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。
· Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。
· 在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算 法级行为上进行设计描述。
· 能够使用门和模块实例化语句在结构级进行结构描述。
· 在Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。
· Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。
· 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。
· 可以显式地对并发和定时进行建模。
· 提供强有力的文件读写能力。
· 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。
例子:
一个简单的VerilogHDL的例子:(12位寄存器)
// Verilog Example
// User-Defined Macrofunction
module reg12 ( d, clk, q);
input clk;
input [11:0] d;
output [11:0] q;
reg [11:0] q;
always @(posedge clk)
q = d;
endmodule
转载百度百科:
http://baike.baidu.com/view/27876.htm