网站大量收购闲置独家精品文档,联系QQ:2885784924

EDA第5章verilogHDL语法规范汇编.pptx

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA第5章verilogHDL语法规范汇编

第5章 Verilog HDL语言规范 Verilog HDL程序结构 基本结构:模块(module) 复杂电子电路的构建,主要是通过模块的相互连接调用来实现的。 Verilog中的模块类似C语言中的函数,它能够提供输入、输出端口,通过例化调用其他模块。 该模块可以被其它模块例化调用,模块中可以包括组合逻辑部分和时序逻辑部分。 Module 模块名(端口列表) endmodule Verilog HDL程序结构 端口定义 input 输入端口 output 输出端口 inout 输入/输出端口 数据类型说明 wire reg parameter 逻辑功能定义 assign always function task …… 模块结构的组成 Verilog HDL程序结构 module 。。。endmodule 模块名 是模块唯一的标识符。 端口列表 是由模块各个输入、输出和双向端口组成的一个端口列表。 数据类型说明 用来说明模块内用到的数据对象是网络类型还是变量类型。 逻辑功能定义 通过使用逻辑功能语句实现具体的逻辑功能。 模块结构的组成 Verilog HDL程序结构 注 !! Verilog HDL区分大小写,也就是说大小写不同的标识符是不同的。 Verilog HDL程序的书写与C语言类似,一行可以写多条语句,也可以一条语句分成多行书写。 每条语句以分号结束,endmodule语句后不加分号。 空白(新行、制表符和空格)没有特殊意义。 Verilog HDL程序结构 --模块声明 模块声明包括模块名字,模块的输入和输出端口列表。模块的定义格式如下: module module_name(port_name1, …, port_namen); …. …. …. endmodule 其中: module_name为模块名,是该模块的唯一标识。 port_name为端口名,这些端口名使用“,”分割。 Verilog HDL程序结构 --模块引用 两种引用方式 1)在引用时,严格按照端口定义顺序来连接。 模块名(portname1,portname2,…); 2)用“.”,标明原模块是定义时规定的端口名。 模块名(.portname1(inst1),portname2(inst2)…); Verilog HDL程序结构 --端口定义 端口是模块与外部其它模块进行信号传递的通道(信号线),模块端口分为输入、输出或双向端口。 1.输入端口的定义格式 input input_port_name, ...other_inputs...; 其中: input为关键字,用于声明后面的端口为输入端口。 input_port_name为输入端口名字。 other_inputs为用逗号分割的其它输入端口的名字。 Verilog HDL程序结构 --端口定义 2.输出端口的定义格式 output output_port_name,...other_outputs...; 其中: output为关键字,用于声明后面的端口为输出端口。 output_port_name为输出端口名字。 other_outputs为逗号分割的其它输出端口的名字。 Verilog HDL程序结构 --端口定义 3.输入输出端口(双向端口)的定义格式 inout inout_port_name,...other_inouts...; 其中: inout为关键字,用于声明后面的端口为输入输出类型的端口。 other_inouts为输入/输出端口的名字。 other_inouts为逗号分割的其它输入/输出端口的名字。 Verilog HDL程序结构 --端口定义 注 在声明输入端口、输出端口或者输入输出端口时,还要声明其数据类型。 对于端口来说,可用的数据类型是网络型(net)或者寄存器(reg)型。 当没有明确指定端口类型时,将端口默认为网络类型。 可以将输出或输入端口重新声明为寄存器类型。无论是在网络类型说明还是在寄存器类型说明中,网络类型或寄存器类型必须与端口说明中指定的宽度相同。 不能将输入和双向端口指定为寄存器类型。 Verilog HDL程序结构 --端口定义 例:端口声明实例 module test(a, b, c, d, e, f, g, h); // I/O说明的格式 input [7:0] a; // 没有明确的说明–网络是无符号的 input [7:

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档