Verilog语言

Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,两种HDL均为IEEE标准。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。

Verilog是由Gateway Design Automation公司的工程师Prabhu Goel和菲尔·莫比(Phil Moorby)发明的。1990年,Gateway设计自动化被Cadence公司收购。

1990年代初,开放Verilog国际(Open Verilog International, OVI)组织(即现在的Accellera)成立,Verilog面向公有领域开放。Verilog成为了电气电子工程师学会IEEE1364-1995标准,即通常所说的Verilog-95。其后对Verilog进行了修正和扩展,这个扩展后的版本后来成为了IEEE1364-2001标准,即通常所说的Verilog-2001。目前,Verilog-2001是Verilog的最主流版本,被大多数商业电子设计自动化软件包支持。2005年,Verilog再次进行了更新,即IEEE1364-2005标准。该版本只是对上一版本的细微修正。这个版本还包括了一个相对独立的新部分,即Verilog-AMS。这个扩展使得传统的Verilog可以对集成的模拟和混合信号系统进行建模。

IEEE 1364-2005标准容易与SystemVerilog(IEEE1800-2005标准)混淆 。IEEE1800-2005是Verilog-2005的一个超集,它是硬件描述语言、硬件验证语言的一个集成。2009年,IEEE 1364-2005和IEEE 1800-2005两个部分合并为IEEE 1800-2009,成为了一个新的、统一的SystemVerilog硬件描述验证语言(hardware description and verification language, HDVL)。

Verilog语言结合了C语言和Pascal的许多优点。Verilog的设计初衷是成为一种基本语法与C语言相近的硬件描述语言。这是因为C语言在Verilog设计之初,已经在许多领域得到广泛应用,C语言的许多语言要素已经被许多人习惯。不过,Verilog与C语言还是存在许多差别。另外,作为一种与普通计算机编程语言不同的硬件描述语言,它还具有一些独特的语言要素,例如向量形式的线网和寄存器、过程中的非阻塞赋值等。

用Verilog实现Hello world程序:

module main;

initial

begin

$display(“Hello World!”);

$finish;

end

endmodule

注:Verilog最初是被用来仿真和验证,可笑之处在于,我在学习Verilog时故意跳过了Verilog的仿真和验证部分,只学了Verilog语法的综合部分。

参考文献:

[1] Verilog HDL. 百度百科. 2015,08,10.

[2] Verilog. https://en.wikipedia.org/wiki/Verilog. 2015,08,10.

时间: 2024-08-26 02:38:25

Verilog语言的相关文章

Verilog语言:还真的是人格分裂的语言

人气腹语术师天愿在现场披露了被人偶搭档夺取灵魂的腹语术师将妻子杀害的表演节目.天愿真的陷入了多重人格,命令自己杀害妻子和子的人偶的人格出现了.为了不(让自己)杀害和弟子登川有外遇的妻子,天愿提出委托想要监视,然而第二天早上,和子真的被杀害的事件发生了.天愿坦白很可能是在自己的意识失去的时候杀害的--"(----"真相只有一个"<名侦探柯南>一向是老衲喜欢的动画片)这个是第806回<腹语師的错觉>的介绍. 人有双重人格,或者叫人格分裂,那么语言呢?Ver

从RTL视图到Verilog语言-转可乐豆原创

从RTL视图到Verilog语言 曾经听过某位大牛都说:“当你的学习FPGA到一个境界的时候,你看到的硬件描述语言,将不再是单纯的语言,而是由一个个逻辑门组成的电路图,一旦达到这个境界,方能把代码写到极致!” 笔者是多么希望达到这种境界啊--,可这种境界给笔者的感觉是那么的虚无缥缈. 前段时间笔者写了一篇名叫<关于FPGA(verilog)电平检测模块的易错点分析>的博客.我仔细看了看verilog对应的RTL视图,又将RTL视图与verilog对比,突然间略有感悟. 首先奉上笔者亲手绘制的逻

