VHDL的基本语法-课件_第1页
VHDL的基本语法-课件_第2页
VHDL的基本语法-课件_第3页
VHDL的基本语法-课件_第4页
VHDL的基本语法-课件_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

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

文档简介

VHDL的基本语法欢迎参加VHDL培训VHDL的基本语法ppt课件2021/3/261VHDL的基本语法欢迎参加VHDL培训VHDL的基本语法pVHDL的基本语法第一讲、VHDL简介及其结构第二讲、VHDL中的对象、操作符、数据类型第三讲、VHDL中的控制语句及模块第四讲、状态机的设计VHDL的基本语法ppt课件2021/3/262VHDL的基本语法第一讲、VHDL简介及其结构VHDL的基本VHDL的基本语法通过本课的学习您可以了解以下几点1、VHDL的基本概念2、VHDL的基本结构3、VHDL的设计初步VHDL的基本语法ppt课件2021/3/263VHDL的基本语法通过本课的学习您可以了解以下几点VHDL的VHDL-VHSICHardwareDecriptionLanguage

其中VHSIC-VeryHighSpeedIntegratedCircuit电子设计自动化的关键技术之一是要求用形式化方法来描述硬件系统。VHDL适应了这种要求。VHDL的基本语法VHDL的基本语法ppt课件2021/3/264VHDL-VHDL的基本语法VHDL的基本语法ppt课件2VHDL的基本语法VerilogHDL:另一种硬件描述语言,由Verilog公司开发,1995年成为IEEE标准。优点:简单、易学易用缺点:功能不如VHDL强大,仿真工具少VHDL:

1987年成为IEEE标准优点:功能强大、通用性强。缺点:难学VHDL的基本语法ppt课件2021/3/265VHDL的基本语法VerilogHDL:VHDL的基本语法VHDL的基本语法起源于八十年代,由美国国防部开发两个标准:1、1987年的IEEE1076(VHDL87)

2、1993年进行了修正(VHDL93)VHDL的基本语法ppt课件2021/3/266VHDL的基本语法起源于八十年代,由美国国防部开发VHDL的VHDL的基本语法电子系统的设计模块VHDL的基本语法ppt课件2021/3/267VHDL的基本语法电子系统的设计模块VHDL的基本语法ppVHDL的基本语法电子系统设计的描述等级1、行为级2、RTL级(Registertransferlevel)3、逻辑门级4、版图级用VHDL可以描述以上四个等级VHDL的基本语法ppt课件2021/3/268VHDL的基本语法电子系统设计的描述等级VHDL的基本语法VHDL的基本语法系统设计的描述等级-制版级VHDL的基本语法ppt课件2021/3/269VHDL的基本语法系统设计的描述等级-制版级VHDL的基本语VHDL的基本语法系统设计的描述等级-逻辑门级VHDL的基本语法ppt课件2021/3/2610VHDL的基本语法系统设计的描述等级-逻辑门级VHDL的基本VHDL的基本语法系统设计的描述等级-RTL级VHDL的基本语法ppt课件2021/3/2611VHDL的基本语法系统设计的描述等级-RTL级VHDL的基本VHDL的基本语法系统设计的描述等级-行为级VHDL的基本语法ppt课件2021/3/2612VHDL的基本语法系统设计的描述等级-行为级VHDL的基本语VHDL的基本语法

Entity(实体)Architecture1(构造体)ArchitectureN

process(进程结构)

block(块结构)

subprograms(子程序)

procedure(过程)

function(函数)VHDL的基本语法ppt课件2021/3/2613VHDL的基本语法Entity(实体)ArchitectulibraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_unsigned.all;entitycountisport(clock,reset:inSTD_LOGIC;dataout:outSTD_LOGIC_VECTOR(3downto0));endcount;architecturebehaviorlofcountissignaldatabuffer:STD_LOGIC_VECTOR(3downto0);begindataout<=databuffer;

process(clock,reset)

