GB T 18349-2001 集成电路 计算机硬件描述语言Verilog.pdf
《GB T 18349-2001 集成电路 计算机硬件描述语言Verilog.pdf》由会员分享,可在线阅读,更多相关《GB T 18349-2001 集成电路 计算机硬件描述语言Verilog.pdf(481页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准集成电路计算机硬件描述语言发布 实施国家质量技术监督局 发布前言本标准等同采用 美国 电气与电子工程师协会 基于硬件描述语言的标准硬件描述语言 其技术内容与 完全一致 标准结构也无任何改动只是增加了附录 专用术语中英文对照表 以利于本标准专业术语的统一标准已被世界各工业发达国家普遍接受将其等同采用为我国国家标准将使我国的集成电路 软件技术在使用方法上与国际保持一致有利于我国与国际集成电路设计技术标准化接轨 也有利于我国硬件描述语言按国际惯例规范化是一项重要的集成电路软件技术 是当前 硬件描述语言 设计方法学的基础受到半导体及集成电路设计行业的普遍重视 世界各大半导体公司大
2、多采用了该标准 当前国际微电子技术正在迅猛发展 我国正处在突破集成电路产业落后局面的关键时刻而集成电路设计是有可能首先取得成功的行业 这一点在国内已取得共识 因此 本标准的发布实施必将会对我国的 发展有重要的推动作用硬件描述语言 是 于 年在英格兰阿克顿市的硬件描述语言公司设计出来的该公司在同一年发布了 及其模拟器 并于年推出改进产品 年 月 公司并购了这家公司并于 年将公开成立了 是由 用户和 供应商组成的行业协会负责推动和制定工业标准 在 年 月 日被 接纳为工业标准 下文简称从诞生起就与生产实际紧密结合在一起具有结构清晰文法简明功能强大高速模拟和多库支持等优点 并获得许多工具的支持 深受
3、用户的喜爱 虽然另一种硬件描述语言 于年首先成为 标准 并于 年扩展为 标准使它得到迅速发展但是 实际上是 行业标准 特别是在 年 月被 接纳为正式标准后 使它成为一种很有竞争力的硬件描述语言标准包含的内容十分丰富主要有词法约定 数据类型表达式 语义调度赋值语句门级建模和开关级建模用户定义的基元 行为级建模 任务和函数 有名称的块和任务的停用层次化结构 指定块 系统任务和函数值变转储文件 编译指令 和 接口机制程序定义及 程序的使用 程序定义及 程序的应用 程序定义及 程序的使用等内容本标准中黑体字和斜体字的说明见本标准的附录 附录 附录 附录 附录 都是标准的附录本标准的附录 附录 附录 和
4、附录 都是提示的附录本标准由中国标准研究中心和北京理工大学提出本标准由全国信息技术标准化技术委员会归口本标准起草单位北京理工大学和中国标准研究中心本标准主要起草人刘明业 蒋敬旗董连续 石峰胡燕翔 叶梅龙董国华 樊孝忠中华人民共和国国家标准集成电路 计算机硬件描述语言国家质量技术监督局 批准 实施概述本标准的目的本标准旨在作为 硬件描述语言 的完整规范 本文档包括所有结构的形式化语法和语义模拟系统的任务和函数 例如文本输出显示命令编译指令例如文本替代宏和模拟的时间刻度编程语言接口 的连接机制存取例行程序 任务例行程序函数例行程序以及 的过程化接口例行程序的形式化语法和语义应用实例头文件列表本标准
5、使用的一些约定本标准分为多章 每章集中阐述该语言的某个特定问题 每章中各条论述单独的结构和概念 论述中首先是对结构或概念的介绍和基本原理接着是语法和语义描述 以及一些举例和注释本标准中使用的动词 表示强制要求而动词 表示可选择性 这些动词对于不同的读者表示不同的含义对于 的工具开发人员来说 动词 表示标准强加的要求 要求最终实现的结果能够实现这些要求如果要求不能得到满足就报错对于 模型开发人员来说动词 表示 的特性是语言定义的自然结果 要求模型开发人员能够遵循这些特性所隐含的约束 动词 表示可选择性 模型开发人员可以随意操作 如果采用则要求模型开发人员遵循语言定义所阐明的要求对于使用 模型的用
6、户来说动词 表示模型的特性是语言定义的自然结果模型用户可以依赖 源文本隐含的模型特性语法描述使用 范式 进行 的形式化描述 使用以下约定使用小写字母下划线表示语法范畴 例如使用黑体字表示保留的关键词 操作符标点符号作为语法要求的一部分 这些字以较大的字体出现以便于区别 例如使用竖线将可选项分开 除非它以黑体字出现 此时它表示其本身 例如使用方括号将选择项括起来 例如使用大括号将重复项括起来 除非它以黑体字出现 此时它表示其本身 可选项可以出现 次或多次重复项按从左到右的顺序出现 遵循左递归的规则 因此下面的两条规则是相同的如果语法范畴的名称以斜体字开始 那么它与没有斜体字部分的范畴名称是相同的
7、 斜体字部分是为了传达一些语义信息 例如 和 等效于当定义一个术语时例如定义常量宽度字体或文件名时 或者当引用常数时 特别是引用 和值时主文本使用斜体字本标准的内容各章和附录的大纲以快速参考的形式呈现 总共有 章和 个附录 所有章条和附录 到附录都是本标准的正式内容 附录 到附录 只是为了提供一些信息第 章概述本章讨论本标准使用的约定及其内容第 章 词法约定本章描述如何指定和解释词法符号第 章 数据类型本章描述数据类型 和 本章也讨论用作常数值的参数数据类型 并描述 上数值的驱动和电荷强度第 章 表达式本章描述表达式中使用的操作符和操作数第 章 语义调度本章描述 的语义调度第 章 赋值语句本章
8、对 中两种主要的赋值语句 持续赋值语句和过程赋值语句进行比较描述将数值驱动到 上的持续赋值语句第 章 门级建模和开关级建模本章描述门级建模 开关级基元和逻辑强度建模第 章 用户定义的基元本章描述如何在 中定义基元以及这些基元如何包含在 模型中第 章 行为建模本章描述过程赋值语句 过程持续赋值语句和行为语句第 章 任务和函数本章描述任务和函数 在行为模型中可以从一个以上的地方进行调用的过程 描述如何像子程序一样使用任务 以及如何使用函数定义新的操作符第 章 有名称的块和任务的停用本章描述如何停止使用任务和具有指定名称的语句块第 章 层次化结构本章描述如何在 中建立层次如何重载在模块中说明的参数值
9、第 章 指定块本章描述如何指定模块中输入端口和输出端口之间的时序关系第 章 系统任务和函数本章描述系统任务和函数第 章 值变转储 文件本章描述与值变转储 文件有关的系统任务和文件格式第 章 编译指令本章描述编译指令第 章 和 的接口机制本章描述一种接口机制 该接口机制提供一种方法使用户将 任务 函数 例行程序和存取例行程序连接到 软件工具上第 章 例行程序的使用本章主要描述 例行程序包括如何使用以及为什么使用这些 例行程序第 章 例行程序的定义本章描述特殊的 例行程序解释它们的功能 语法和使用方法第 章 例行程序的使用本章描述 例行程序使用的操作类型第 章 例行程序的定义本章描述专有的 例行程
10、序解释它们的功能 语法和使用方法第 章 例行程序的使用本章描述 编程接口 例行程序使用的操作类型第 章 例行程序的定义本章描述 例行程序附录 形式化语法定义本附录使用 描述 的语法附录 关键词列表本附录列出 的关键词附录 文件本附录列出 文件的内容附录 文件本附录列出 文件的内容附录 文件本附录列出 文件的内容附录 系统任务和函数本附录描述经常用到的系统任务和函数 但这些并不是标准的一部分附录 编译指令本附录描述经常用到的编译指令但这些并不是标准的一部分附录 参考文献本附录包括本标准的参考书目附录 专用术语中英文对照表本附录包括本标准用到的中英文专用术语头文件清单头文件清单包含在附录 和 中
11、分别是 和 这些是本标准的正式内容 所有匹配的软件工具都应使用这些头文件中包含的相同的函数说明常数定义和结构定义举例本标准中给出一些用 和 编程语言描述的举例 这些举例用于说明在简单的环境下结构和 函数的使用方法 并没有给出全部的语法定义先决条件第 章至第 章和附录 至附录 以具有 编程语言的应用知识为先决条件词法约定本章描述 源文本中使用的词法标记和它们的约定词法标记语法 整数和实数的语法源文本文件应当是一个词法标记流 一个词法标记应当包括一个或多个字符 源文件中的标记格式应当是自由格式 即除了转义标识符以外空格和换行除了作为分隔符外 在语句构成上不应当具有特殊意义见语言中词法标记有以下类型
12、空白注释操作符数字字符串标识符关键词空白空白包括空格符 制表符 换行符 走纸符 这些字符除了用于分隔其它词法标记外没有另外意义但是间隔符和制表符在字符串中应看作是具有特殊意义的字符 见注释具有两种注释形式 单行注释以符号 开始 以换行符结束 块注释以 开始 以结束 块注释不应当嵌套 单行注释标记 在块注释中没有特殊含义操作符在表达式中使用的操作符有一元字符二元字符和三元字符 第 章讨论表达式中操作符的使用一元操作符应出现在操作数的左边 二元操作符出现在操作数之间 条件操作符具有两个操作符用于将三个操作数分开数字常数可表示为整常数和实常数 见语法整常数整常数可以用十进制 十六进制 八进制或二进制
13、几种格式表示表示整常数的格式有两种 第一种格式是简单的十进制数 可表示为数字 到 的一个序列 可以用一元加或一元减操作符起始第二种格式表示长度固定的常数 由三种标记组成 一个可选择的长度常数一个后面跟随基数格式字符的单引号以及表示数值的多个数字第一个标记是一个长度固定的常数 它应当根据精确的位数表示常数的长度 它应当表示为一个无符号的十进制数 例如 两个十六进制数的长度指定是 因为一个十六进制数要求 位第二个标记是一个基数格式 它应当由表示数字基数的一个字母组成 前面加上一个单引号符合法的基数指定为 分别作为十进制 十六进制八进制和二进制的基数在定义一个数字的值时 和 的使用不区分大小写单引号
14、和基数格式符号之间不应当有空格第三个标记是一个无符号的数字 它应当由合法基数格式的数字组成 无符号数字标记应直接跟在基数格式后面 前面可以有空格 十六进制数 到 应当不区分大小写不带有长度和基数格式的简单十进制数应视为带符号的整数而由基数格式表示的数字应视为无符号整数在长度固定的常数前面的加号或减号是常数的符号 长度固定的常数不带符号 在基数格式和数字之间的加号或减号是非法的语法负数应当以 的补码的形式表示表示十六进制八进制和二进制数中的未知数 表示高阻值 见 中对 数值集合的讨论 在十六进制中 应设置为 位未知数在八进制中应设置为 位在二进制中应设置为 位同样 应分别设置为 位 位和 位的高
15、阻值如果无符号数的长度比要表示的常数的长度小 则无符号数的左边应用 填充 如果无符号数最左边的位是 或者 则应当分别用 或者 填充到左边在 中 数字表示中使用的问号 可以替代表示字符 它在十六进制中设置为 位高阻值 在八进制中设置为 位在二进制中设置为 位 在高阻值是无关项的情况下 可以使用问号增强可读性 见 中对 和 进行讨论 也可以在用户定义基元的状态表中使用问号 见下划线 除了作为第一个字符外 在一个数字的任何地方使用都是合法的 下划线字符可以忽略可以用这个特性将很长的数字分隔开以便易于阅读举例长度不固定的常数是一个十进制数是一个十六进制数是一个八进制数非法 十六进制格式要求长度固定的常
16、数是一个 位二进制数是一个 位十进制数是一个最低位为未知数的 位数是一个 位的未知数是一个 位的高阻数使用符号的常数这是一个非法的语法这定义出 的补码是 位数与 等效自动左填充生成生成生成生成在数字中使用下划线注当对一个寄存器数据类型进行赋值时一个固定长度的负数是符号不扩展的数表示数字的三个标记都可用宏替换构成长度不固定数字的位数 可以是一个简单的十进制数或者是一个没有长度规范的数应当至少为实常数实常数应表示为由 标准 描述的双精度浮点数实数可以用十进制计数法 例如 或者用科学计数法 例如 表示 乘以 的 次幂表示 带小数点的实数在小数点的每一边至少有一个数字举例指数符号可以是 或下划线可以忽
17、略下面的实数形式无效因为在小数点的每一边至少应当有一个数字 而它们没有转换实数可以通过四舍五入转换成相近的整数 而不是将小数截断 当把实数赋值给整数时 应进行隐式转换举例当转换为整数时实数 和 都变成 而 变成转换成整数时成为 而 转换成整数时成为字符串一个字符串是一个由双引号 括起来并包含在单独一行的字符序列 在表达式和赋值语句中用作操作数的字符串应视为无符号整常数 由一个 位 值的序列表示 而一个 位 值表示一个字符字符串变量说明字符串变量是寄存器类型 见 的变量宽度等于字符串中的字符数乘以举例为了存储 个字符的字符串 要求一个 或者 位宽的寄存器字符串的操作字符串可以使用 操作符进行操作
18、 操作符操作的值是 位 值的序列举例输出是注 当一个变量比要求保存的赋值还长时 那么赋值后左边要用 填充 这与非字符串赋值时的填充方法相同 如果一个字符串比目标字符串变量更长 那么字符串截断左边位 并丢失最左边字符字符串中的特殊字符一些字符只能使用在字符串中 前面介绍的这样的字符称为转义字符 表 右栏列出这些字符表示字符的转义序列在左栏表 字符串中特殊字符的说明转义字符串 由转义字符串产生的字符换行字符制表符字符字符用 个八进制数字 表示的一个字符标识符 关键词和系统名称标识符用于为一个对象给出一个唯一的名称以便引用 标识符应当是字母数字 美元号 和下划线 的任意序列标识符的第一个字符不能是数
19、字或 可以是字母或下划线 标识符应当区分大小写举例注 工具可以对标识符的最大长度进行限制 但至少应当为 个字符 如果标识符超过工具规定的长度极限应当报错转义标识符转义标识符应当以反斜线符号 开始以空白空格制表符换行符结束 这些转义标识符为打印标识符十进制数 到 或者十六进制数 到 中任何可打印的 字符提供了一种方法前面的反斜线和后面的空白不是标识符的一部分 因此转义标识符 与非转义标识符是相同的举例关键词关键词是预定义的非转义标识符 用于定义语言的结构 关键词前面如果加上转义字符就不是关键词系统任务和函数字符引进一种可以使用用户定义的任务和函数的语言结构 跟在 后面的名称是系统任务或系统函数语
20、法 给出系统任务或函数的语法语法 系统任务和函数的语法标识符系统任务和函数可以在三种情况下定义标识符系统函数和任务的标准集 如第 章所定义附加的 标识符系统函数和任务 可以使用 定义如第 章中所描述附加的 标识符系统函数和任务 由软件工具定义除了这个结构外任何有效的标识符包括已经在上下文中使用的关键词 都可以用作系统任务或函数的名称 第 章中描述的函数和任务是本标准的一部分 带有 标识符结构的附加的系统任务和函数不是本标准的一部分举例编译指令符号 值为 称作打开符号 或重音符号 引入一个用于实现编译指令的语言结构 编译器一读到指令 由编译指令规定的编译行为立即生效 在编译过程中 指令一直保持有
21、效 除非出现其它不同的编译指令 所以一个描述文件中的编译指令可以控制多个描述文件中的编译行为标识符编译指令结构可以在两种情况下定义标识符编译指令的一个标准集在第 章中定义附加的标识符编译指令 由软件工具定义任何有效的标识符 除了这个结构外 包括已经在上下文中使用的关键词 都可以用作编译指令名称 在第 章中描述的编译指令是本标准的一部分 带有 标识符结构的附加的编译指令不是本标准的一部分举例数据类型数据类型集的设计是为了表示数字硬件中的数据存储和传输元件值集合值集合由四种基本的值组成表示逻辑 或条件为假表示逻辑 或条件为真表示未知逻辑值表示高阻状态值 和 互为逻辑补码当 值出现在一个门的输入端或
22、出现在一个表达式中时 其效果通常与 值的效果相同 金属氧化半导体 基元例外 它可以传递 值中几乎所有的数据类型均存储全部四种基本的值 只有事件 类型 见例外它没有存储 向量的每一位均可独立地设置成四种基本值中的一种除了线网变量的基本值信息外 本语言还包括强度信息 详细描述见本标准的第 章线网和寄存器有两组主要的数据类型寄存器 数据类型和线网 数据类型 这两组数据类型在赋值和保持值的方法上是不同的它们表示不同的硬件结构线网线网数据类型表示结构实体之间的物理连接如门与门之间的连接 线网不存储值 线网除外 它的值由其驱动器的值决定例如一个持续赋值语句或者一个门 对这些结构的定义见第 章和第章 如果没
23、有驱动器连接到线网上线网的值是高阻 除非线网是一个 在这种情况下 它保持以前的驱动值语法 给出线网说明的语法本章描述线网说明的前两种形式 第三种形式称为线网赋值 在第 章描述寄存器寄存器是数据存储元件的一种抽象 寄存器数据类型的关键词是 寄存器存储从一个赋值语句到下一个赋值语句之间的值 在程序中一个赋值语句相当于一个触发器可以改变数据存储元件中的值 数据类型的缺省的初始化值是未知值语法 线网说明的语法语法 说明的语法语法 给出 说明的语法如果一组线网或一组寄存器具有相同的特征 那么可以使用相同的说明语句对它们进行说明注意可以把负值赋给寄存器 但是当寄存器是表达中的操作数时其值可看作是一个无符号
24、的正值 例如如果寄存器是一个表达式的操作数则 位寄存器中的负 起到数字 的作用 有关表达中的数字约定的详细信息请见向量无范围指定的线网或寄存器说明是 位位宽是一个标量 具有多位的线网数据类型和寄存器数据类型通过指定一个范围进行说明 它是一个向量向量说明范围指定给出多位线网或多位寄存器中的各个位的地址 由 常数表达式指定的最高位是范围域值中的左边值 由 常数表达式指定的最低位是范围域值中的右边值常数表达式和 常数表达式都是常数表达式 常数表达式和 常数表达式可以是任意值 正值负值或零 常数表达式可以大于等于或小于 常数表达式向量线网和向量寄存器遵守 次幂模数为 的算术规则 其中 是向量中的位数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 18349 2001 集成电路 计算机硬件 描述 语言 Verilog
