




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Verilog 1995 和和 Verilog 2001 的比较的比较 版本记录表 作者版本号日期修改内容 王长友 V1 00 a2015 5 24 第一次创建 作为一门如今世界最流行的硬件描述语言之一 Verilog HDL 拥有自己的独 有的特点和优势 当然同时作为一门不断完善和发展的硬件描述语言 他同样 也具有他的不足之处 Verilog HDL 是在用途最广泛的 C 语言的基础上发展起来的一种硬件描述语 言 它是由 GDA Gateway Design Automation 公司的 PhilMoorby 在 1983 年末首 创的 最初只设计了一个仿真与验证工具 之后又陆续开发了相关的故障模拟 与时序分析工具 1985 年 Moorby 推出它的第三个商用仿真器 verilog XL 获得了 巨大的成功 从而使得 Verilog HDL 迅速得到推广应用 1989 年 CADENCE 公司 收购了 GDA 公司 使得 VerilogHDL 成为了该公司的独家专利 1990 年 CADENCE 公司公开发表了 Verilog HDL 并成立 LVI 组织以促进 Verilog HDL 成为 IEEE 标准 即 IEEE Standard 1364 1995 Verilog HDL 虽然得到了广泛的应用 但是然们在应用过程中也发同大多数 新兴的编程语言一样 有很多的不完善 缺陷 在 2001 年 OVI Open Verilog Initiative 向 IEEE 提交了一个改善了用户觉得原始的 Verilog 1995 标准缺陷的新 的标准 这一扩展版本成为了 IEEE1364 2001 标准 也就是 Verilog 2001 Verilog 2001 是 1995 的增补 现在几乎所有的工具都支持 Verilog 2001 Verilog 2001 也被称作 Verilog 2 0 作为一个 verilog 的初学者 基础是最重要的 现在将我在学习中了解到的 verilog 的 IEEE1364 95 标准和最新的 IEEE1364 2001 标准做一个简单的比较和分 析 希望可以在加深我的学习和理解的同时可以方便大家的探讨 学习和补充 我从以几个方面来比较 verilog HDL 的 IEEE1364 1995 标准和 IEEE1364 2001 的变化 1 模块声明的扩展模块声明的扩展 1 Verilog 2001 允许将端口声明和数据类型声明放在同一条语句中 例如 Verilog 1995 Module mux8 y a b en output 7 0 y input 7 0 a b input en reg 7 0 y wire 7 0 a b wire en Verilog 2001 Module mux8 y a b en output reg 7 0 y input wire 7 0 a b input wire en 2 Verilog 2001 中增加了 ANSI C 风格的输入输出端口说明 可以用于 module task 和 function 例如 Verilog 1995 Module mux8 y a b en output 7 0 y input 7 0 a b input en reg 7 0 y wire 7 0 a b wire en Verilog 2001 Module mux8 output reg 7 0 y input wire 7 0 a b input wire en 3 对于含有 parameter 的 module 例如 Verilog 1995 Module adder sum co a b ci parameter MSB 31 LSB 0 output MSB LSB sum output co input MSB LSB a b input ci reg MSB LSB sum reg co wire MSB LSB a b wire ci Verilog 2001 Module adder parameter MSB 31 LSB 0 output reg MSB LSB sum output reg co input wire MSB LSB a b input wire ci 2 带有初始化的寄存器类型变量声明带有初始化的寄存器类型变量声明 在 Verilog 1995 中定义和初始化 reg 需要两条语句 而在 Verilog 2001 中可 以合成一条语句 实例如下 Verilog 1995 reg clock initial clk 0 Verilog 2001 reg clock 0 3 敏感表的改进敏感表的改进 1 Verilog 2001 使用逗号隔开敏感信号 Verilog 2001 中可以用逗号来代替 or 隔开敏感信号 or 也可以 Verilog 1995 always a or b or c or d or sel Verilog 2001 always a b c d sel 2 Verilog 2001 组合逻辑敏感信号通配符 在组合逻辑设计中 需要在敏感信号列表中包含所有组合逻辑输入信号 以免产生锁存器 在大型的组合逻辑中比较容易遗忘一些敏感信号 因此在 Verilog 2001 中可以使用 包含所有的输入信号作为敏感信号 Verilog 1995 always sel or a or b if sel y a else y b Verilog 2001 always combinational logic sensitivity if sel y a else y b 这样做的好处是避免敏感表切合不完整导致的 latch 4 带有符号算数运算的扩展带有符号算数运算的扩展 1 net 型和 reg 型可以声明为带符号的变量 如 Reg signed 63 0 data Wire signed 11 0 address 2 函数的返回值可以是有符号的数 例如 Function signed 128 0 alu 3 literal integer number 可以定义为有符号的 如 16 hc501 an unsigned 16 bit hex value 16 shc501 a singned 16 bit hex value 4 增加了算数的左移和右移 操作符 对于符号数 执行算数移位操作时 将符号 填补移出的位 例如 D 8 b10100011 D 3 逻辑右移的结果为 8 b00010100 D 3 算数右移的结果是 8 11110100 5 增加了系统函数 signed unsigned 用于在有符号和无符号数之间的 转换 如 Reg 63 0 a unsigned data type always a begin result1 a 2 unsfned arithmetic result2 signed a 2 signed ariithmetic end 5 可变向量域的选择可变向量域的选择 part select increments from the staeting bit part select increments from the staeting bit Reg 63 0 vector1 little endian Reg 0 63 ventor2 big endian Byte vector1 31 8 selects vector1 31 24 Byte vector1 24 8 selects vector1 31 24 Byte vector2 31 8 selects vector1 24 31 Byte vector2 24 8 selects vector1 24 31 其中 起始位可以是变量 但是位宽必须是整数 因此可以用变量域选择 用循环语句选取一个很长的向量所有位 for j 0 j0 clogb clogb 1 Depth depth 1 End endfunction 12 增加了文件输入输出操作增加了文件输入输出操作 Verilog 1995 中在文件的输入 输出操作方面功能非常有限 文件操作疆场 借助于 verilog PLI 接口编程语言 通常与 c 语言的文件输入 输出库的访问 来处理 并且规定同时打开的 I O 文件不能超过 31 个 Verilog 2001 增加了新的系统任务和函数 并且规定同时打开的文件数目为 230个 13 显示参数重载显示参数重载 Verilog 1995 中参数的重载有两种方法 一种是 defparam 语句显式重新定 义 第二种是在模块实体调用时使用 符号隐式的重新定义参数 Verilog 2001 中增加了一种新的方法 成为显式重载 14 Generate 语句语句 Verilog 2001 新增了语句 generate 通过 generate 循环 可以产生一个 对象 比如一个元件或者一个模块等 的多个例化 为可变尺度的设计提供了 方便 Generate 语句一般在循环和条件语句中使用 Verilog 2001 增加了四个关键 字 generate endgenerate genvar 和 localparam 其中个 genvar 是一个新的数 据类型 用在 generate 循环中的标尺变量必须定义为 genvar 类型数据 15 Redister 变成了变成了 variable 由于自 1998 年的 verilog 一来 regiser 一直用来描述一种变量的类型 常 常让人误以为 register 和硬件的寄存器一致 在 verilog 2001 参考手册中将 register 变成了 variable 16 对条件编译的改进对条件编译的改进 Verilog 1995 中支持 ifdef else endif undef 进行条件编译 verilog 2001 中 增加了 ifndef 和 elseif 17 文件和行编译显示文件和行编译显示 Verilog 需要不断的跟踪元代码的行号和文件名 可编程语言接口 PLI 可 以取得并利用行号和源文件的信息 以标记运行是错误的 但是如果 verilog 代 码经过其他工具的处理 源代码的行号和文件名可能丢失 故在 verilog 2001 中 增加了 line 用来标定元代码的行号和文件名 18 属性属性 随着仿真器之外的工具把 verilog 作为设计输入 这些工具需要 verilog 语言 能够加入指定工具有关的信息和命令 Verilog 么有定义标准的属性 属性名和数值由工具厂商或者其他标准来定 义 目前尚未指定的标准 19 系统任务和系统函数的扩展系统任务和系统函数的扩展 Verilog 2001 增加了 17 个文件输入 输出任务 fgetc ungetc fflush ferror fgets rewind swrite swrited swrit eh sformat sdf annotate fscanf sscanf fread fttell fseek 增加了两个转换函数 signed 和 unsingned 增加了命令行输入任务 test plusargs 和 value plusargs 20 VCD 文件的扩展文件的扩展 VCD 文件用于存储选定的变量数值变化的信息 信息的记录由 VCD 系统任 务来完成 在 verilog 1995 标准中只有一种类型的 VCD 文件 即四状态类型 这种类型的 VCD 文件只记录变量在 0 1 x 和 z 状态之间的变化 而且不记录 信号强度信息 而在 verilog 2001 标准中增加了一种扩展类型的 VCD 文件 能 够
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停薪留职协议书模板
- 2025-2030井盖行业原材料价格波动对生产企业的影响及对策
- 微视关注协议书
- 2025-2030乳品矿物质添加剂生物强化技术专利壁垒分析报告
- 2025-2030乳品添加剂行业人才需求与教育培训趋势报告
- 2025-2030中国鲜啤食品安全风险防控体系构建与应急预案研究
- 无线传感器协议书
- 2025-2030中国饮料行业柔性生产技术升级投资回报分析
- 2025-2030中国餐饮标准化调料包行业痛点与解决方案分析报告
- 2025-2030中国食品乳化剂产业链价值分布及重点企业战略布局研究报告
- 2.1《整十、整百数乘一位数的口算和估算》(课件) -2025-2026学年三年级数学上册 苏教版
- 艾媒咨询2025年中国新式茶饮大数据研究及消费行为调查数据
- 雷达式水位计安装单元工程质量验收评定表
- 挂靠公司走帐协议书范本
- 2025年中国电信集团校园招聘笔试模拟试题集
- 供管水员知识培训课件
- 学堂在线 科学研究方法与论文写作 章节测试答案
- 精细化学品建设项目投资计划书
- 彗星光谱分析技术-洞察及研究
- 钢结构拆除施工应急预案范文
- 膜式燃气表培训
评论
0/150
提交评论