第八章 Verilog HDL入门基础之模块级建模.pdf

第八章 Verilog HDL入门基础之模块级建模.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块级建模 模块的定义 模块的语法结构如下: module 模块名 (模块端口列表 ) 声明语句 模块组项 函数和任务定义 specify 块 endmodule 针对上述格式作如下说明: • 模块名:是给模块取的名字,它是模块的标识符 • 模块端口列表 :是由输入端口、输出端口、双向端口的端口表达式按一定次序组成的 一个列表,它用来指明模块所具有的端口。模块可以利用这些端口与其他外部模块进行 通信 • 声明语句:用来对模块端口类型(输入、输出或双向端口)、模块内部数据的类型(寄存 器变量、存储器和线网类型)以及模块内参数进行说明。模块中将用到的声明语句如下: · parameter: 参数声明语句 · input:输入端口声明语句 · output :输出端口声明语句 · inout:双向端口声明语句 · net-type :线网型数据声明语句 · register-type :寄存器类型变量声明语句 · time :时间类型变量声明语句 · integer:整数类型变量声明语句 · real:实数类型变量声明 · event:有名事件声明语句 • 模块组项:模块功能的描述体部分,用来对模块的功能特点进行描述,在这一部分可以 出现具有行为描述性质的语句结构(initial 过程块、always 过程块),也可以出现结构描 述语句 (模块实例语句、门级元件实例语句、开关级元件实例语句)。如果在这个“模块 组项”中只使用了结构描述语句,那么该模块就是一个“结构描述模块”。 • 函数和任务定义:用来对模块组项内使用的一些函数和任务进行定义。由于函数和任务 都是行为描述性质的程序结构,所以在“结构描述模块”中不能使用函数或任务。 • Specify 块:用于对模块输入、输出端口之间的路径延时时间量进行说明,同时还可以进 行时序检验 模块的端口 模块端口列表 模块端口列表可以是隐式端口名形式和显式端口名形式。 (1) 隐式端口名形式 其格式为: (端口表达式1,端口表达式2,……,端口表达式n ) 其中各个端口表达式指明了各个模块端口与模块内部变量的连接关系,一个端口 表达式可以是: • 模块内某个变量的标识符 • 模块内某个矢量变量的某一位 • 模块内某个矢量变量的某几位 • 上面三种形式的组合 在隐式端口名形式的端口列表中,没有显式地为各个模块端口指定端口名,这时各个模块端 口的端口名将按照如下规则得到隐式定义: • 如果给出的端口表达式是一个变量标识符(上面端口表达式形式的第一种情况),则该 端口表达式对应的端口名被默认地定义为该标识符本身 • 如果给出的端口表达式不是一个变量标识符(上面端口表达式形式的后三种情况),则 对应的端口将处于“无名状态” (不存在端口名) 例: module ex1(a,b,z) input a,b; output z; endmodule module ex2(a[1],a[0],0) input [1:0] a; output z; module ex3({a,b},z) input a,b; output z; endmodule 在上述例子中,所有的模块都采用了隐式端口名形式的模块端口列表 其中ex1 的端口列表由三个标识符a、b、z 组成,它指明模块ex1 的三个端口将分别于模块 的三个内部变量a、b 和z 相连接,此时这三个端口将拥有隐式定义的端口名a、b 和z 模块ex2 中的前两个端口表达式a[1]和a[0]是矢量变量a 的两个位,这表明ex2 的前两个端 口分别连到变量a 的两个位上,由于这两个端口表达式不是标识符的形式,故这两个端口没 有端口名。同理ex3 中第一个端口没有端口名 (2 ) 显式端口名形式 其格式为: (.端口名1(端口表达式1),.端口名2(端口表达式2),……,.端口名n(端口表达式n)) 在上述格式中,列表中的每一项都包含着一个端口名和一个端口表达式,在每个端口名的前 面都要加一个点号“.”来表明它是一个端口名;而端口表达式则应位于端口名后面的圆括号内。 在这种端口名列表形式下,列表中的每一项都说明了一个端口:其中的端口名为每一个端 口指定了一个端口名,端口表达式则指明了该端

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档