《Protel-DXP电路设计基础教程》第12章:VHDL和FPGA设计_第1页
《Protel-DXP电路设计基础教程》第12章:VHDL和FPGA设计_第2页
《Protel-DXP电路设计基础教程》第12章:VHDL和FPGA设计_第3页
《Protel-DXP电路设计基础教程》第12章:VHDL和FPGA设计_第4页
《Protel-DXP电路设计基础教程》第12章:VHDL和FPGA设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章 VHDL和FPGA设计12.1 概述12.2 VHDL基本知识12.3 上机指导12.1 概述 Protel DXP提供了一个高效的硬件描述语言的设计工具,它支持两种不同方式的设计:既可以使用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 VHD

2、L对象及其数据类型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组成。一个单元只有一个设计实体,而结构体的个数不限。实体声明部分提供该设计单元的公共信息:名称,端口信息和类属参数;而结构体则用于定义该设计单元的内部操作特性。一个设计实体和某一特定的结构体合

3、起来共同定义一个元件模型。如 图12.1所示。图12.1 VHDL语言程序设计基本结构12.2.2 VHDL程序实体和结构体 VHDL提供层次化结构描述的手段。一个电路系统用一个实体描述,组成该电路系统的每个元件实际上也是一个一个的实体。整个电路系统可以作为更大型电路系统的一个元件。 实体的描述分两部分:实体声明(entity)和结构体(architecture)。实体声明定义实体的外部接口,结构体规定该实体的内部结构或行为。12.2.3 VHDL程序包和设计库 在一个大的设计中,某些数据可能要在多个实体中使用,这时应当在程序包中声明。引用程序包时,在编译单元之前添加下面的语句:use 库名.

4、包名.项目名;或use 库名.包名.all; 前面一句表示包中的指定项目可见(即可以引用);后面一句的.all表示包中的所有项目都可见。12.2.4 VHDL配置指定 配置(Configuration)语句描述层与层之间的连接关系以及实体与结构体之间的连接关系。设计者可以利用这种配置语句来选择不同的构造体。在仿真某个实体时,可以利用配置来选择不同的构造体,进行性能对比实验以得到性能最佳的构造体。12.2.5 VHDL对象及其数据类型 VHDL有三类对象:信号、变量和常量。如 表12.1所示。VHDL语言的每个对象都有一个类型,对象的类型在声明部分中确定。 对象声明的一般形式是: 对象类 对象标

5、识符:对象类型 : 初值表达式; 对象标识符由一个标识符或由逗号( ,)隔开的多个标识符组成。初值也可以不指定,系统默认其初值为类型定义中的最左边的值。表12.1 VHDL的三类对象12.2.6 VHDL表达式与运算操作符逻辑运算符: not(非), and(与), or(或), nand(与非), nor(或非), xor(异或), xnor(异或非);算术运算符:+ (正号), -(负号), abs (绝对值) ,+(加),-(减), *(乘),/(除), mod(取模), rem(取余),*(乘方),sll(逻辑左移),sla(算术左移), srl(逻辑右移), sra(算术右移), r

6、ol(逻辑循环左移), ror(逻辑循环右移);关系运算符:=(等于),(不等于),(大于),=(大于等于);连接运算符:&(连接)12.2.7 VHDL子程序 VHDL提供两种子程序:过程和函数。过程与函数的区别在于:过程调用是一个语句,函数调用则是表达式的一部分。VHDL中子程序的定义分为两部分:声明部分与相应的子程序体。子程序体中的声明部分还可以包括另外的子程序声明和子程序体,形成子程序的嵌套。VHDL容许设计者自己定义子程序(过程和函数)。在VHDL描述的任何位置都可以对一个子程序进行重复调用。12.2.8 VHDL顺序描述语句 在用VHDL语言描述系统硬件行为时,按语句执行顺序对其进

7、行分类,可以分为顺序描述语句和并行描述语句。1、顺序信号赋值语句2、 变量赋值语句3、顺序控制语句4、其他顺序控制语句5、 空语句null语句12.2.9 VHDL并行描述语句1、进程语句2、简单并行语句3、复合并行语句4、元件例化语句12.2.10 VHDL程序举例 下面举一个N位加法器的VHDL程序例子,学生可结合前面所介绍的知识进行分析。在学完本节后,学生应该能够阅读分析一个简单的VHDL程序,同时应该能够根据功能要求设计编写一个简单的VHDL程序。 略12.2.11 VHDL小结 VHDL 语言主要从三方面描述一个电路系统或一个电路元件:(1)输入端口;(2)输出端口;(3)电路的行为和功能。VHDL既能描述硬件的结构,也能描述硬件的行为。行为描述的基本单元是进程语句,而结构描述的基本单元则是元件例化语句。设计者可以在任何层次上混合使用行为描述与结构描述。12.3 上机指导(基于VHDL的FPGA 设计)12.3.1 现场可编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论