电子设计自动化(EDA)第5章可编程逻辑器件PLD

电子设计自动化(EDA)第5章可编程逻辑器件PLD

ID:43231040

大小:790.00 KB

页数:88页

时间:2019-10-05

电子设计自动化(EDA)第5章可编程逻辑器件PLD_第1页
电子设计自动化(EDA)第5章可编程逻辑器件PLD_第2页
电子设计自动化(EDA)第5章可编程逻辑器件PLD_第3页
电子设计自动化(EDA)第5章可编程逻辑器件PLD_第4页
电子设计自动化(EDA)第5章可编程逻辑器件PLD_第5页
资源描述:

《电子设计自动化(EDA)第5章可编程逻辑器件PLD》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章可编程逻辑器件PLD5.1PLD概述5.2VHDL语言简介5.3使用ispLEVER软件进行PLD设计5.1PLD概述可编程逻辑器件按照集成度大致可分为:(1)低集成度芯片。比如早期出现的可编程只读存储器PROM(ProgrammableReadOnlyMemory)、可编程阵列逻辑PAL(ProgrammableArrayLogic)、通用阵列逻辑GAL(GenericArrayLogic)等都属于这种类型。(2)高集成度芯片。比如现在大量使用的现场可编程门阵列FPGA(FieldProgrammableGateArray)、复杂的可编程逻辑器件CPLD(ComplexProgramm

2、ableLogicDevice)等。它们的规模和结构有较大的区别,但使用方法基本一致。虽然CPLD与FPGA在很大程度上类似,但内部结构的差异导致了它们在功能与性能上的差异。5.2VHDL语言简介5.2.1VHDL程序设计基本结构1.实体声明实体声明语法如下:entity实体名称is[generic(类属声明);][Port(端口声明);]end[entity][实体名称];   一个基本设计单元的实体声明主要包括类属声明和端口声明两个方面。1)类属声明   类属声明用来确定实体或组件中定义的局部常数。类属声明必须放在端口声明之前,用于指定参数,在模块化设计中常用于不同层次模块间信息的传递。

3、  类属声明的语法如下:generic(常数名称:类型[:=值]{;常数名称:类型[:=值]});2)端口声明   端口声明确定了输入和输出端口的数目和类型,是对基本设计实体(单元)与外部接口的描述,也可以说是对外部引脚信号的名称、数据类型和输入、输出方向的描述。   端口声明的语法如下:Port(端口名称;端口方式端口类型;{;端口名称;端口方式端口类型});2.结构体由于构造体是对实体功能的具体描述,因此它一定要跟在实体的后面。   结构体的语法如下:architecture结构体名称of实体名称is[说明语句]begin[并行处理语句];end[Architecture][结构体名称];

4、3.配置配置语句的语法如下:configuration配置名of实体名is[说明语句];end配置名;根据不同的配置类型,说明语句有简有繁,其中常用的最简单默认配置格式结构如下:configuration配置名of实体名isfor选配构造体名endforend配置名;4.程序包和库1)程序包   程序包的语法如下:package程序包名is[说明语句];end程序包名;packagebody程序包名is[说明语句]end程序包名;2)库   库被用来存放编译过的程序包定义、实体定义、构造体定义和配置定义。它的作用与程序包类似,只是级别高于程序包。在VHDL语言中,库的说明总是放在设计单元的最前

5、面,它可以用library语句打开,其语法如下:library库名;利用这条语句可以在其后的设计实体打开以各库名命名的库,使用其中的程序包。当前在VHDL语言中存在的库大致可以分为5种:IEEE库、Std库、ASIC矢量库、用户定义的库和Work库。其中Std库和Work库为预定义库,其他的为资源库。 打开库后,要用use语句来打开库中的程序包,其格式有如下两种:use库名.程序包名.项目名;use库名.程序包.all;5.2.2VHDL语言要素1.标识符VHDL语言中的标识符分为基本标识符和扩展标识符两种。 基本标识符中规定必须以英文字母开头,其他字符可以用英文字母(a~z,A~Z)、数字(

6、0~9)以及下划线(_);字母不区分大小写;不能以下划线结尾,更不能出现连续的两个或两个以上的下划线,避免使用VHDL的保留字。2.数据对象(1)常量(CONSTANT)(常数)。定义一个常数主要是为了使设计实体中的某些量易于阅读和修改。常数说明就是对某一常数名赋予一个固定的值。通常在程序开始前进行赋值,该值的数据类型在说明语句中说明。常数说明语句的格式为:Constant常数名:数据类型:=表达式;   例如:ConstantWidth:Integer:=8;ConstantFbus:BIT_VECTOR:=“1011”;(2)变量(VARIABLE)。变量只能在进程和子程序中用,是一个局部

7、量,不能将信息带出对它做出定义的当前设计单元。与信号不同,变量的赋值是理想化数据传输,其赋值是立即生效的,不存在任何的延时行为。   变量定义语句的格式为:Variable变量名:数据类型:约束条件:=初始值;   例如:VariableCount:IntegerRange0To255:=10;Variablea:INTEGER;(3)信号(SIGNAL)。信号是电子电路内部硬件连接的抽象。它可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。