HDL语言硬件设计基础第4章.基本概念.ppt

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

HDL语言硬件设计 第四章 基本概念 4.1 词法约定 Verilog中的基本词法约定与C语言类似。Verilog描述包含一个“单词”流,这里的单词可以是注释、分隔符、数字、字符串、标识符和关键字。Verilog是大小写相关的,其中的关键字全部为小写。 (1)空白符 空白符由空格(\b)、制表符(\t)和换行符组成。除了字符串中的空白符,Verilog中的空白符仅仅用于分隔标识符,在编译阶段被忽略。 (2)注释 有两种书写注释的方法:单行注释和多行注释。 单行注释以“// ”开始,Verilog将忽略从此处到行尾的内容。 多行注释以“/*”开始,结束于“*/”。 多行注释不允许嵌套,但是单行注释可以嵌套在多行注释中。 (3)操作符 操作符有三种类型:单目操作符、双目操作符和三目操作符,单目操作符的优先级最高。三目操作符包括两个单独的操作符,用来分隔三个操作数。 (4)数字声明 整数: 在Verilog HDL中,整型常量即整常数有以下四种进制表示形式: 二进制整数(b或B) 十进制整数(d或D) 十六进制整数(h或H) 八进制整数(o或O) 数字表达方式有以下三种: 1)位宽’进制数字,这是一种全面的描述方式。 2)’进制数字,在这种描述方式中,数字的位宽采用缺省位宽(这由具体的机器系统决定,但至少32位)。 3)数字,在这种描述方式中,采用缺省进制十进制。 例 x和z值: 在数字电路中,x代表不定值,z代表高阻值。一个x可以用来定义十六进制数的四位二进制数的状态,八进制数的三位,二进制数的一位。z的表示方式同x类似。z还有一种表达方式是可以写作?。在使用casex表达式时建议使用这种写法,以提高程序的可读性。见下例: 4b10x0 //位宽为4的二进制数从低位数起第二位为不定值 4b101z //位宽为4的二进制数从低位数起第一位为高阻值 12‘dz //位宽为12的十进制数其值为高阻值 12‘d? //位宽为12的十进制数其值为高阻值 8’h4x //位宽为8的十六进制数其低四位值为不定值 注意:如果某数的最高位为0,x或z,Verilog语言约定将分别使用0,x或z自动对这个数进行扩展,以填满余下的更高位。如果某数最高位为1,将用0来扩展余下的更高位。 负数 一个数字可以被定义为负数,只需在位宽表达式前加一个减号,减号必须写在数字定义表达式的最前面。注意减号不可以放在位宽和进制之间也不可以放在进制和具体的数之间。例 -8d5 //这个表达式代表5的补数(用八位二进制数表示) 8‘d-5 //非法格式 (5)字符串 字符串是由双引号括起来的一个字符队列。对于字符串的限制是,它必须在一行中书写完,不能书写在多行中,即不能包含回车符。例 “Hello Verilog World” //是一个字符串 (6)标识符和关键字 关键字是语言中预留的用于定义语言结构的特殊标识符。Verilog中的关键字全部小写。 标识符是程序代码中对象的名字。Verilog中的标识符由字母数字字符、下划线_和美元符 $ 组成。标识符是区分大小写的。Verilog标识符的第一个字符必须是字母或下划线,不能以数字或美元符开始。例: reg value // reg是关键字;Value是标识符 (7)转义标识符 转义标识符以反斜线“\”开始,以空白符(空格、制表符和换行符)结束。Verilog将反斜线和空白符之间的字符逐个进行处理。所有的可打印字符均可包含在转义字符中,而反斜线和表示结束的空白符不作为标识符的一部分。 如: \a+b-c //与a+b-c等同 3.2 数据类型 Verilog使用四值逻辑对实际的硬件电路建模。 2. 线网 线网(net)表示硬件单元之间的连接。就像在真实的电路中一样,线网由其连接器件的输出端连续驱动。如下图所示,线网a连接到与门g1的输出端,它将连续地拥有与门g1的输出值:b c 线网一般使用关键字wire进行声明。如果没有显式地说明为向量,则默认线网的位宽为1。线网的默认值为z。 wire型信号的格式如下: wire [n-1:0] 数据名1,数据名2,…数据名i; //共有i条总线,每条总线内有n条线

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档