eda数字系统设计

eda数字系统设计

ID:36301083

大小:797.00 KB

页数:51页

时间:2019-05-08

eda数字系统设计_第1页
eda数字系统设计_第2页
eda数字系统设计_第3页
eda数字系统设计_第4页
eda数字系统设计_第5页
资源描述:

《eda数字系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA数字系统设计第二章VerilogHDL语言(基础)介绍VerilogHDL,内容包括:HDL概述VerilogHDL基本结构语言要素与语法规则VerilogHDL建模方法VerilogHDL组合逻辑和时序逻辑语句结构VerilogHDL程序设计中需要注意的问题第二讲VerilogHDL基本结构语言要素与语法规则Verilog模块moduleVerilog语法要素Verilog数据类型及逻辑系统2.1模块module模块是verilog设计中的基本功能块,在第一讲有简单交待,这里详细介绍模块内部构成module模块名(端口列表);端口声明,参数声

2、明wire,reg和其它类型的变量声明数据流语句(assign)低层模块实例always和initial块,所有行为语句都在块内任务和函数endmodule必须出现可选module能够表示:物理块,如IC或ASIC单元逻辑块,如一个CPU设计的ALU部分整个系统每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。module内部的组成:输入/输出说明:input、output变量声明(功能描述方法):数据流语句低层模块实例行为描述块任务和函数每一部分在module内部出现的顺

3、序是任意的。一个verilog源文件中可以有多个模块,且对排列顺序不做要求。端口(Terminal)端口是模块与外界环境交互的接口.例如IC芯片的输入、输出引脚就是它的端口。对于外部环境来讲,模块内部是不可见的,对模块的调用(实例引用)只能通过其端口进行。这种特点为设计者提供了很大的灵活性:只要接口保持不变,模块内部的修改并不会影响到外部环境.我们也常常将端口称为终端(Terminal)。模块端口等价于芯片的管脚(pin)模块通过端口与外部通信端口列表和端口声明端口在模块名字后的括号中列出端口可以说明为input,output及inout端口等价于硬

4、件的引脚(pin)input输入端口output输出端口inout双向端口端口声明也可以采用类似ANSIC格式来声明端口//D触发器moduleD_FF(inputd,clk,clr,outputregq,qb);……………………endmodulemoduleadder(cout,sum,a,b,cin);input[2:0]a,b;inputcin;outputcout;output[2:0]sum;assign{cout,sum}=a+b+cin;endmodule例设计三位全加器这个例子描述了一个三位的加法器。从例子中可以看出整个Verilog

5、HDL程序是嵌套在module和endmodule声明语句里的,只出现了一个assign语句。addersum[2:0]a[2:0]b[2:0]cincout模块名端口列表端口声明数据流语句例SR触发器模块//SR触发器moduleSR_FF(Q,Q_n,S,R);outputQ,Q_n;//端口声明inputS,R;nandn1(Q,S,Q_n);nandn2(Q_n,R,Q);endmodule模块中的5个部分并没全部出现,只出现在低层次模块实例化nand为verilog中的与非门门级原语部件D触发器模块//D触发器moduleD_FF(d,cl

6、k,clr,q,qb);outputq,qb;inputd,clk,clr;regq,qb;//输出端口q,qb值保存always@(posedgeclk)beginif(clr)q=1’b0;elseq=d;endnot(qb,q);endmodule该模块内包括always行为块语句always块行为描述语句4位寄存器设计moduleD_FF(d,clk,clr,q,qb);....endmodulemoduleREG4(d,clk,clr,q,qb);output[3:0]q,qb;input[3:0]d;inputclk,clr;D_FFd0

7、(d[0],clk,clr,q[0],qb[0]);D_FFd1(d[1],clk,clr,q[1],qb[1]);D_FFd2(d[2],clk,clr,q[2],qb[2]);D_FFd3(d[3],clk,clr,q[3],qb[3]);endmodule模块中只出现在低层次模块实例化可以将模块的实例通过端口连接起来构成一个大的系统或元件。在上面的例子中,REG4有模块DFF的四个实例。注意,每个实例都有自己的名字(d0,d1,d2,d3)。实例名是每个对象唯一的标记,通过这个标记可以查看每个实例的内部。实例中端口的次序与模块定义的次序相同。模

8、块实例化与调用程序不同。每个实例都是模块的一个完全的拷贝,相互独立、并行。模块实例化(moduleinsta

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

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

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