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

第3章Verilog基本语法(已排).ppt

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

* 3.3.1 net(线网)型 net需要被持续的驱动,驱动它的可以是门和模块。当net驱动器的值发生变化时, 新值被传送到net上。 在下例中,线网out由or门驱动。当or门的输入信号置位时将传输到线网net上。 * net类的类型(线网) 有多种net类型用于设计(design-specific)建模和工艺(technology-specific)建模 没有声明的net的缺省类型为 1 位(标量)wire类型。但这个缺省类型可由下面的编译指导改变: `default_nettype nettype net类型 功 能 wire, tri supply1, supply0 wor, trior wand, triand trireg tri1, tri0 标准内部连接线(缺省) 电源和地 多驱动源线或 多驱动源线与 能保存电荷的net 无驱动时上拉/下拉 综合编译器不支持的net类型 * 线网数据类型 可综合的线网数据类型包含下述: wire Wor wand tri supply0 supply1 最常用的是wire!! * 简单的线网类型说明语法为: net_kind [msb : lsb] net1, . . , netN; 解释:1. net_kind 是上述线网类型的一种; 2. msb和lsb 是用于定义线网范围的常量 表达式,如果没有定义,缺省为1位。 例1:wire rst, data; //1位的复位线和数据线。 例2: wire [2:0] Addr1 ; //Addr1是3位地址线 wire [3:1] Addr2; //Addr2是3位地址线 线网数据类型-使用语法 * 线网型变量使用举例 module mux2to1 (out, a, b, sel); input a, b, sel; output out; wire out; assign out=(sel)?b:a; //input a, b, sel没声明信号类型,缺省为wire型 endmodule 例如:两路选择器的RTL级描述 * 3.3.2 寄存器的类型 寄存器类有四种数据类型 寄存器类型 功能 reg 是最常用的寄存器类型 ,无符号型。 integer 32位有符号整数变量,算术操作产生二进制补码形式 。 的结果。通常用作不会由硬件实现的的数据处理。 real 双精度的带符号浮点变量,用法与integer相同。 time 64位无符号整数变量,用于仿真时间的保存与处理。 realtime 与real内容一致,但可以用作实数仿真时间的保存 与处理。 * 寄存器类型reg-使用语法 reg是寄存器数据类型最常见的数据类型。 使用语法形式如下: reg [msb: lsb] reg1,. . . ,regN; msb和lsb 定义了范围,并且均为常数值表达式;如果没有定义范围,缺省值为1位寄存器。 例1: reg [3:0] counter1 ; //4 位寄存器。 例2: reg counter2 ; // 1位寄存器。 例3: reg [31:0] data_buffer1 ; reg [32:1] data_buffer2 ; * 常见的寄存器类型: Integer integer A, B, C ; //三个整数型寄存器。 说明: 1. 与reg不同,integer可以表示有符号数,并且算术操作符提供2的补码运算结果。 2. 同时,如上例定义的A,B,C变量它们分别是32位( 32-bit )的寄存器变量。 * 寄存器型变量使用举例 module mux2to1 (out, a, b, sel); input a, b, sel; output out; reg out; always @( sel or a or b) if (! sel) out = a; else out = b;

文档评论(0)

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

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

1亿VIP精品文档

相关文档