beginif(reset='1')thendatabuffer<="0000";elsif(clock'eventandclock='1')thenifdatabuffer="1000"thendatabuffer<="0000";elsedatabuffer<=databuffer+'1';endif;endif;

endprocess;endbehavioral;VHDL的基本语法ppt课件2021/3/2614libraryIEEE;VHDL的基本语法ppt课件20VHDL的基本语法1、ENTITY(实体)格式:

Entity实体名IS[类属参数说明][端口说明]EndEntity;其中端口说明格式为:

PORT(端口名1,端口名N:方向:类型)其中方向有:IN,OUT,INOUT,BUFFER,LINKAGE

VHDL的基本语法ppt课件2021/3/2615VHDL的基本语法1、ENTITY(实体)VHDL的基本语法VHDL的基本语法注意简单地说

In

不可以出现在<=或:=的左边

out不可以出现在<=或:=的右边

buffer可以出现在<=或:=的两边In信号只能被引用,不能被赋值out信号只能被赋值,不能被引用buffer信号可以被引用,也可以被赋值VHDL的基本语法ppt课件2021/3/2616VHDL的基本语法注意In信号只能被引用,不能被赋值VHDVHDL的基本语法例子(HalfAdd)

其内部结构将由Architecture来描述VHDL的基本语法ppt课件2021/3/2617VHDL的基本语法例子(HalfAdd)其内部结构将由VHDL的基本语法2、Arcthitecture(构造体)

格式:

Arcthitecture

构造体名of

实体名is

[定义语句]内部信号、常数、元件、数据类型、函数等的定义

begin[并行处理语句和block、process、function、procedure]

end构造体名;

VHDL的基本语法ppt课件2021/3/2618VHDL的基本语法2、Arcthitecture(构造体)VVHDL的基本语法例子(HalfAdd)VHDL的基本语法ppt课件2021/3/2619VHDL的基本语法例子(HalfAdd)VHDL的基本语法VHDL的基本语法例子(FullAdd)(学习如何调用现有模块)

VHDL的基本语法ppt课件2021/3/2620VHDL的基本语法例子(FullAdd)(学习如何调用现VHDL的基本语法实例(FullAdd)-entity

VHDL的基本语法ppt课件2021/3/2621VHDL的基本语法实例(FullAdd)-entityVHDVHDL的基本语法实例(FullAdd)-architectureVHDL的基本语法ppt课件2021/3/2622VHDL的基本语法实例(FullAdd)-architectVHDL的基本语法

除了entity(实体)和architecture(构造体)外还有另外三个可以独立进行编译的设计单元Package(包集合)属于库结构的一个层次,存放信号定义、常数定义、数据类型、元件语句、函数定义和过程定义。PackageBody具有独立对端口(port)的packageconfiguration(配置)描述层与层之间的连接关系以及实体与构造体之间关系。VHDL的基本语法ppt课件2021/3/2623VHDL的基本语法除了entity(实体)和arVHDL的基本语法VHDL中的设计单元(可以独立编译)VHDL的基本语法ppt课件2021/3/2624VHDL的基本语法VHDL中的设计单元(可以独立编译)VHDVHDL的基本语法STD库--VHDL的标准库IEEE库--VHDL的标准库的扩展面向ASIC的库--不同的工艺不同公司自定义的库普通用户自己的库库:数据的集合。内含各类包定义、实体、构造体等VHDL的基本语法ppt课件2021/3/2625VHDL的基本语法STD库--VHDL的标准库库:VHDL的基本语法用户自己的库当您的VHDL文件被编译后,编译的结果储存在特定的目录下,这个目录的逻辑名称即Library,此目录下的内容亦即是这个Library的内容。VHDL的基本语法ppt课件2021/3/2626VHDL的基本语法用户自己的库VHDL的基本语法ppt课件VHDL的基本语法Package(包)VHDL的基本语法ppt课件2021/3/2627VHDL的基本语法Package(包)VHDL的基本语法pVHDL的基本语法结构关系VHDL的基本语法ppt课件2021/3/2628VHDL的基本语法结构关系VHDL的基本语法ppt课件20VHDL的基本语法本讲结束下一讲:VHDL中的对象、操作符、数据类型VHDL的基本语法ppt课件2021/3/2629VHDL的基本语法本讲结束VHDL的基本语法ppt课件20VHDL的基本语法通过本课的学习您可以了解以下几点1、VHDL的基本类型2、如何在VHDL中定义类型3、VHDL的信号定义4、如何在VHDL中对信号赋值5、VHDL中的操作符VHDL的基本语法ppt课件2021/3/2630VHDL的基本语法通过本课的学习您可以了解以下几点VHDL的VHDL的基本语法对象object

对客观实体的抽象和概括VHDL中的对象有:1、Constant(常量)在程序中不可以被赋值

2、Variable(变量)在程序中可以被赋值(用“:=”),赋值后立即变化为新值。3、Signal(信号)在程序中可以被赋值(用“<=”),但不立即更新,当进程挂起后,才开始更新。

VHDL的基本语法ppt课件2021/3/2631VHDL的基本语法对象objectVHDL的基本语法pptVHDL的基本语法VHDL中的对象使用:

variable

x,y:integer;--定义了整数型的变量对象x,y

constantVcc:real;--定义了实数型的常量对象Vcc

signalclk,reset:bit;--定义了位类型的信号对象clk,resetVHDL的基本语法ppt课件2021/3/2632VHDL的基本语法VHDL中的对象使用:VHDL的基本语法VHDL的基本语法注意1、variable只能定义在process和subprogram(包括function和procedure)中,不可定以在其外部。2、signal不能定义在process和subprogram(包括function和procedure)中,只可定以在其外部。VHDL的基本语法ppt课件2021/3/2633VHDL的基本语法注意VHDL的基本语法ppt课件2021VHDL的基本语法对象的属性

类似于其它面向对象的编程语言如VB、VC、DELPHI

用法格式:对象’属性例子:clk’event--表明信号clk的event属性

常用的属性:

Signal对象的常用属性有:

event:返回boolean值,信号发生变化时返回truelast_value:返回信号发生此次变化前的值

last_event:返回上一次信号发生变化到现在变化的间隔时间VHDL的基本语法ppt课件2021/3/2634VHDL的基本语法对象的属性VHDL的基本语法ppt课件2VHDL的基本语法Signal对象的常用属性有:接上页delayed[(时延值)]:使信号产生固定时间的延时并返回stable[(时延值)]:返回boolean,信号在规定时间内没有变化返回truetransaction:返回bit类型,信号每发生一次变化,返回值翻转一次例子:A<=B’delayed(10ns);--B延时10ns后赋给A;

if(B’Stable(10ns));--判断B在10ns中是否发生变化VHDL的基本语法ppt课件2021/3/2635VHDL的基本语法Signal对象的常用属性有:接上页例子VHDL的基本语法信号的event和last_value属性经常用来确定信号的边沿

属性应用例如:判断clk的上升沿if((clk’event)and(clk=‘1’)and(clk’last_value=‘0’))then判断clk的下降沿if((clk’event)and(clk=‘0’)and(clk’last_value=‘1’))thenVHDL的基本语法ppt课件2021/3/2636VHDL的基本语法信号的event和last_value属性VHDL的基本语法1、bit(位):

`0`和`1`2、bit-Vector(位矢量):例如:``00110``3、Boolean“ture”和“false”4、time

例如:1us、100ms,3s5、character

例如:‘a’、’n’、’1’、’0’6、string

例如:“sdfsd”、”mydesign”7、integer32位例如:1、234、-21342348、real范围-1.0E38~+1.0E38

例如:1.0、2.834、3.14、0.0VHDL的基本语法ppt课件2021/3/2637VHDL的基本语法1、bit(位):`0`和`1`VHDVHDL的基本语法9、natural

自然数和positive

正整数10、senveritylevel(常和assert语句配合使用)包含有:note、warning、error、failure

以上十种类型是VHDL中的标准类型,在编程中可以直接使用。使用这十种以外的类型,需要自行定义或指明所引用的Library(库)和Package(包)集合VHDL的基本语法ppt课件2021/3/2638VHDL的基本语法9、natural自然数和posiVHDL的基本语法例子一VHDL的基本语法ppt课件2021/3/2639VHDL的基本语法例子一VHDL的基本语法pptVHDL的基本语法例子二VHDL的基本语法ppt课件2021/3/2640VHDL的基本语法例子二VHDL的基本语法ppt课件202VHDL的基本语法例子三例子中信号Z有两个驱动A和B;Z必须定义为一种新的数据类型,否则Z将无法决定取值,语句视为非法。VHDL的基本语法ppt课件2021/3/2641VHDL的基本语法例子三例子中信VHDL的基本语法例子四VHDL的基本语法ppt课件2021/3/2642VHDL的基本语法例子四VHDL的基本语法ppt课件202VHDL的基本语法例子五要点:赋值语句中的方向应和声明中的方向一样VHDL的基本语法ppt课件2021/3/2643VHDL的基本语法例子五要点:赋值语句中的方向应和声明中的方VHDL的基本语法连接操作符---使用&VHDL的基本语法ppt课件2021/3/2644VHDL的基本语法连接操作符---使用&VHDL的基本语法VHDL的基本语法集合操作---使用()VHDL的基本语法ppt课件2021/3/2645VHDL的基本语法集合操作---使用()VHDL的基本语法VHDL的基本语法集合操作---采用序号VHDL的基本语法ppt课件2021/3/2646VHDL的基本语法集合操作---采用序号VHDL的基本语法VHDL的基本语法集合操作--采用othersVHDL的基本语法ppt课件2021/3/2647VHDL的基本语法集合操作--采用othersVHDL的基本VHDL的基本语法通用格式

TYPE

类型名IS数据类型定义用户可以定义的数据类型枚举类型enumberated、整数型integer、实数型real、数组类型array、纪录类型record、时间类型time、文件类型file、存取类型accessVHDL的基本语法ppt课件2021/3/2648VHDL的基本语法通用格式VHDL的基本语法ppt课件20VHDL的基本语法枚举类型enumberated格式

type

数据类型名is

(元素,元素…...);例子

typeweekis(sun,mon,tue,thu,fri,sat);typestd_logicis(‘1’,’0’,’x’,’z’);

VHDL的基本语法ppt课件2021/3/2649VHDL的基本语法枚举类型enumberatedVHDL的基VHDL的基本语法整数类integer和实数类real格式

type

数据类型名is数据类型定义约束范围;例子

typeweekisintegerrange1to7;typecurrentisrealrange-1E4to1E4VHDL的基本语法ppt课件2021/3/2650VHDL的基本语法整数类integer和实数类realVHDVHDL的基本语法数组类型array格式

type

数据类型名isarray

范围

of元数据类型名例子

typeweekisarray(1to7)ofinteger;

typedeweekisarray(1to7)ofweek;VHDL的基本语法ppt课件2021/3/2651VHDL的基本语法数组类型arrayVHDL的基本语法ppVHDL的基本语法时间类型time格式

type

数据类型名is

范围

units基本单位;

单位;

endunitsVHDL的基本语法ppt课件2021/3/2652VHDL的基本语法时间类型timeVHDL的基本语法pptVHDL的基本语法时间类型例子

typetimeisrange-1E18to1E18unitsus;ms=1000us;sec=1000ms;min=60sec;endunits注意:引用时间时,有的编译器要求量与单位之间应有一个空格如:1ns;不能写为1ns;VHDL的基本语法ppt课件2021/3/2653VHDL的基本语法时间类型例子注意:引用时间时,有的编译器要VHDL的基本语法纪录类型record格式

type

数据类型名is

record

元素名:数据类型名;

元素名:数据类型名;

….

endrecord;VHDL的基本语法ppt课件2021/3/2654VHDL的基本语法纪录类型recordVHDL的基本语法pVHDL的基本语法纪录类型的例子typeorderisrecordid:integer;date:string;security:boolean;endrecord;引用:signalflag:boolean;signalorder1:order;order1<=(3423,”1999/07/07”,true);flag<=order1.security;

VHDL的基本语法ppt课件2021/3/2655VHDL的基本语法纪录类型的例子VHDL的基本语法ppt课VHDL的基本语法std_ulogic是对位(bit)类型的扩展,只允许一个驱动源VHDL的基本语法ppt课件2021/3/2656VHDL的基本语法std_ulogic是对位(bit)类型VHDL的基本语法Std_logic同std_ulogic一样有九个状态,允许一个或多个驱动源VHDL的基本语法ppt课件2021/3/2657VHDL的基本语法Std_logic同std_ulogicVHDL的基本语法Std_unlogic_vector和std_logic_vectorVHDL的基本语法ppt课件2021/3/2658VHDL的基本语法Std_unlogic_vector和stVHDL的基本语法Std_unlogic、std_ulogic_vectorstd_logic_vector和std_unlogic_vector类型均定义在package(包)standard_logic_1164中在使用这四种类形时应加以说明,例如:libraryieee;useieee.std_logic_1164.all;注:standard_logic_1164位于IEEE库中VHDL的基本语法ppt课件2021/3/2659VHDL的基本语法Std_unlogic、std_ulogiVHDL的基本语法例子一(声明使用的库和包)VHDL的基本语法ppt课件2021/3/2660VHDL的基本语法例子一(声明使用的库和包)VHDL的基本语VHDL的基本语法例子二std_ulogic和std_logic的区别VHDL的基本语法ppt课件2021/3/2661VHDL的基本语法例子二std_ulogic和std_lVHDL的基本语法练习一:下面那一个是正确的3VHDL的基本语法ppt课件2021/3/2662VHDL的基本语法练习一:下面那一个是正确的3VHDL的基VHDL的基本语法分类

1、逻辑操作符

2、关系操作符

3、数学运算符VHDL的基本语法ppt课件2021/3/2663VHDL的基本语法分类VHDL的基本语法ppt课件2021VHDL的基本语法1、逻辑操作符有:VHDL的基本语法ppt课件2021/3/2664VHDL的基本语法1、逻辑操作符有:VHDL的基本语法ppVHDL的基本语法逻辑操作符的应用类型VHDL的基本语法ppt课件2021/3/2665VHDL的基本语法逻辑操作符的应用类型VHDL的基本语法pVHDL的基本语法逻辑操作符的应用例子VHDL的基本语法ppt课件2021/3/2666VHDL的基本语法逻辑操作符的应用例子VHDL的基本语法pVHDL的基本语法2、关系运算符有VHDL的基本语法ppt课件2021/3/2667VHDL的基本语法2、关系运算符有VHDL的基本语法pptVHDL的基本语法关系运算符的应用ARRAY(数组)没有数字概念,数组“111”不等于7VHDL的基本语法ppt课件2021/3/2668VHDL的基本语法关系运算符的应用ARRAY(数组)没有数字VHDL的基本语法3、数学运算符注意:上述运算符应用于integer,real,time类型,不能用于vector(如果希望用于vector,可以使用库IEEE的std_logic_unsigned包,它对算术运算符进行了扩展)VHDL的基本语法ppt课件2021/3/2669VHDL的基本语法3、数学运算符注意:上述运算符应用于inVHDL的基本语法VHDL中的操作符应用要点

1、VHDL属于强类型,不同类型之间不能进行运算和赋值,可以进行数据类型转换

2、vector不表示number3、array不表示numberVHDL的基本语法ppt课件2021/3/2670VHDL的基本语法VHDL中的操作符应用要点VHDL的基本语VHDL的基本语法本讲结束下一讲:VHDL中的控制语句及模块VHDL的基本语法ppt课件2021/3/2671VHDL的基本语法本讲结束VHDL的基本语法ppt课件20VHDL的基本语法通过本讲您将会学到1、Block的编写2、Process的编写3、function和procedure的编写4、VHDL中的流程控制语句的书写VHDL的基本语法ppt课件2021/3/2672VHDL的基本语法通过本讲您将会学到VHDL的基本语法ppVHDL的基本语法回顾第一讲的内容

Entity(实体)Architecture1(构造体)ArchitectureN

process(进程结构)

block(块结构)

subprograms(子程序)

procedure(过程)

function(函数)VHDL的基本语法ppt课件2021/3/2673VHDL的基本语法回顾第一讲的内容Entity(实体)ArVHDL的基本语法基本概念1、并行处理(concurrent)语句的执行与书写顺序无关,并行块内的语句时同时执行的2、顺序处理(sequential)语句的执行按书写的先后次序,从前到后顺序执行。这种方式和其他普通编程语言(如c,pascal)是一样的。VHDL的基本语法ppt课件2021/3/2674VHDL的基本语法基本概念VHDL的基本语法ppt课件20VHDL的基本语法Architecture中的语句及子模块之间是并行处理的子模块block中的语句是并行处理的子模块process中的语句是顺序处理的子模块subprogram中的function和procedure是顺序处理的VHDL的基本语法ppt课件2021/3/2675VHDL的基本语法Architecture中的语句及子模块VHDL的基本语法Arcthitecture(构造体)的格式为:(第一讲)

Arcthitecture

构造体名of

实体名is

[定义语句]内部信号、常数、元件、数据类型、函数等的定义

begin[并行处理语句和block、process、function、procedure]

end构造体名;

VHDL的基本语法ppt课件2021/3/2676VHDL的基本语法Arcthitecture(构造体)的VHDL的基本语法Block格式

块名:

BLOCK[定义语句]

begin[并行处理语句concurrentstatement]

endblock

块名VHDL的基本语法ppt课件2021/3/2677VHDL的基本语法BlockVHDL的基本语法ppt课件2VHDL的基本语法条件Block格式

块名:

BLOCK

[(布尔表达式)]

[定义语句]

begin[并行处理语句concurrentstatement[信号]<=

guarded[信号,延时];

endblock

块名VHDL的基本语法ppt课件2021/3/2678VHDL的基本语法条件BlockVHDL的基本语法ppt课VHDL的基本语法Block例子

myblock1:

block(clk=‘1’)

signal:qin:bit:=‘0’;

beginqout<=guardedqin;

endblockmyblock1

myblock2:

block

beginqout<=qin;

endblock

myblock2VHDL的基本语法ppt课件2021/3/2679VHDL的基本语法Block例子myblock2:VHDLVHDL的基本语法Process格式[进程名:]

process[(触发信号列表)][定义语句;]

begin[串行处理语句sequentialstatement;]

endprocessVHDL的基本语法ppt课件2021/3/2680VHDL的基本语法ProcessVHDL的基本语法ppt课VHDL的基本语法process例子

exp1:

process

(clk,qin)

variable:qin:bit:=‘0’;

beginqout<=qin;

endprocessexp2:

process

begin

waitonclk,qin;

qout<=qin;

endprocessVHDL的基本语法ppt课件2021/3/2681VHDL的基本语法process例子exp2:VHDL的基本process例子-值的更新分析:当A、B、C、D中任一信号发生变化时,进程将开始执行,当执行Z<=AandB后,Z的值不会立即变化;同理执行Z<=CandD后Z的值也不会立即变化。当执行endprocess后,Z的值才开始更新,同时系统挂起开始等待敏感信号。VHDL的基本语法ppt课件2021/3/2682process例子-值的更新分析:VHDL的基本语法pptVHDL的基本语法Process中敏感信号列表的普遍原则是:在process中,其值被引用的信号应当出现在敏感信号列表中例子;二选一的选择器:A、B为输入信号;SEL为选路信号;Z为输出信号;VHDL的基本语法ppt课件2021/3/2683VHDL的基本语法Process中敏感信号列表的普遍原则是:不符和设计要求VHDL的基本语法ppt课件2021/3/2684不符和设计要求VHDL的基本语法ppt课件2021/3/2VHDL的基本语法Function(函数)格式:

function

函数名(参数1,参数2…...)

[定义语句]

return

数据类型名

is[定义语句]

begin[顺序执行语句]

return[返回变量名]

end函数名

VHDL的基本语法ppt课件2021/3/2685VHDL的基本语法Function(函数)VHDL的基本语法VHDL的基本语法Function例子functionmax(a,b:bit)

returnbooleanisvariable:flag:boolean;beginif(a=b)thenflag<=true;

endifreturnflag;endmaxFunction中的参数不用说明方向(因为只有一种方向in)VHDL的基本语法ppt课件2021/3/2686VHDL的基本语法Function例子Function中Architecture中的subprogramprocedure(过程)格式:

procedure

过程名(参数1,参数2…...)is[定义语句]

begin[顺序执行语句]

end

过程名

VHDL的基本语法ppt课件2021/3/2687Architecture中的subprogramprocedVHDL的基本语法Procedure例子proceduremax(a,b:inbit;

flag:outboolean)isbeginif(a=b)thenflag<=true;

endifendmax;VHDL的基本语法ppt课件2021/3/2688VHDL的基本语法Procedure例子VHDL的基本语法VHDL的基本语法Wait语句assert语句If语句case语句forloop语句while语句VHDL的基本语法ppt课件2021/3/2689VHDL的基本语法Wait语句VHDL的基本语法ppt课件VHDL的基本语法Wait语句书写格式

wait;--无限等待

waiton[信号列表]--等待信号变化

waituntil[条件];--等待条件满足

waitfor[时间值];--等待时间到功能

wait语句使系统暂时挂起(等同于endprocess),此时,信号值开始更新。条件满足后,系统将继续运行。VHDL的基本语法ppt课件2021/3/2690VHDL的基本语法Wait语句VHDL的基本语法ppt课件VHDL的基本语法Wait语句例子process(a,b)

beginy<=aandb;endprocessprocessbeginwaitona,b;y<=aandb;endprocess等同于process(a,b)

begin错误如果process中已有敏感信号

waitona,b;进程中不能使用wait语句

y<=aandb;endprocessVHDL的基本语法ppt课件2021/3/2691VHDL的基本语法Wait语句例子process等同于proVHDL的基本语法Wait语句例子如果process中没有敏感信号列表,其进程中也没有wait语句,则process中的程序代码循环执行processbeginclk<=notclkafter50ns;endprocess功能:产生频率为100ns的clk信号VHDL的基本语法ppt课件2021/3/2692VHDL的基本语法Wait语句例子process功能:产生频VHDL的基本语法Assert语句格式

assert条件[report输出信息][severity]

说明:条件为true时执行下一条语句,为false时输出错误信息和错误的严重级别例子

….assert(sum=100)report“sum/=100”severityerror;

nextstatement

…...VHDL的基本语法ppt课件2021/3/2693VHDL的基本语法Assert语句格式VHDL的基本语法pVHDL的基本语法If语句格式

if条件then[顺序执行语句][else][顺序执行语句]endifif条件then[顺序执行语句][elsif][顺序执行语句][elsif][顺序执行语句]…..[else]endifVHDL的基本语法ppt课件2021/3/2694VHDL的基本语法If语句格式if条件thenVHDLVHDL的基本语法If语句例子VHDL的基本语法ppt课件2021/3/2695VHDL的基本语法If语句例子VHDL的基本语法ppt课VHDL的基本语法Case语句格式Case表达式iswhen条件表达式=>顺序处理语句

when条件表达式=>顺序处理语句

…….whenothers=>顺序处理语句endcase

原则:1、完全性:表达式所有可能的值都必须说明,可以用others2、唯一性:相同表达式的值只能说明一次VHDL的基本语法ppt课件2021/3/2696VHDL的基本语法Case语句格式Case表达式isVHDL的基本语法Case语句例子,条件表达式可以有多种形式VHDL的基本语法ppt课件2021/3/2697VHDL的基本语法Case语句例子,条件表达式可以有多种形VHDL的基本语法Case语句例子VHDL的基本语法ppt课件2021/3/2698VHDL的基本语法Case语句例子VHDL的基本语法pp

VHDL的基本语法Forloop语句格式For循环变量in范围loop[顺序处理语句]endloop注意:循环变量不需要定义(声明);例子中i不需要定义Forloop语句例子Foriin1to10loopsum=sum+1;endloopVHDL的基本语法ppt课件2021/3/2699VHDL的基本语法Forloop语句格式For循环VHDL的基本语法在loop语句中可以用next来跳出本次循环,也可以用exit来结束整个循环状态

next格式:next[标号][when条件];

exit格式:

exit[标号][when条件];Foriin1to10loopsum=sum+1;nextwhensum=100;endloopForiin1to10loopsum=sum+1;exitwhensum=100;endloopVHDL的基本语法ppt课件2021/3/26100VHDL的基本语法在loop语句中可以用next来跳出本次VHDL的基本语法While语句格式while条件loop[顺序处理语句]endloopWhilei<10loopsum=sum+1;i=i+1;endloopWhile语句例子VHDL的基本语法ppt课件2021/3/26101VHDL的基本语法While语句格式while条件VHDL的基本语法1、信号赋值操作2、带条件的信号赋值语句3、带选择的信号赋值语句VHDL的基本语法ppt课件2021/3/26102VHDL的基本语法1、信号赋值操作VHDL的基本语法pptVHDL的基本语法信号赋值操作符号“<=”进行信号赋值操作的,它可以用在顺序执行语句中,也可以用在并行处理语句中注意

1、用在并行处理语句中时,符号<=右边的值是此条语句的敏感信号,即符号<=右边的值发生变化就会重新激发此条赋值语句,也即符号<=右边的值不变化时,此条赋值语句就不会执行。如果符号<=右边是常数则赋值语句一直执行。

2、用在顺序执行语句中时,没有以上说法。VHDL的基本语法ppt课件2021/3/26103VHDL的基本语法信号赋值操作VHDL的基本语法ppt课件VHDL的基本语法赋值语句例子Myblock:Blockbeginclr<=‘1’after10ns; clr<=‘0’after20ns;endblockmyblockprocessbeginclr<=‘1’after10ns;clr<=‘0’after20ns;endblockmyblock程序执行10ns后clr为1,又过10ns后0赋给了clr,此时clr以前的值1并没有清掉,clr将出现不稳定状态程序执行10ns后clr为1,又过20ns后clr的值变为0,VHDL的基本语法ppt课件2021/3/26104VHDL的基本语法赋值语句例子Myblock:BlockVHDL的基本语法条件信号带入语句格式

目的信号量<=表达式1when条件1else表达式2when条件2else表达式3when条件3

…..

else表达式4注意:最后的Else项是必须的;满足完全性和唯一性VHDL的基本语法ppt课件2021/3/26105VHDL的基本语法条件信号带入语句格式注意:最后的ElseVHDL的基本语法条件信号带入语句例子Blockbeginsel<=b&a;q<=ainwhensel=“00”

elsebinwhensel=“01”elsecinwhensel=“10”elsedinwhensel=‘11”elsexx;endblockVHDL的基本语法ppt课件2021/3/26106VHDL的基本语法条件信号带入语句例子BlockVHDL的基本语法选择信号带入语句格式

with表达式select

目的信号量<=表达式1when条件1,表达式2when条件2,

…..

表达式nwhen条件n;VHDL的基本语法ppt课件2021/3/26107VHDL的基本语法选择信号带入语句格式VHDL的基本语法pVHDL的基本语法选择信号带入语句例子Blockbeginwithselselectq<=ainwhensel=“00”,

binwhensel=“01”,

cinwhensel=“10”,

dinwhensel=‘11”xx;whenothers;endblockVHDL的基本语法ppt课件2021/3/26108VHDL的基本语法选择信号带入语句例子BlockVHDL的基本语法顺序执行语句和并行处理语句总结1、顺序执行语句wait、assert、if-else、case、for-loop、while语句只能用在process、function和procedure中;2、并行处理语句(条件信号带入和选择信号带入)只能用在architecture、block中;VHDL的基本语法ppt课件2021/3/26109VHDL的基本语法顺序执行语句和并行处理语句总结VHDL的基VHDL的基本语法Generic语句enttityand2isgeneric(rise:time:=10ns);port(a,b:innit;c:outbit);endand2;architecturebehavofand2isbeginc<=(axorb)after(rise);endbehavVHDL的基本语法ppt课件2021/3/26110VHDL的基本语法Generic

温馨提示

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

评论

0/150

提交评论