EDA习题
- 格式:pdf
- 大小:267.74 KB
- 文档页数:12
《电子设计自动化(EDA)》习题集第一章、EDA技术概述一、填空题1、一般把EDA技术的发展分为 、、 三个阶段。
2、EDA设计流程包括 、 、、 四个步骤。
3、EDA的设计验证包括 、 、 三个过程。
4、EDA的设计输入包括 、 、 。
5、当前最流行的并成为IEEE标准的硬件描述语言包括和 。
6、将硬件描述语言转化为硬件电路的重要工具软件称为 。
二、单项选择题1、VHDL语言属于 描述语言。
A.普通硬件 B. 行为 C. 高级D. 低级2、基于硬件描述语言HDL的数字系统设计目前最常用的设计方法为A. 自底向上B. 自顶向下C. 积木式D. 顶层3、在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件称为A.仿真器 B. 综合器 C. 适配器 D.下载器4、在EDA工具中,能完成目标系统器件上布局软件称为A.仿真器 B. 综合器 C. 适配器 D.下载器 第2章、大规模可编程逻辑器件 一、填空题1、集成度是集成电路一项重要的指标,可编程逻辑器件按集成密度可分为 和 两类。
2、可编程逻辑器件的编程方式可分为 和 两类。
3、基于EPROM、E2PROM和快闪存储器件的可编程器件,在系统断电后编程信息 。
4、基于SRAM结构的可编程器件,在系统断电后编程信息 。
5、CPLD器件中至少包括 、 、 三种结构。
6、FPGA的三种可编程电路分别是 、、 三种结构。
7、根据逻辑功能块的大小不同,可将FPGA分为和 两类;据FPGA内部连线结构的不同,可将FPGA分为 和 两类;据FPGA采用的开关元件不同,可将FPGA分为 和 两类.8、目前常见的可编程逻辑器件的编程和配置工艺包括基于 、基于 和基于 三种编程工艺。
二、 单项选择题1、在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是A. EPLDB. CPLDC. FPGAD. PAL2、在下列可编程逻辑器件中,属于易失性器件的是A. EPLDB. CPLDC. FPGAD. PAL3、在自顶向下的设计过程中,描述器件总功能的模块一般称为A.底层设计 B. 顶层设计 C. 完整设计 D. 全面设计4、边界扫描测试技术主要解决 的测试问题A.印制电路板 B. 数字系统 C. 芯片 D. 微处理器 三、 简答题1、CPLD和FPGA有什么差异?在实际应用中各有什么特点?第3章、VHDL编程基础一、填空题1、VHDL设计实体的基本结构由 、、 、 和 等部分组成。
EDA技术EDA技术试卷(练习题库)1、个项目的输入输出端口是定义在()。
2、描述项目具有逻辑功能的是()。
3、关键字ARCHITECTURE定义的是。
4、M AXP1USII中编译VHD1源程序时要求()。
5、1987标准的VHD1语言对大小写是()。
6、关于1987标准的VHD1语言中,标识符描述正确的是()。
7、符合1987VHD1标准的标识符是()。
8、VHD1语言中变量定义的位置是()。
9、VHD1语言中信号定义的位置是()。
10、变量是局部量可以写在()。
11、变量和信号的描述正确的是()。
12、关于VHD1数据类型,正确的是()。
13、下面数据中属于实数的是()。
14、下面数据中属于位矢量的是()。
15、可以不必声明而直接引用的数据类型是()。
16、STD_10GIG_1164中定义的高阻是字符()。
17、STD_10GIG」164中字符H定义的是()。
18、使用STD_1OG1G」164使用的数据类型时()。
19、VHD1运算符优先级的说法正确的是()。
20、如果a=1,b=0,则逻辑表达式(aANDb)OR(NOTbANDa)的值是()。
21、不属于顺序语句的是()。
22、正确给变量X赋值的语句是()。
23、EDA的中文含义是()。
24、EPF10K20TC144-4具有多少个管脚()。
25、如果a=1,b=1,则逻辑表达式(aXORb)OR(NOTbANDa)的值是()。
26、MAX+P1USII的,数据类型为std_1ogic_vector,试指出下面那个30、在一个VHD1,数据类型为integer,数据范围0to127,下面哪个赋31、下列那个流程是正确的基于EDA软件的FPGA/CP1D和变量的说法,哪一个是不正确的:()。
33、下列语句中,不属于并行语句的是:()。
34、O在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为。
35、不是操作符号它只相当与作用〃target=Zb1ank〃>在VHD1的CASE语句中,条件句中的“二>”不是操作符号,它只相当与O作用。
复习题(开卷)一、填空题与简答题1、ASIC的中文含义是:专用集成电路。
2、在VHDL中主要有哪三种重载现象参数类型的重载;参数数目的重载;函数返回类型的重载。
3、简单可编程逻辑器件的主要有PROM、PLA、PAL、GAL4、CPLD内部含有多个逻辑单元块,每个逻辑单元块相当于一个GAL器件:5、在设计中,常常采用的设计方法有直接设计方法、自顶向下和自底向上的设计方法。
6、CPLD的一般采用“与-或阵列”结构。
7、一个完整的VHDL程序包括库、程序包、实体、结构体和配置五个部分。
8、PLD的中文含义是:可编程逻辑器件。
9、“与-或”结构的可编程逻辑器件主要由四部分构成:输入电路、可编程“与”阵列、可编程或阵列、输出电路10、FPGA的一般采用“查找表”结构。
11.VHDL的全拼Very high speed integrated Hardware Description Language12.子程序有即过程(PROCEDURE)、函数〔FUNCTION〕两种类型。
13、CPLD的中文含义是复杂可编程逻辑器件。
14、复杂可编程逻辑器件的主要有CPLD 和FPGA 。
15、FPGA的中文含义是现场可编程门阵列。
16.CPLD的基本结构看成由可编程逻辑宏单元可编程I/O控制模块和可编程内部连线组成。
17.FPGA由可编程逻辑块(CLB)、可编程互连单元(I/O)和可编程互连三种可编程电路和一个SRAM结构的配置存储单元组成。
18.EDA:电子设计自动化B:逻辑阵列块20.ESB:嵌入式系统块21.FAST TRACK:快速通道22.同步:各个逻辑单元共用一个时钟23.信号与变量使用时有何区别?答:(1)值的代入形式不同。
(2)变量值可以送给信号,信号值不能送给变量。
(3)信号是全局量,变量是局部量。
(4)操作过程不同。
24.VHDL语言在结构上分为哪几部分?答:VHDL语言在结构上一般分为实体(ENTITY)与结构体(ARCHITECTURE)两大部分。
EDA复习题选择题1.一个项目的输入输出端口是定义在。
A. 实体中B. 结构体中C. 任何位置D. 进程体2.描述项目具有逻辑功能的是。
A. 实体B. 结构体C. 配置D. 进程3.关键字ARCHITECTURE定义的是。
A. 结构体B. 进程C. 实体D. 配置4. 关于1987标准的VHDL语言中,标识符描述正确的是。
A. 必须以英文字母开头B.可以使用汉字开头C.可以使用数字开头D.任何字符都可以5. VHDL语言中变量定义的位置是。
A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置6. VHDL语言中信号定义的位置是。
A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置7.变量和信号的描述正确的是。
A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别8.变量和信号的描述正确的是。
A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别9.下面数据中属于实数的是。
A. 4.2B. 3C. ‘1’D. “11011”10. 下面数据中属于位矢量的是。
A. 4.2B. 3C. ‘1’D. “11011”11. STD_LOGIG_1164中定义的高阻是字符。
A. XB. xC. zD. Z12. STD_LOGIG_1164中字符H定义的是。
A. 弱信号1B. 弱信号0C. 没有这个定义D. 初始值13.使用STD_LOGIG_1164使用的数据类型时。
A.可以直接调用B.必须在库和包集合中声明C.必须在实体中声明D. 必须在结构体中声明14. VHDL运算符优先级的说法正确的是。
A. 括号不能改变优先级B. 不能使用括号C. 括号的优先级最低D. 括号可以改变优先级15.如果a=1,b=0,则逻辑表达式(a AND b) OR( NOT b AND a)的值是。
EDA习题第一章1。
1 EDA的英文全称是什么?EDA的中文含义是什么?答:EDA即Electronic Design Automation的缩写,直译为:电子设计自动化。
1.2 什么叫EDA技术?答:EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术,或称为IES/ASIC自动设计技术.1。
3 利用EDA技术进行电子系统的设计有什么特点?答:①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
1。
4 从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?答:EDA技术的学习主要应掌握四个方面的内容:①大规模可编程逻辑器件;②硬件描述语言;③软件开发工具;④实验开发系统.其中,硬件描述语言是重点。
对于大规模可编程逻辑器件,主要是了解其分类、基本结构、工作原理、各厂家产品的系列、性能指标以及如何选用,而对于各个产品的具体结构不必研究过细。
对于硬件描述语言,除了掌握基本语法规定外,更重要的是要理解VHDL的三个“精髓”:软件的强数据类型与硬件电路的惟一性、硬件行为的并行性决定了VHDL语言的并行性、软件仿真的顺序性与实际硬件行为的并行性;要掌握系统的分析与建模方法,能够将各种基本语法规定熟练地运用于自己的设计中。
对于软件开发工具,应熟练掌握从源程序的编辑、逻辑综合、逻辑适配以及各种仿真、硬件验证各步骤的使用.对于实验开发系统,主要能够根据自己所拥有的设备,熟练地进行硬件验证或变通地进行硬件验证。
一、填空1、ASIC的中文含义是__专用集成电路_____;2、EDA的中文含义是_电子设计自动化;3、PROM的中文含义是_______4、EEPROM的中文含义是_______5、SOPC的中文含义是_______6、PLD的中文含义是______可编程逻辑器件_____________;7、HDL的中文含义是_硬件描述语言;8、CPLD的中文含义是_复杂可编程逻辑器件;9、FPGA 的中文含义是_现场可编程门阵列。
10、LUT的中文含义是__查找表_______________。
11、RTL的中文含义是_寄存器传输级(Register Transfer Level)12、PAR的中文含义是_布局布线13、UUT的中文含义是_被测单元(Unit Under Test)14、JTAG的中文含义是_联合测试行动小组(Joint Test Action Group)15、在ISE软件中的原理图输入时,用元件符号INV表示非门。
16、目前应用最广泛的HDL(硬件描述语言)有__VHDL语言,_Verilog HDL_语言。
17、FPGA在结构上主要分成三个部分:可编程逻辑单元,可编程输入输出单元,可编程连线.CPLD在结构上主要分成三个部分:可编程逻辑宏单元,可编程输入输出单元,可编程内部连线18、目前主流的FPGA都采用了基于SRAM 工艺的查找表结构。
FPGA芯片主要由6部分构成,分别是可编程I/O单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。
19、CPLD由可编程的与/或阵列以及宏单元库构成,CPLD主要由可编程I/O单元、基本逻辑块、互连资源和其它辅助功能模块构成。
20、Xilinx 公司器件主要包括Xilinx CPLD 芯片、FPGA 芯片、PROM 芯片,其中,XC9500系列是属于CPLD 芯片,而Spartan 类和Virtex 类是属于FPGA芯片,在这两大类芯片中Virtex 类是高端产品。
EDA技术期末复习题1.结构体中包含了四类功能描述语句:语句、______________语句、子程序调用语句和语句。
(P304)2. 下列关于程序包的用法正确的是: ________ (P319)A、一个程序包中只能包含常数说明,VHDL数据类型说明,元件定义和子程序这几种结构之一或他们中的几种B、程序包首可以独立定义和使用C、程序包结构中,必须同时含有程序包首和程序包体D、一个完整的程序包中,程序包首名和程序包体名可以不是同一个名字3. 参数传递说明语句以关键词引导一个类属参量表,通常在实体中的位置处于语句之前。
(P300-301)4. 下列逻辑操作符中哪个的优先级最高:_______。
A. ANDB. ORC. NOTD. XOR5. 下列关于操作符说法不正确的是:_______ (P333)A、关系操作符的操作对象可以是VHDL中的任何数据类型构成的操作数B、关系操作符的返回值是布尔类型数据C、MOD和REM的操作数数据类型只能是整数,运算操作结果也是整数。
D、SLL是左移位操作,右边跟进的位补零6. 下列说法正确的是: _______。
(P332)A、只有BIT型和整型数据可以参与加减运算。
B、操作符是有优先级别的,其中逻辑运算符的级别最低。
C、BIT 、BOOLEAN和STD_LOGIC可以进行逻辑运算D、a nand b nand c 这串运算可以不加括号7. 下列语句中,不属于并行语句的是:________A、进程语句B、CASE语句C、元件例化语句D、WHEN…ELSE…语句8. 下列语句中,不属于顺序语句的是:_______。
A. WHEN…ELSE…语句B. IF语句C. LOOP语句D. CASE语句9. 以下关于VHDL中常量的声明正确的是________A、Constant Width :Integer=8;B、Constant Width :Integer := 8;C、Variable Width :Integer = 8;D、Variable Width :Integer := 8;10. 下列哪个库需要在VHDL程序中明确打开并指定________A、STDB、IEEEC、WORKD、自定义库11. VHDL中最为常用的是库。
EDA期末考试复习题选择题1. 一个项目的输入输出端口是定义在 A 。
A. 实体中B. 结构体中C. 任何位置D. 进程体2. 描述项目具有逻辑功能的是 B 。
A. 实体B. 结构体C. 配置D. 进程3. 关键字ARCHITECTURE定义的是 A 。
A. 结构体B. 进程C. 实体D. 配置4. MAXPLUSII中编译VHDL源程序时要求 C 。
A.文件名和实体可以不同B. 文件名和实体名无关C. 文件名和实体名要相同D. 不确定5. 1987标准的VHDL语言对大小写是 D 。
A. 敏感的B. 只能用小写C. 只能用大写D. 不敏感6. 关于1987标准的VHDL语言中,标识符描述正确的是 A 。
A必须以英文字母开头B可以使用汉字开头C可以使用数字开D任何字符都可以7. 关于1987标准的VHDL语言中,标识符描述正确的是 B 。
A下划线可以连用B下划线不能连用 C不能使用下划线 D可以使用任何字符8. 符合1987VHDL标准的标识符是 A 。
A. A_2B. A+2C. 2AD. 229. 符合1987VHDL标准的标识符是 A 。
A. a_2_3B. a_____2C. 2_2_aD. 2a10. 不符合1987VHDL标准的标识符是 C 。
A. a_1_inB. a_in_2C. 2_aD. asd_111. 不符合1987VHDL标准的标识符是 D 。
A. a2b2B. a1b1C. ad12D. %5012. VHDL语言中变量定义的位置是 D 。
A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置13. VHDL语言中信号定义的位置是 D 。
A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置14. 变量是局部量可以写在 B 。
A. 实体中B. 进程中C. 线粒体D. 种子体中15. 变量和信号的描述正确的是 A 。
第一章绪论作业1、EDA的英文全称是什么?EDA的中文含义是什么?答:EDA的英文全称是Electronic Design Automation;中文含义是电子设计自动化。
5、FPGA和CPLD各包含几个基本组成部分?答:FPGA和CPLD均包含三个部分:可编程逻辑单元阵列、可编程互连、可编程I/O单元。
CPLD内部的可编程逻辑单元以乘积项阵列为主,而FPGA内部采用LUT加寄存器结构。
6、FPGA和CPLD各有什么特点?二者在存储逻辑信息方面有什么区别?在实际使用中,在什么情况下选用CPLD?在什么情况下选用FPGA?答:特点:CPLD内部的可编程逻辑单元以乘积项阵列为主,触发器数量相对FPGA要少,规模和复杂度较低。
FPGA内部采用LUT加寄存器结构,触发器数量多,规模和复杂度较高。
在存储逻辑信息方面,CPLD主要采用PROM存储信息;FPGA主要采用SRAM存储信息。
在实际使用中,一般规模逻辑设计,以控制功能为主的情况下优先选用CPLD。
对于复杂逻辑设计,需要存储大量数据的情况下优先选用FPGA。
10、对于目标器件为FPGA/CPLD的VHDL设计,其工程设计包括几个主要步骤?每步的结果是什么?答:主要设计步骤:(1)设计输入:采用HDL语言、原理图、状态图等方式,结果为设计的源代码。
(2)逻辑综合:将RTL级描述转换为优化过的具有特定工艺的门级实现,产生网表文件。
(3)目标器件的布线/适配:将综合器产生的网表文件映射到目标器件中,产生最终的下载文件。
(4)目标器件的编程/下载,得到具有特定功能的电路。
(5)硬件仿真、测试,11、名称解释逻辑综合、逻辑适配、行为仿真、功能仿真、时序仿真答:逻辑综合:将RTL级描述转换为优化过的具有特定工艺的门级实现,即网表文件。
逻辑适配:将综合器产生的网表文件映射到目标器件中,产生最终的下载文件。
行为仿真:将源程序直接送到VHDL仿真器中所进行的仿真。
功能仿真:将综合后的网表文件送到VHDL仿真器中所进行的仿真。
时序仿真:将适配器产生的网表文件送到VHDL仿真器中所进行的仿真。
习题CAA:计算机辅助分析CAD:计算机辅助设计CAE:计算机辅助工程EDA:电子设计自动化SOC:片上系统SOPC:片上可编程系统HDL:硬件描述语言VHDL:超高速集成电路硬件描述语言PLD:可编程逻辑器件CPLD:复杂可编程逻辑器件FPGA:现场可编程门阵列ASIC :专用集成电路IEEE:电气电子工程师协会FSM:有限状态机RTL:寄存器传输级IP:知识产权包选择题【】下列那个流程是正确的基于EDA软件的FPGA / CPLD设计流程( )。
A. 原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试B. 原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试C. 原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;D. 原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试【】基于VHDL设计的仿真包括有①门级时序仿真、②行为仿真、③功能仿真和④前端功能仿真这四种,按照自顶向下的设计流程,其先后顺序应该是()。
A.①②③④ B.②①④③C.④③②①D.②④③①【】综合是EDA设计流程的关键步骤,在下面对综合的描述中,( )是错误的。
A. 综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件B. 为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束C. 综合是纯软件的转换过程,与器件硬件结构无关D. 综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。
E.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程【】综合时,VHDL源程序不需要经过下面哪个层次的转化()。
A.行为级B.系统级C.RTL级D.门级【】当前最流行的并成为IEEE标准的硬件描述语言包括VHDL和()。
A. Verilog HDL语言B.ABEL语言C.AHDL语言D.C语言【】下列硬件描述语言中最适合于描述门级电路的是()。
A.VHDLB.ABELC.System VerilogD. System C【】以下哪种语言不属于硬件描述语言()。
A.AHDL语言B.VHDL 语言C.Verilog HDL语言D.C语言【】下列硬件描述语言中成为IEEE标准的是()。
A.VHDLB.ABELC.System VerilogD. System C【】下列EDA软件中,哪一个不具有逻辑综合功能:( )。
A.Max+Plus IIB.ModelSimC.Quartus IID.Synplify第三章VHDL基础作业2、VHDL程序一般包含几个组成部分?每个部分的作用是什么?答:(1)库、程序包的使用说明:使该库的指定程序包中所声明/定义的内容,在当前源程序中可见。
(2)实体描述:包括类属参数说明和端口说明,描述所设计电路的对外接口。
(3)结构体描述:描述所设计电路的内部行为、功能、结构。
(4)配置说明:描述所设计电路实体和结构体之间的连接关系,以及元件和实体-结构体对之间的连接关系(层与层之间的连接关系)5、在VHDL中常用的预定义的程序包有哪几个?怎样使用这些程序包?答:Standard程序包:定义了一些基本的数据类型和函数。
Textio程序包:定义了一些支持文本文件操作的类型和子程序std_logic_1164:定义了多值逻辑类型及相关函数std_logic_arith:在std_logic_1164包的基础上扩展了unsigned、signed、small_int三个类型,及相关算术运算和转换函数。
std_logic_ unsigned、std_logic_ signed:定义integer和std_logic、std_logic_vector混合类型的算术运算,并定义了一个由std_logic_vector转换为integer类型的函数。
程序包的使用方法:Library 库名; --定位库的位置Use 库名.程序包名.项目名/ALL; --使得包中的项目(item)可见6、VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么?答:(1)数据对象有常量、变量和信号三种。
(2)常量的作用范围取决于其所定义的位置。
若在程序包中定义,则可以用在调用该程序包的所有设计实体中。
若定义在实体中,则可在这个实体的所有结构体中使用。
若定义在结构体中,则只能用于该结构体。
若定义在进程/子程序中,则只能用于该进程/子程序。
变量属于局部量,作用范围仅限于所定义的进程或子程序内部。
信号属于全局量,作用范围取决于其所定义的位置。
若在程序包中定义,则可以用在调用该程序包的所有设计实体中。
若定义在实体中,则可在这个实体的所有结构体中使用。
若定义在结构体中,则只能用于该结构体。
(3)信号表示硬件中的连线,用于各并行语句模块之间的通信。
变量一般用于存储局部/临时数据。
常量表示电路中的恒定电平,可使代码中常数易于阅读和修改。
8、信号和变量在描述和使用时有哪些主要区别?答:(1)变量只能在进程或子程序内部定义,用于存储局部/临时数据。
信号只能在进程或子程序的外部定义,表示硬件中的连线,用于各并行语句模块之间的通信。
(2)信号用signal关键字定义,赋值符号为”<=”。
变量用variable关键字定义,赋值符号为”:=”(3)信号赋值,可以设定延时量,需要延时一段时间后才执行;变量赋值立即执行。
13、VHDL语言有哪几类操作符?在一个表达式中有多种操作符时应该按怎样的准则进行运算?下列三个表达式是否等效:①A<=NOT B AND C OR D;②A<=(NOT B AND C) OR D;③A<=NOT B AND (C OR D)。
答:VHDL语言有算术操作符、逻辑操作符、关系操作符、符号操作符。
在一个表达式中有多个操作符时,应先运算带括号的,然后按不同运算符的优先级进行运算。
这三个表达式不等效。
①式表达错误,对同一优先级的不同运算符应加上括号。
②和③式的运算顺序不同。
18、VHDL程序设计中的基本语句系列有几种?它们特点如何?它们各使用在什么场所?它们各自包括些什么基本语句?答:VHDL中基本语句系列分为并行语句和顺序语句2种。
并行语句的执行与书写顺序无关,各语句是同时执行的,在执行过程中各并行语句之间可通过信号进行通信,同步运行;也可以互为独立、互不相关,异步运行。
并行语句在结构体中使用,包括块(block)、进程(process)、信号赋值、子程序调用、元件例化等语句。
顺序语句的执行与它们的书写顺序基本一致(指仿真或逻辑上的顺序执行),但实际上硬件电路是并行工作的。
顺序语句用在进程和子程序的内部,包括变量/信号赋值语句,流程控制语句(if,case,loop,next,exit),等待语句,子程序调用语句,返回语句,空操作语句等。
21、转向控制语句有几种?它们各用在什么场所?使用它们时特别需要注意什么?答:if,case,loop,next,exit。
(1)if 条件表达式1 then 顺序语句;elsif 条件表达式2 then 顺序语句;else 条件表达式n then 顺序语句;end if;if语句可根据一个或多个布尔条件,有选择的执行指定的顺序语句。
使用时应注意:①关键字then后可包含一个或多个顺序语句。
② elsif子句可以有多个或没有,每个elsif 子句执行时具有向前与的作用。
③else子句可以没有。
④关键字then后的顺序语句可以是if语句,即if语句可以嵌套。
(2)case选择表达式iswhen 选择值1 => 顺序语句;when 选择值2 => 顺序语句;......end case;case语句可根据一个表达式的不同取值执行不同的顺序语句。
使用时应注意:①表达式的值可以是整型或枚举型的,或是这些数据类型构成的数组。
②选择值可以是单个取值,如4;也可以是一个取值范围,如2 to 5;也可以是多个并列的取值,如2|6;还可以是以上三种取值方式的混合。
③ case语句执行时,根据选择表达式的值来选择执行哪个顺序语句,选择的结果和每个选择值的顺序无关,只要求对于选择表达式的每个可能取值,有且仅有一个选择值与之匹配即可。
④常用when others表示其它未列出的选择值。
⑤”=> “后面的顺序语句可以有多个。
(3)[标号:] for 循环变量in 范围loop顺序语句;end loop [标号]; [标号:] while 条件loop顺序语句;end loop [标号];for循环用于循环次数已知的情况;while 循环用于循环次数未知的情况。