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

  • 4
  • 0
  • 约4.01千字
  • 约 20页
  • 2017-11-15 发布于河南
  • 举报

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

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)

1亿VIP精品文档

相关文档