文档详情

华东理工大学VerilogHDL-EDA3讲述.ppt

发布:2017-03-21约8.85千字共37页下载文档
文本预览下载声明
模块的结构 module 模块名(端口名1,端口名2,端口名3,…….);     端口类型说明(input,output,inout);     参数定义(可选); 数据类型定义(wire,reg等); 实例化低层模块和基本门级元件; 连续赋值语句(assign); 过程块结构(initial和always) 行为描述语句; Endmodule 华东理工大学 East China University of Science And Technology 华东理工大学 East China University of Science And Technology 第三讲 常用Verilog 语法之一 3.1 模块的结构 Verilog的基本设计单元是“模块”(block) 。一个模块是由两部分组成的,一部分描述接口,另一部分描述逻辑功能,即定义输入是如何影响输出的。 module block1(a, b, c, d); input a, b; output c, d; assign c = a | b; assign d = a b; endmodule a b c d Verilog 模块的结构由在module和endmodule 关键词之间的四个主要部分组成: - 端口定义: module block1(a, b, c, d ); - I/O说明 : input a, b, c ; output d ; - 内部信号声明: wire x; - 功能定义: assign d = a | x ; assign x = ( b ~c ); endmodule 3.1 模块的结构 3.1 模块的结构 3.1.1 模块的端口定义 模块的端口声明了模块的输入输出口。其格式如下: module 模块名(口1,口2,口3,口4, ………); 3.1.2 模块内容 模块的内容包括I/O说明、内部信号声明、功能定义。 I/O说明的格式 输入口: input[信号位宽-1:0] 端口名1; input[信号位宽-1:0] 端口名2; … input[信号位宽-1:0] 端口名i; //(共有i个输入口) 3.1 模块的结构 输出口 output[信号位宽-1:0] 端口名1; output[信号位宽-1:0] 端口名2; … output[信号位宽-1:0] 端口名j; //(共有j个输出口) 输入/输出口: inout[信号位宽-1:0] 端口名1; inout[信号位宽-1:0] 端口名2; … inout[信号位宽-1:0] 端口名k; //(共有k个双向总线端口) I/O说明也可以写在端口声明语句里。其格式如下: module module_name(input port1,input port2,… output port1,output port2… ); 3.1 模块的结构 内部信号说明 在模块内用到的和与端口有关的wire 和 reg 变量的声明。 如: reg [width-1 : 0] R变量1,R变量2 …; wire [width-1 : 0] W变量1,W变量2 …;
显示全部
相似文档