EDA技术运算符赋值及结构.pptVIP

  • 133
  • 0
  • 约1.13万字
  • 约 46页
  • 2017-05-26 发布于湖北
  • 举报
EDA技术运算符赋值及结构课案

第5章 常用Verilog语法(-) 模块的结构 数据类型和变量 基本的运算符号 貌似极其简单的内容,与大家熟悉的C语言在许多方面类似 但时刻要记住,Verilog是面向硬件的 在学习中逐渐体会和理解新概念新术语 不要困惑于各种较多的新名词 在练习中学习,在学习中理解和提高 5.1 Verilog HDL基本结构 1.Verilog HDL模块的结构 Verilog的基本设计单元是“模块 (block) ” 。 Verilog 模块的结构由在module和endmodule关键词之间的4个主要部分组成: 5.1.1 模块的端口定义 模块的端口定义模块的输入输出口,格式如下 module modele_name ( port1, port2, …) 端口分输入、输出及双向 端口是与其它模块端口联系的标识 例[1]: module adder ( count,sum,a,b,cin ); input [2:0] a,b; input cin; output count; output [2:0] sum; assign {count,sum}=a+b+cin; endmodule 模块引用时端口连接方法 引用时,严格按照模块定义的端口顺序来连接,不用标明原模块定义时规定的端口名。 模块名(连接端口1信号名,连接端口2信号名, …) 使用“.”符号,标明原模块是定义时规定的端口名。 模块名(.端口1名(连接信号1名),.端口1名(连接信号1名),…) 举例 … My DesignMK M1(.sin(SerialIn),.pout(ParallelOut),…); 方法2可以使端口名与被引用模块的端口对应,不必严格按方法1的顺序,程序可读性可移植性好。 1.模块的内容--I/O说明的格式 输入口: input [信号位宽-1:0] 端口名1; input [信号位宽-1:0] 端口名2; … input [信号位宽-1:0] 端口名 i; 输出口: output [信号位宽-1:0] 端口名1; output [信号位宽-1:0] 端口名2; … output [信号位宽-1:0] 端口名 i; 输入/输出口 inout [信号位宽-1:0] 端口名1; inout [信号位宽-1:0] 端口名2; … inout [信号位宽-1:0] 端口名 i; 5.1.2 模块的内容 reg reg[width-1:0] R变量1,R变量2…; Wire wire[width-1:0] W变量1,W变量2…; 5.1.2 模块的内容 3. 逻辑功能定义 在Verilog 模块中有3种方法可以描述电路的逻辑功能: (1)用assign 语句 assign x = ( b ~c ); 5.1.2 模块的内容 (3)用 “always” 块语句 always @(posedge clk) // 每当时钟上升沿到来时执行一遍块内语句 begin if(load) out = data; // 同步预置数据 else out = data + 1 + cin; // 加1计数 end 5.1.2 模块的内容

文档评论(0)

1亿VIP精品文档

相关文档