veriloghdl语言讲义

veriloghdl语言讲义

ID:31839888

大小:161.50 KB

页数:32页

时间:2019-01-20

veriloghdl语言讲义_第1页
veriloghdl语言讲义_第2页
veriloghdl语言讲义_第3页
veriloghdl语言讲义_第4页
veriloghdl语言讲义_第5页
资源描述:

《veriloghdl语言讲义》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VerilogHDL语言讲义北京大学信息科学技术学院2010.10目录一VERILOG语言简介4二VERILOG模块的基本概念42.1模块的结构52.1.1模块声明和端口定义52.1.2模块内容6三VERILOG语言要素73.1数据类型及常量、变量73.1.1常量73.1.2变量93.2运算符及表达式103.2.1逻辑运算符103.2.2位运算符103.2.3移位运算符113.3赋值语句和块语句113.3.1赋值语句113.3.2块语句123.4条件语句和循环语句133.4.1条件语句133.4.2循环语句143.5结构说明语句153.5.1initial语句163.5.2always语句16

2、3.5.3function语句17四组合逻辑模块184.1全加器184.2比较器184.3多路选择器194.4总线和总线操作20五时序逻辑模块205.1状态机205.2状态机的置位和复位235.2.1异步置位和复位235.2.2同步置位与复位24六VERILOGHDL的描述方式256.1行为描述方式256.2RTL描述方式266.3结构描述方式27七VERILOGHDL测试模块(TESTFIXTURE)28八QUARTUSII和MAXPLUSII、MODELSIM的使用298.1QuartusII的使用298.2MAXPLUSII的使用308.3ModelSim的使用32九参考文献32其他:3

3、4一Verilog语言简介VerilogHDL语言作为硬件描述语言的一种,它在现代电子设计中发挥了巨大作用。用该语言可以对波形和电路进行描述。用该语言可以进行仿真验证和面向硬件实现的可综合设计。VerilogHDL语言可以用于模拟和数字电路硬件描述,本讲义只涉及数字设计部分。1983年GDA公司的PhilMoorby首创VerilogHDL。1989年Cadence公司收购了GDA。2001年IEEE发布了Verilog语言的VerilogHDLIEEE1364-2001国际标准。VerilogHDL是一种通用的硬件描述语言。它的语法和C语言有很多相似之处,所以有C编程经验的人容易学习掌握。V

4、erilog语言适用于不同层次的描述,它可用于行为级、寄存器传输级、和门级以及电路开关级等设计。VerilogHDL语言得到绝大多数流行EDA开发软件的支持。绝大多数的制造厂商都支持VerilogHDL设计,所以用VerilogHDL进行IC设计容易选择制造厂商。Verilog具有编程语言接口(PLI),它可以支持C语言对Verilog内部的访问。VerilogHDL的内容比较多。本讲义对最基本的Verilog语言语法进行简要讲解,使得读者对最Verilog语言有个初步了解。在掌握这些基本概念后,通过练习读者可用简单的写法完成组合逻辑和时序逻辑设计以及测试程序(testfixture)设计。通

5、过这些学习为读者进一步深入学习硬件描述语言打下基础。二Verilog模块的基本概念VerilogHDL程序的基本设计单元是“模块”。一个模块由几个部分组成,下面是两个简单的VerilogHDL程序,从中了解Verilog模块的基本概念:[例1.1]moduleAOI(a,b,c,d,f);inputa,b,c,d;outputf;wirea,b,c,d,f;assignf=~((a&b)

6、(c&d));endmodule这个例子是一个“与-或-非”门电路的模块。[例1.2]modulemuxtwo(ain,bin,select,sout);outputsout;inputain,bin,sel

7、ect;mymux2m(.out(sout),.a(ain),.b(bin),.sl(select));//调用由mymux2模块定义的实例元件m,即把已定义过的模块mymux2在//本模块中具体化为mendmodulemodulemymux2(out,a,b,sl);inputa,b,sl;outputout;regout;always@(sloraorb)if(!sl)out=a;elseout=b;endmodule这个例子描述了一个二选一多路器,在这个例子中存在着两个模块。模块muxtwo调用了由模块mymux2定义的实例部件m,模块muxtwo是上层模块,模块mymux2称为子模块。

8、在实例部件m中,带“.”的表示被引用模块的端口,名称必须与被引用模块的端口一致,小括号中表示在本模块中与之连接的线路。通过以上两个例子可以看到:nVerilog程序是由模块构成的。每个模块的内容都是位于module和endmodule两个语句之间。n模块是可以层次嵌套的。n每个模块要进行端口定义,并说明是输入口还是输出口,然后对模块的功能进行描述。nVerilogHDL程序的书写格式自由,一行可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。