FPGA设计与VHDL实现 课件 ch06VHDL基本语句_第1页
FPGA设计与VHDL实现 课件 ch06VHDL基本语句_第2页
FPGA设计与VHDL实现 课件 ch06VHDL基本语句_第3页
FPGA设计与VHDL实现 课件 ch06VHDL基本语句_第4页
FPGA设计与VHDL实现 课件 ch06VHDL基本语句_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

FPGA设计与VHDL实现VHDL基本语句第六章英特尔FPGA中国创新中心系列丛书普通高等教育”十三五”规划教材01顺序语句顺序语句赋值语句赋值语句根据其应用的场合可分为两种类型:一种是应用于进程和子程序内部的赋值语句,这时它是一种顺序语句,称为顺序赋值语句;另一种是应用于进程和子程序外部的信号赋值语句,这时它是一种并行语句,因此称为并行信号赋值语句。每种赋值语句都由三个部分组成,即赋值目标、赋值符号和赋值源。1顺序语句赋值语句赋值目标是赋值的受体,它的基本元素只能是信号或变量,但表现形式可以有多种,如文字、标识符、数组等。1顺序语句IF语句与其他软件编程语言(如C语言)相类似,VHDL中的IF语句也是一种具有条件控制功能的语句,它根据给出的条件来决定需要执行程序中的哪些语句。2顺序语句IF语句IF语句的格式有如下4种。1.非完整性IF语句当程序执行到IF语句时,如果IF语句中的条件成立,程序执行T印3-N后面的顺序语句;否则程序将跳出IF语句,转而去执行其他语句。实际上,这种形式的IF语句是一种非完整IF语句。2顺序语句IF语句2.二重选择的IF语句首先判断条件是否成立,如果IF语句中的条件成立,那么程序会执行顺序语句I;否则程序执行顺序语句2。3.具有多重选择的IF语句在VHDL中,具有多重选择的IF语句常用来描述具有多个选择分支的逻辑功能电路。2顺序语句IF语句4.IF语句的嵌套IF语句可以嵌套,多用于描述具有复杂控制功能的逻辑电路。2顺序语句CASE语句在VHDL中,CASE语句是另外一种形式的条件控制语句,它与1F语句一样可以用来描述具有控制功能的数字电路。一般来说,CASE语句是根据表达式的值从不同的顺序处理语句序列中选取其中的一组语句来进行操作,它常用来描述总线、编码器、译码器或者数据选择器等数字逻辑电路。3顺序语句CASE语句当执行到CASE语句时,如果条件表达式的值等于选择值I,程序就执行顺序语句1;如果条件表达式的值等于选择值2,程序就执行顺序语句2;依次类推,如果条件表达式的值与前面的n-1个选择值都不同,则程序就执行"WHENOTHERS"语句中的“顺序语句n"3顺序语句LOOP语句LOOP语句与其他高级语言中的循环语句相似,它可以使所包含的一组顺序语句被循环执行,其执行次数可由设定的循环参数决定。LOOP语句有三种格式。4顺序语句LOOP语句1.简单LOOP语句2.FORLOOP语句3.WHILELOOP语句4顺序语句NEXT与EXIT语句1.NEXT语句NEXT语句主要用于在LOOP语句中进行转向控制。其格式分以下三种。(1)无条件终止当前循环,跳回到本次循环LOOP语句开始处,开始下次循环。(2)无条件终止当前1盾环,跳转到指定标号的LOOP语句开始处,重新执行循环操作。(3)当条件表达式的值为TRUE,则执行NEXT语句,进入跳转操作,否则继续向下执行。5顺序语句NEXT与EXIT语句2.EXIT语句EXIT语句与NEXT语句类似,也是一种循环控制语句,用于在LOOP语句中控制循环转向。502并行语句并行语句并行信号赋值语句并行信号赋值语句是应用于结构体中进程和子程序之外的一种基本信号赋值语句,它与信号赋值语句的语法结构是完全相同的。作为一种并行描述语句,结构体中的多条并行信号赋值语句是并行执行的,它们的执行顺序与书写顺序无关。1并行语句并行信号赋值语句并行信号赋值语句有3种形式:简单信号赋值语句;条件信号赋值语句;选择信号赋值语句。1并行语句进程语句在VHDL中,进程语句(PROCESS)是使用最为频繁、应用最为广泛的一种语句,因此学握进程语句对于编写VHDL程序来说十分重要。一个结构体可以包含多个进程语句。2并行语句块语句块(BLOCK)是VHDL程序中又一种常用的子结构形式,可看成是结构体的子模块。采一用块语句描述系统,是一种结构化的描述方法。块语句可以使结构体层次分明,结构清晰。3并行语句块语句块语句具有如下特点:1.块内的语句是并发执行的,其综合结果与语句的书写顺序无关。2.在结构体内,可以有多个块结构,块在结构体内是并发运行的。3并行语句元件例化语句在VHDL程序中可以直接将已经设计好的电路模块,封装为“元件”,然后在新的设计实体中调用该元件,构成层次化的设计。元件可以是设计好的VHDL源文件,也可以是用别的硬件描述语言,如Verilog设计的模块,还可以是IP核、LPM宏功能模块、EDA设计软件中的嵌入式核等功能单元。元件的定义与调用必须用元件例化语句完成。元件例化语句由元件定义语句和元件例化(或元件调用)两部分组成。4并行语句生成语句GENERATE生成语句是一种可以建立重复结构或者是在模块的多个表示形式之间进行选择的语句。由于生成语句可以用来产生或复制多个相同的结构,因此使用生成语句可避免重复书写多段相同的VHDL程序。生成语句的格式有如下两种形式:5并行语句生成语句1.FORGENERATE语句2.IFGENERATE语句IFGENERATE语句与1F语句的区别在于,IFGENERATE语句没有类似于1F语句的ELSE或ELSIF分支语句。5并行语句并行过程调用语句当在进程内部调用过程语句时,调用语句相当于是一种顺序语句;当在结构体的进程之外调用过程时,它作为并行语句的形式出现。作为并行过程调用语句,在结构体中它们是并行执行的,其执行顺序与书写顺序无关。并行过程调用语句的功能等效于包含了同一个过程调用语句的进程。603属性说明与定义语句属性说明与定义语句数据类型属性数据类型属性如下:T'BASE-数据类型T的基本类型。T'LEFT-左限值。T'RIGHT-右限值。THIGH—上限值。T'LOW-下限值。1属性说明与定义语句数组属性数组属性如下:A'LEFT一数组A的左边界。A'RIGHT-—数组A的右边界。A'HIGH上边界。A'LOW-—下边界。A'RANGE—范围。2属性说明与定义语句信号属性signal'EVENT:如果在当前极小的一段时间间隔内,siganl上发生了一个事件,则函数返回真"(TRUE),否则就返回“假"(FALSE)。signal'STABLE[(T)]:T时间内是否发生事件(发生为FALSE,不发生为TRUE)。signal'ACTIVE:若在当前仿真周期中,信号siganl上有一个活跃(任何事务),则signal'ACTIVE返回“真“,否则返回“假“。3属性说明与定义语句信号属性信号类属性中最常用的是EVENT属性,'EVENT属性的值为布尔型,如果有事件发生在该属性所附着的信

温馨提示

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

评论

0/150

提交评论