下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 3、VHDL语言规则

3、VHDL语言规则.ppt

3、VHDL语言规则

hehe
2011-08-03 0人阅读 举报 0 0 暂无简介

简介:本文档为《3、VHDL语言规则ppt》,可适用于人文社科领域

主要内容主要内容VHDL程序的结构VHDL程序的规则VHDL的语句并行语句VHDL的语句顺序语句所谓“无规矩不成方圆”例如大家学习的C语言也有一定的结构和规则。如果把程序比喻人那么程序的结构相当于人的肢体构架一样有脑袋、手、脚等等而每一个部分有自己独特的作用又相互联系。程序例:程序例:程序例:小归纳:)Library库(库的)程序包)Entity实体区)Architecture结构体区①VHDL程序必需包括的基本结构。②文件名字与程序中的实体名一致另外有处与实体一致。)Library(库文件)及程序包用的是国际标准IEEE。VHDL有过两个标准:IEEEStd(calledVHDL)IEEEStd(calledVHDL))Library(库文件)及程序包库文件ieeestdStdlogicStdlogicunsignedStdlogicsignedStdlogicarithNumericbitstandard普通逻辑运算无符号的运算有符号的运算混合的运算数值和算数运算普通逻辑运算)Library(库文件)及程序包Library是用于存放预先编译好的程序包。程序包中定义了基本的常数、数据类型、元件及子程序等。作用是为了声明在实体和结构体定义中将用到的数据类型、元件或子程序等。声明格式:Library库名Use库名PACKAGE名All)Library(库文件)及程序包)Library(库文件)和程序包例子)Library(库文件)和程序包例子LibrarystdUsestdstandardall库文件及程序包的编写:打开库文件打开该库文件的程序包程序包可以同时多个库与程序包之间用“”隔开。注意符号!作用:entity(实体)是用来定义电路的端口和端口的信号属性。定义格式:Entity实体名isPort(a:instdlogicb:instdlogicc:outstdlogicvector(to))End实体名)entity(实体)定义区端口名数据类型端口模式注意关键词和符号)entity(实体)例子实体的编写:打开实体然后用port()引导括号内是所有输入、输出信号说明每行之间用“”隔开。注意符号!输入(in)输出(out)输入输出(inout)缓冲(buffer)端口K是位的输入:K:instdlogic端口ap是位的双向总线:ap:inoutbitvector(downto)单线:位(bit)、标准逻辑(stdlogic)总线:位向量(bitvector)、stdlogicvectorinteger(整数)、Real(实数))端口说明例子数据类型的转换:数据类型的转换:在VHDL语言里不同类型的数据信号之间不能互相赋值。就需要类型转换函数例如:SignalY:Stdlogicvector(downto)SignalX:IntegerrangetoY<=convstdlogicvector(X,)在库ieee的程序包stdlogicarith中定义例如:convinteger:转换成integer类型标识符:如常量、变量、信号、端口、子程序或参数的名字文件的名字工程的名字等。取名规则:、由字母、数字以及下划线组成、必须以字母开头不分大小写、不能用下划线结尾下划线不能连用、不能用VHDL的保留字即程序本身带有的关键字也就是在程序中会变蓝色的字例如:entitylibraryarchitectureendbususewhenisabsifelsethenandorxornorRangenand………请判断标识符的正确性HCD%clrresetMultiscreensdecoderfftsig#nNotackryrstentityDatabus请练习编写下列语句端口d为位输入总线端口oe和clk都是位输入端口AD位位双向总线端口A为位输出总线端口INT是位输出端口Af是位输出同时被用作内部反馈请练习画出原理图元件答案注意总线的画法)Architecture(结构体)定义区)Architecture(结构体)定义区格式:作用:结构体是用来描述输出与输入之间的运算关系。例如:直接赋值语句用符号、逻辑来运行顺序语句用if、case等语句描述并行语句用whenelse等语句描述赋值运算符赋值运算符<=用于signal(信号)赋值:=用于variable(变量)、constant(常熟)的赋值=>用于总线的局部位上的赋值如(这种方法用的很少):variblew:stdlogicvector(downto)W:=(=>’’,other=>’’)所以结果是:w=“”。逻辑操作符逻辑操作符not--非门and--与门、nand--与非门or--或门、nor--或非门xor--异或门、xnor--异或非门例如:例如:c=aandbS=axorb例如:VHDL描述例如:VHDL描述例如:VHDL描述例如:VHDL描述名字不能随便出现。要说明说明语句包含:常数(Constant)、信号(Signal)、变量(Variable)。ConstantC:integerSignalA:stdlogicVariableB:stdlogicvector(downto)三种说明语句的格式是一样的。信号的符号是:<=变量和常数用::=说明信号和常数的位置在architecture与begin间说明变量的位置在process与begin之间。练习:练习:练习:判别分析:P习题的程序错误练习:直接赋值语句用符号、逻辑来运行顺序语句用if、case等语句描述并行语句用whenelse等语句描述顺序语句:IfElse语句CaseWhen语句语句ForLoop语句Waituntil语句等……)顺序语句执行都是按照顺序从上倒下进行的顺序非常重要。)顺序语句必须在process(进程)内部process本身是并行语句。)语句可以多个并行嵌套无限扩展等。进程的名字:Process(敏感表)变量说明变量声明Beginifelse语句、case语句等单用或各种语句混合使用或各种语句套用EndProcess格式:if语句if语句if条件Then执行语句elseif条件then执行语句。。。。。。。else执行语句Endif格式:可以合并成elsif)如果yue是月份那么输出q为)如果yue是月份那么输出q为如果不是那么输出q为例:)如果yue是月份如果hao为那么输出q为如果yue是月份如果hao不是时q为如果yue是那么输出q为例:CaseWhen语句case条件名Iswhen条件值=>执行语句when条件值=>执行语句……whenothers=>执行语句endcase格式:CaseWhen语句case语句的例子case语句的例子注意:case语句中的条件列举的时候一定要全面而又不重复。loop语句Loop能使程序进行有规则的循环,循环次数受控制。有一下几种形式:Forloop语句whileloop语句exitloop语句nextloop语句loop语句loop语句的例子A=loop语句的例子loop语句的例子loop语句的例子分析题型:如果din=count=?如果要说明一个非输入输出必须用信号signal或者变量variable进行“介绍”它们俩的区别在于:、位置不同:信号在ar和begin间“介绍”变量在pro和begin间“介绍”、符号不同:信号必须用<=变量必须用:=If等顺序语句必须放在进程pro的内部有多少个独立的if语句就应该包含多少个endif直接赋值语句用符号、逻辑来运行顺序语句用if、case等语句描述并行语句用whenelse等语句描述whenelse语句格式:whenelse语句例如:例如:

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/51

3、VHDL语言规则

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利