第4章模块和端口.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章模块和端口

第4章 模块和端口 学习目标 ●说明Verilog模块定义中的各个组成部分,例如模块名、端口列表、参数、变量声明、数据流描述语句、行为语句、调用(实例引用)其他模块以及任务和函数等。 ●理解如何定义模块的端口列表以及在Verilog中如何声明。 ●讲述模块实例的端口连接规则。 ●理解如何通过有序列表和名字将端口与外部信号相连。 ●解释对Verilog标识符的层次引用。 4.1 模块 4.1 模块 模块定义以关键字module开始,模块名、端口列表、端口声明和可选的参数声明必须出现在其他部分的前面,endmodule语句必须为模块的最后一条语句。 端口是模块与外部环境交互的通道,只有在模块有端口的情况下才需要有端口列表和端口声明。 模块内部的5个组成部分是:变量声明、数据流语句、低层模块实例、行为语句块以及任务和函数。这些部分可以在模块中的任意位置,以任意顺序出现。 在模块的所有组成部分中,只有module、模块名和endmodule必须出现,其他部分都是可选的,用户可以根据设计的需要随意选用。在一个Verilog源文件中可以定义多个模块,Verilog对模块的排列顺序没有要求。 4.1 模块 为了理解模块的各个组成部分,下面我们以SR锁存器为例进行详细说明,如图4.2所示。 4.1 模块 我们可以从例4.1中注意到以下几个特点: ●在SR锁存器的描述中,图4.1中显示的各组成部分并未全部出现,例如变量声明、数据流(assign)语句和行为语句块(always和initial结构); ●在SR锁存器的激励模块中包括了模块名、线网/寄存器/变量声明、低层模块实例、行为语句块和endmodule语句,但是没有包括端口列表、端口声明和数据流(assign)语句; ●除了module和endmodule这一对关键字以及模块名,其他部分都是可选的,可以根据设计需要混合使用。 4.2 端口 端口是模块与外界环境交互的接口,例如IC芯片的输入、输出引脚就是它的端口。 对于外部环境来讲,模块内部是不可见的,对模块的调用(实例引用)只能通过其端口进行。这种特点为设计者提供了很大的灵活性:只要接口保持不变,模块内部的修改并不会影响到外部环境。我们也常常将端口称为终端(terminal)。 4.2 端口 4.2.1 端口列表 在模块的定义中包括一个可选的端口列表。如果模块和外部环境没有交换任何信号,则可以没有端口列表。考虑一个在顶层模块Top中被调用(实例引用)的四位加法器,图4.3显示了输入/输出端口的示意图。 4.2 端口 4.2.2 端口声明 端口列表中的所有端口必须在模块中进行声明,Verilog中的端口具有以下三种类型: 4.2.2 端口声明 4.2.2 端口声明 4.2.3 端口连接规则 4.2.3 端口连接规则 4.2.3 端口连接规则 4.2.3 端口连接规则 4.2.4 端口与外部信号的连接 4.2.4 端口与外部信号的连接 4.2.4 端口与外部信号的连接 4.3 层次命名 4.3 层次命名 4.4 小结 4.5 习题 1.模块的基本组成部分有哪些?哪几个部分必须出现? 答: 1. module,模块名 2. 端口列表 port list 3. 参(变) 数的参数Parameters 4. 线网/寄存器/变量声明Declarations of wires, regs and other variables 5. 低层模块实例Instantiation of lower level modules 6. 数据流语句Data flow statements (assign) 7. 行为语句块(always和initial结构)always and initial blocks 8. 任务和函数tasks and functions 9. endmodule模块语句结束只有module、模块名和endmodule必须出现,其他部分都是可选的 4.5 习题 4.5 习题 4.5 习题 4.5 习题 5.将上题的端口连接方法改为命名连接。 4.5 习题 例4.8层次名 stimulus stimulus.q stimulus.qbar stimulus.set stimulus.reset stimulus.m1 stimulus.ml.Q stimulus.ml.Qbar stimulus.ml.S stimulus.ml.R s

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档