EDA第3章 Verilog设计入门.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Verilog设计入门 主要内容 3.1 组合电路的Verilog描述 3.2 时序模块及其Verilog表述 3.3 二进制计数器及其Verilog设计 Verilog概述 什么是Verilog HDL? Verilog HDL(Hardware Discription Language)是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。 Verilog的历史 最初是于1983年由Gateway Design Automation公司(后被Cadence收购)为其模拟器产品开发的硬件建模语言 1990年,Cadence公司成立OVI(Open Verilog International)组织来负责推广Verilog 1995年,IEEE制定了Verilog HDL标准,即IEEE Std 1364 - 1995 Verilog与VHDL 目前,设计者使用Verilog和VHDL的情况 美国:Verilog: 60%, VHDL: 40% 台湾:Verilog: 50%, VHDL: 50% 3.1 组合电路的Verilog描述 3.1 组合电路的Verilog描述 3.1 组合电路的Verilog描述 module(模块) module能够表示: 物理块,如IC或ASIC单元 逻辑块,如一个CPU设计的ALU部分 整个系统 每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。 模块端口(module ports) 注意模块的名称DFF,端口列表及说明 模块通过端口与外部通信 赋值语句 条件操作符 关键字 条件运算符 关键字 关键字——事先定义好的确认符,用来组织语言结构;或者用于定义Verilog HDL提供的门元件(如and,not,or,buf)。 用小写字母定义! ——如always,assign,begin,case,casex,else,end,for,function,if,input,output,repeat,table,time,while,wire。 Verilog HDL关键字 Verilog HDL关键字(续) 标识符 所谓标识别符就是用户为程序描述中的Verilog 对象所起的名字。 标识符必须以英语字母(a-z, A-Z)起头,或者用下横线符( _ )起头。其中可以包含数字、$符和下横线符。 标识符最长可以达到1023个字符。 模块名、端口名和实例名都是标识符。 Verilog语言是大小写敏感的,因此sel 和 SEL 是两个不同的标识符。 合法和非法标识符 shift_reg_a busa_index bus263 空格和注释 Verilog 是一种格式很自由的语言。 空格在文本中起一个分离符的作用,别的没有其 他用处。 单行注释符用 //********* 与C 语言一致 多行注释符用 /* ------------------- */ 与C 语言一致 规范的书写格式 规定了文本布局、命名和注释的约定,以提高源代码的可读性和可维护性。 最顶层的module_endmodule模块放在最左侧 低一层次的语句向右靠一个TAB键的距离 同一语句关键字对齐 文件取名和存盘 文件的扩展名为.v 文件名与该程序的模块名一致 文件取名大小写敏感 文件名不应该用中文 和数字 文件存在英文名字的文件夹中,不要存在根目录或桌面上 总 结 Verilog HDL程序是由模块构成的。每个模块嵌套在module和endmodule声明语句中。模块是可以进行层次嵌套的。 每个模块要进行端口定义,并说明输入输出端口,然后对模块的功能进行行为逻辑描述。 程序书写格式自由,一行可以写几个语句,一个语句也可以分多行写。 除了endmodule语句、begin_end语句和fork_join语句外,每个语句和数据定义的最后必须有分号。 可用/*.....*/和//...对程序的任何部分作注释。加上必要的注释,以增强程序的可读性和可维护性。 3.1 组合电路的Verilog描述 3.1 组合电路的Verilog描述 主要的数据类型 Verilog 有几种主要的数据类型: Nets 表示器件之间的物理连接, 称为网络连接类型 Register 表示抽象的储存单元,称为寄存器变量类型 Parameter 表示运行时的常数,称为参数类型 寄存器阵列 主要的数据类型---Net型变量定义 Nets(网络连线): 由模块或门驱动的连线。

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档