网站大量收购独家精品文档,联系QQ:2885784924

第十二章河南理工大学protel2004课件.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 VHDL和FPGA设计 12.1 概述 12.2 VHDL基本知识 12.3 上机指导 12.1 概述 Protel 2004提供了一个高效的硬件描述语言的设计工具,它支持两种不同方式的设计:既可以使用VHDL语言来直接编写文件,也可以通过绘制原理图直接编译成VHDL文件。用语言的方式而非图形等方式描述硬件电路,容易修改,容易保存。VHDL和Verilog都被IEEE公布为工业标准,是目前最为流行的硬件描述语言。 12.2 VHDL基本知识 12.2.1 VHDL程序基本结构 12.2.2 VHDL程序实体和结构体 12.2.3 VHDL程序包和设计库 12.2.4 VHDL配置指定 12.2.5 VHDL对象及其数据类型 12.2.6 VHDL表达式与运算操作符 12.2.7 VHDL子程序 12.2.8 VHDL顺序描述语句 12.2.9 VHDL并行描述语句 12.2.10 VHDL程序举例 12.2.11 VHDL小结 12.2.1 VHDL程序基本结构 VHDL把一个任意复杂度的电路模块的模型视作一个单元。在VHDL中,元件由设计单元定义,设计单元由实体声明部分entity和结构体部分architecture组成。一个单元只有一个设计实体,而结构体的个数不限。实体声明部分提供该设计单元的公共信息:名称,端口信息和类属参数;而结构体则用于定义该设计单元的内部操作特性。一个设计实体和某一特定的结构体合起来共同定义一个元件模型。如 图12.1所示。 图12.1 VHDL语言程序设计基本结构 12.2.2 VHDL程序实体和结构体 VHDL提供层次化结构描述的手段。一个电路系统用一个实体描述,组成该电路系统的每个元件实际上也是一个一个的实体。整个电路系统可以作为更大型电路系统的一个元件。 实体的描述分两部分:实体声明(entity)和结构体(architecture)。实体声明定义实体的外部接口,结构体规定该实体的内部结构或行为。 12.2.3 VHDL程序包和设计库 在一个大的设计中,某些数据可能要在多个实体中使用,这时应当在程序包中声明。 引用程序包时,在编译单元之前添加下面的语句:   use 库名.包名.项目名; 或   use 库名.包名.all; 前面一句表示包中的指定项目可见(即可以引用);后面一句的.all表示包中的所有项目都可见。 12.2.4 VHDL配置指定 配置(Configuration)语句描述层与层之间的连接关系以及实体与结构体之间的连接关系。设计者可以利用这种配置语句来选择不同的构造体。在仿真某个实体时,可以利用配置来选择不同的构造体,进行性能对比实验以得到性能最佳的构造体。 12.2.5 VHDL对象及其数据类型 VHDL有三类对象:信号、变量和常量。如 表12.1所示。VHDL语言的每个对象都有一个类型,对象的类型在声明部分中确定。 对象声明的一般形式是:    对象类 对象标识符:对象类型 := 初值表达式; 对象标识符由一个标识符或由逗号( ,)隔开的多个标识符组成。初值也可以不指定,系统默认其初值为类型定义中的最左边的值。 表12.1 VHDL的三类对象 12.2.6 VHDL表达式与运算操作符 逻辑运算符: not(非), and(与), or(或), nand(与非), nor(或非), xor(异或), xnor(异或非); 算术运算符:+ (正号), -(负号), abs (绝对值) ,+(加),-(减), *(乘),/(除), mod(取模), rem(取余),**(乘方),sll(逻辑左移),sla(算术左移), srl(逻辑右移), sra(算术右移), rol(逻辑循环左移), ror(逻辑循环右移); 关系运算符:=(等于),≠(不等于),(小于),(大于),=(小于等于),=(大于等于); 连接运算符:(连接) 12.2.7 VHDL子程序 VHDL提供两种子程序:过程和函数。过程与函数的区别在于:过程调用是一个语句,函数调用则是表达式的一部分。VHDL中子程序的定义分为两部分:声明部分与相应的子程序体。子程序体中的声明部分还可以包括另外的子程序声明和子程序体,形成子程序的嵌套。VHDL容许设计者自己定义子程序(过程和函数)。在VHDL描述的任何位置都可以对一个子程序进行重复调用。 12.2.8 VHDL顺序描述语句 在用VHDL语言描

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档