数字系统设计与Verilog课件第4章.ppt

数字系统设计与Verilog课件第4章.ppt

ID:59267776

大小:503.50 KB

页数:33页

时间:2020-09-22

数字系统设计与Verilog课件第4章.ppt_第1页
数字系统设计与Verilog课件第4章.ppt_第2页
数字系统设计与Verilog课件第4章.ppt_第3页
数字系统设计与Verilog课件第4章.ppt_第4页
数字系统设计与Verilog课件第4章.ppt_第5页
资源描述:

《数字系统设计与Verilog课件第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章Verilog设计初步主要内容4.1Verilog简介4.2Verilog模块的结构4.3Verilog基本组合电路设计4.4Verilog基本时序电路设计4.5SynplifyPro综合器4.6Synplify综合器4.1Verilog简介Verilog语言是1983年由GDA(GatewayDesignAutomation)公司的PhilMoorby首创的,之后Moorby又设计了Verilog-XL仿真器,Verilog-XL仿真器大获成功,也使得Verilog语言得到推广使用。1989年,Cadence收购了GDA,1990年,Cadence公开发表

2、了VerilogHDL,并成立了OVI组织专门负责VerilogHDL的发展。Verilog于1995年成为IEEE标准,称为IEEEStandard1364-1995(Verilog-1995)IEEE“1364-2001”标准(Verilog-2001)也获得通过,多数综合器、仿真器都已支持Verilog-2001标准Verilog语言的特点既适于可综合的电路设计,也可胜任电路与系统的仿真。能在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器传输级(RTL)到行为级,都可以胜任,同时语言不对设计规模施加任何限制。灵活多样的电路描述风格,可进行行为描述,

3、也可进行结构描述;支持混合建模,在一个设计中各个模块可以在不同的设计层次上建模和描述。Verilog的行为描述语句,如条件语句、赋值语句和循环语句等,类似于软件高级语言,便于学习和使用。内置各种基本逻辑门,便于进行门级结构描述;内置各种开关级元件,可进行开关级的建模。易学易用,功能强,可满足各个层次设计人员的需要。4.2Verilog模块的结构moduleaoi(a,b,c,d,f);/*模块名为aoi,端口列表a,b,c,d,f*/inputa,b,c,d;//模块的输入端口为a,b,c,doutputf;//模块的输出端口为fwirea,b,c,d,f;//定

4、义信号的数据类型assignf=~((a&b)

5、(~(c&d)));//逻辑功能描述endmodule“与-或-非”电路4.2Verilog模块的结构Verilog程序是由模块构成的。每个模块的内容都嵌在module和endmodule两个关键字之间;每个模块实现特定的功能。每个模块首先要进行端口定义,并说明输入和输出口(input、output或inout),然后对模块的功能进行定义。Verilog程序书写格式自由,一行可以写几个语句,一个语句也可以分多行写。除了endmodule等少数语句外,每个语句的最后必须有分号。可用/*……*/和//……对Verilog

6、程序作注释。1.模块声明模块声明包括模块名字,模块输入、输出端口列表。模块定义格式如下:module模块名(端口1,端口2,端口3,……);2.端口(Port)定义对模块的输入输出端口要明确说明,其格式为:input端口名1,端口名2,……端口名n;//输入端口output端口名1,端口名2,……端口名n;//输出端口inout端口名1,端口名2,……端口名n;//输入输出端口3.信号类型声明对模块中所用到的所有信号(包括端口信号、节点信号等)都必须进行数据类型的定义。Verilog语言提供了各种信号类型,分别模拟实际电路中的各种物理连接和物理实体。如果信号的数据

7、类型没有定义,则综合器将其默认为是wire型。4.逻辑功能定义模块中最核心的部分是逻辑功能定义。定义逻辑功能的几种基本方法:(1)用assign持续赋值语句定义assign语句多用于组合逻辑的赋值,称为持续赋值方式。(2)用always过程块定义always过程语句既可以用来描述组合电路,也可以描述时序电路。(3)调用元件(元件例化)调用元件的方法类似于在电路图输入方式下调入图形符号来完成设计,这种方法侧重于电路的结构描述。Verilog模块的模板module<顶层模块名>(<输入输出端口列表>);output输出端口列表;//输出端口声明input输入端口列表;

8、//输入端口声明/*定义数据,信号的类型,函数声明*/reg信号名;//逻辑功能定义assign<结果信号名>=<表达式>;//使用assign语句定义逻辑功能//用always块描述逻辑功能always@(<敏感信号表达式>)begin//过程赋值//if-else,case语句//while,repeat,for循环语句//task,function调用end//调用其他模块<调用模块名module_name><例化模块名>(<端口列表port_list>);//门元件例化门元件关键字<例化门元件名>(<端口列表port_list>);endmodule【例4

9、.5】三人

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

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

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