No.3 Verilog 语言要素

3-1 标识符 任意字母.数字.‘$’和’_‘组成,标识符第一个不能是数字. 3-2 注释 (1)/*可扩展多行*/ (2)//本行结束 3-3 系统函数 以$字符开始的标识符. (1)$display("...") //$display系统函数用新的一行字符显示指定的信息 (2)$time //返回当前仿真时间 3-4 编译器指令 (1)‘define和’undef //类似于C语言 (2)‘ifdef.‘ifndef.’else.’elseif.‘endif //条件编译 (3)‘

用Verilog语言实现一个简单的MII模块

项目中要求简单地测试一下基于FPGA的模拟平台的RJ45网口,也就是需要实现一个MII或者RMII模块.看了一下官方网口PHY芯片的官方文档,还是感觉上手有点障碍,想在网络上找些参考代码看看,最后只在opencores找到了一些MAC层控制模块,代码庞大且复杂,对于初学者来说阅读起来很困难. 于是在此以一个初学者的角度记录一下我实现一个简单的MII模块的过程,并且指出一些实现过程中要注意的问题.希望可以帮助有需要的朋友. 为了便于测试,我选择了和我们平台使用相同物理芯片的FPGA开发板NEXYS

FPGA培训专家 V3学院 FPGA专家 带你学习Verilog语言top_down书写技巧

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 为了提高我们代码的复用率,我们可以将不同的功能的代码分模块书写,然后在顶层连线即可.我们举一个简单的例子,如下程序,我们实现的是LED流水. 我们在led模块中先将系统时钟分频为1HZ的时钟,然后用分频后的时钟控制LED灯的流水,但我的分频和LED灯流水完全不是相同的工程,只是把分频后的时钟作为LED灯的控制时钟.这样我们会发现如果我再次用到流水灯的模块的话需要修改很多地方,那么为了让我们的模块复用率更高.更容易复用,我们

verilog语言实现TCL549(AD)转换

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 ADC 和 DAC 是模拟量和数字量之间不可或缺的桥梁.A/D 转换器是将各种模拟信号转换为抗干扰性更强的数字信号,直接进入数字计算机进行处理. 本设计采用V3学院基础开发板,采用TCL549进行模数转换,通过数码管显示电压值.TLC549 是一个 8 位的串行模数转换器,I/O所需最大时钟为1.1MHz.A/D 转换时间最大 17us,如图1所示,TCL549引脚图,管脚8和4分别接VCC和GND,管脚1和3分别接基准电

用Verilog语言设计一个3-8译码器

case语句 if_case语句 源代码 // case语句 module decoder38(din,dout); input [2:0] din; output reg[7:0] dout; [email protected](*) begin case(din) 3'b000: dout = 8'h01; 3'b001: dout = 8'h02; 3'b010: dout = 8'h04; 3'b011: dout = 8'h08; 3'b100: dout = 8'h10; 3'b10

MiS603 开发板2.2 Verilog HDL硬件语言基础

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ 2.2 Verilog HDL硬件语言基础 2.2.1 技术背景 大规模集成电路设计制造技术和数字信号处理技术,近三十年来,各自得到了迅

VHDL与Verilog硬件描述语言TestBench的编写

VHDL与Verilog硬件描述语言在数字电路的设计中使用的非常普遍,无论是哪种语言,仿真都是必不可少的.而且随着设计复杂度的提高,仿真工具的重要性就越来越凸显出来.在一些小的设计中,用TestBench来进行仿真是一个很不错的选择.VHDL与Verilog语言的语法规则不同,它们的TestBench的具体写法也不同,但是应包含的基本结构大体相似,在VHDL的仿真文件中应包含以下几点:实体和结构体声明.信号声明.顶层设计实例化.提供激励:Verilog的仿真文件应包括:模块声明.信号声明.顶层设