Verilog HDL 数字系统设计及实践 第2章Verilog基本语法_.pptVIP

Verilog HDL 数字系统设计及实践 第2章Verilog基本语法_.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog HDL 数字系统设计及实践 第2章Verilog基本语法_

* Verilog HDL 数字系统设计及实践 第二章 Verilog基本语法 学习指南 【知识目标】 (1) 了解Verilog语言的基本语法形式及要素; (2) 理解各种数据类型及其应用; (3) 理解表达式的运算规则。 【技能目标】 (1)掌握各种语法形式及规则; (2)能够正确定义数据类型; (3)能够用各种表达式描述简单的算法。 【重点难点】 (1)各种数据类型的定义及使用,易混淆; (2)操作数及表达式的使用,易出现语法错误。 2.1 词法约定 Verilog HDL语言描述由多个词法单元或符号构成。这些词法单元或符号包括: 空白符、注解、操作符、数字、字符串、标识符以及关键字等等 。 Verilog HDL语言中的关键词和命名都是大小写敏感的。 2.1.1空白符 空白符包括了空格符(\b),制表符(\t)和换行符,主要用于分割Verilog语言中的各个词法单元和符号。 2.1.2注释 Verilog中可以有两种方式写注释:单行注释和多行注释。单行注释以“//”开头, 此符号后面的所有同一行的内容会被作为注释语句而忽略。多行注释以“/*”开头,以 “*/”结束。多行注释是不允许嵌套的,但单行注释可以巧套在多行语句中。 2.1 词法约定 2.1.3操作符 操作符根据操作数个数分为三种类型:单目操作符,双目操作符和三目操作符。 单目操作符放在操作数的左边;双目操作符放在两个操作符中间;而三目操作 符则包括两个符号用以分隔三个操作数。 2.1.4标识符与关键字 标识符是代码中对象的名字,可以由字母,数字,下划线(_),美元符($)组成,但是第一个字符必须是字母或者下划线。标识符是区分大小写的。转义标识符以反斜线(\)开头,以空白符(空格,制表符,换行符)结束,可包含任何可打印的字符。而其头尾(反斜线和空白符)将不作为转义标识符内容本身的一部分。关键字是Verilog语言中保留的用于其语法的特殊标识符,表示特定的含义,不能再用做标识符。所有关键字均为小写。 2.2 数据类型 Verilog语言中有两大数据类型: 线网类型 变量类型 2.2.1 逻辑值与常量 基本值 整数 实数 字符串 2.2 数据类型 2.2.2 逻辑强度 表2.1 逻辑强度 最弱 高阻 highz 存储 small 存储 medium 驱动 weak 存储 large 驱动 pull 驱动 strong 最强 驱动 supply 等级 类型 强度 2.2.3线网类型:线网的类型分为很多种,其中以wire类型及tri类型最为常见。 2.2 数据类型 表2.2 多驱动下wire/tri的取值 z x 1 0 z x x x x x 1 x 1 x 1 0 x x 0 0 z x 1 0 wire/tri 2.2.4变量类型 reg类型 integer型 real型 time型 2.2 数据类型 2.2.5 向量 线网和寄存器类型的数据可以声明为向量(即位宽大于1)。如果没有指定位宽,则被默认为标量(1位)。 向量通过位宽定义语法[msb:lsb]进行指定地址范围。 2.2.6数组 线网和变量可以声明为一个数组,数组中的每一个元素可以是标量也可以是向量。 2.2.7参数 参数是一个常量。 defparam语句 使用defparam语句的格式为: defparam (包含层次路径)参数1,……,(包含层次路径)参数n; 底层模块具有参数值的实例,如下: 【例2.1】 带参数的底层模块 //example_2_1: 带延时参数的1位全加器 module fadder_1 2.2 数据类型 (i_A,i_B,i_Cin,o_S,o_Cout); input i_A,i_B; //输入端口i_A,i_B input i_Cin; //输入端口i_Cin output o_S,o_Cout; //输出端口o_S,o_Cout parameter S_DELAY = 1, C_DELAY = 1;//定义两个延时参数S_DELAY与C_DELAY assign #S_DELAY o_S = i_A^i_B^i_Cin; //o_S = i_A⊕i_B⊕i_Cin 并延时一个时间单位赋值 assign #C_DELAY o_Cout = (i_A^i_B)i_Cin|i_Ai_B; //o_Cout=(

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档