主要知识点1、从执行方式看VHDL的描述语句包括那些描述语句?用VHDL语言进行设计时,按描述语句的执行顺序进行分类,可将VHDL语句分为顺序执行语句(Sequential)和并行执行语句(Parallel)。
2、目前流行的硬件描述语言有那些?常用的硬件描述语言有ABEL-HDL AHDL.VHDL和Verilog-HDL.而VHDL和Verilog-HDL是当前最流行的并成为IEEE标准的硬件描述语言。
3、MAX+PLUS2中各种文件的扩展名有哪些?*.vhd *.sym *.gdf *.scf(波形文件)4、基于MAX+PLUS2的设计流程设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程5、目前较流行的EDA设计软件有那些?(目前较流行的集成EDA开发环境(软件)有那些?)ALTERA公司: MAX+PLUS IIQUARTUS II(全新的EDA软件,正在逐步替代MAX+PLUS)LATTICE莱迪思公司:isp EXPERT SYSTEMispDesignExpertSYSTEM XILINX西林公司:FOUNDATIONISE(全新的EDA 软件,正在逐步替代FOUNDATION)6、可编程逻辑器件的分类?按照变成工艺分哪些类?SPLD 简单可编程逻辑器件CPLD 复杂可编程逻辑器件FPGA 现场可编程门阵列ISP 在系统(线)可编程逻辑器件按编程工艺分为:熔丝开关(一次可编程,要求大电流)可编程低阻电路元件(多次编程,要求中电压)EPROM型(紫外线擦除电可编程逻辑器件)EEPROM型(电可擦写编程器件)基于SRAM的编程元件7、VHDL程序设计中常用的库有那些?哪些库是显式(默认打开的)的,哪些是隐式的?VHDL程序设计的常用库:IEEE库、STD库、WORK库、VITAL 库、用户定义库。
显示库:IEEE库用户定义库 VITAL库隐式库:、STD库、WORK库8、程序包由那两部分组成?分别有什么作用?程序包由两部分组成:程序包首和程序包体。
程序包首为程序包定义接口,声明包中的类型、元件、函数和子程序。
程序包体规定程序包的实际功能,存放说明中的函数和子程序。
9、常用的预定义程序包有哪些?如何调用?常用的预定义的程序包:STD_LOGIC_1164程序包、STD_LOGIC_ARITH程序包、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包、STANDARD和TEXTIO程序包。
10、目前国际上较大的EDA器件制造公司有那些?ALTERA公司、LATTICE莱迪思公司、XILINX西林公司11、VHDL常用的预定义数据类型有哪几种,分别在哪些程序包中?如何调用?答:布尔(BOOLEAN)数据类型,位(BIT)数据类型,位矢量(BIT_VECTOR)数据类型,字符(CHARACTER)数据类型。
12、数据类型的转换有哪几种方法?函数转换法、类型标记转换法和常数转换法。
13、可以构成标识符的字符有?/VHDL的标识符由什么构成。
有效的字符:(1)包括26个大小写英文字母,数字0~9以及下划线“_”。
(2)任何标识符必须以英文字母开头。
(3)必须是单一下划线“_”,且其前后都必须有英文字母或数字。
(3)标识符中的英文字母不分大小写。
(4)允许包含图形符号(如回车符、换行符等),也允许包含空格符。
(5)VHDL的保留字不能用于作为标识符使用。
P23014、可编程器件(PLD)分为哪两类?答:根据编程特性分为一次编程和重复编程两类15、标准逻辑位数据类型常用的数值有哪几种?‘U’--未初始化的,‘X’--强未知的,‘Z’--高阻态,‘W’--弱未知的,‘0’--强0,‘L’--弱0,‘1’--强1,‘H’--弱1,‘-’--忽略。
16、完整的条件语句将产生什么电路,不完整的条件语句将产生什么电路?完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路17、信号和变量有什么区别?P117--118(1)信号赋值至少有δ延时,而变量赋值没有延时。
(2)信号除当前值外有许多相关的信息,而变量只有当前值。
(3)进程对信号敏感而对变量不敏感。
(4)信号可以是多个进程的全局信号;而变量(局部量)只在定义它们的顺序域可见(共享变量除外)。
(5)信号是硬件中连线的抽象描述,它们的功能是保存变化的数据和连接子元件,信号在元件的端口连接元件。
变量在硬件中没有类似的对应关系,它们用于硬件特性的高层次建模所需要的计算中。
(6)信号赋值和变量赋值分别使用不同的赋值符号“<=”(信号)和“:=”(变量),信号类型和变量类型可以完全一致,也允许两者之间相互赋值,但要保证两者的类型相同。
18、VHDL作为工业标准,是由那个机构制定并公布的。
IEEE19、实体部分的端口模式有四个类型。
O U T单向输出端口I N单向输入端口I N O U T输入输出双向端口BUFFER 反馈式双向端口20、从执行方式看VHDL的基本描述语句包括哪两大基本描述语句?顺序语句和并行语句21、VHDL文件存盘时,其主文件名应与实体名一致,扩展名应为.VHD22、硬件描述语言(HDL)的种类很多?ABEL-HDL ,AHDL ,VHDL,Verilog-HDL.23、EDA技术的含义。
EDA技术就是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以ASIC(Application SpecificIntegrated Circuits)为实现载体的电子产品自动化设计的过程24,简述EDA技术的CPLD/FPGA的设计流程。
25,写出实体中的PORT语句结构并说明其作用。
实体端口说明的一般书写格式如下:(如P77例4-7)PORT(端口名:端口模式数据类型;...端口名:端口模式数据类型);作用:由PORT语句引导的端口说明语句是对一个设计实体界面的说明。
端口为设计实体和外部环境的动态通信提供通道。
26,简述EDA技术经历了那几个发展阶段。
1).CAD(计算机辅助设计)阶段2).CAE(计算机辅助工程)阶段3).ESDA(电子系统设计自动化)阶段27,写出元件例化语句语句格式,并说明其作用。
P283元件例化语句由两部分组成,第一部分是对一个现成的设计实体定义为一个元件,(语句的功能是对待调用的元件作出调用声明)它的最简表达式如下所示:COMPONENT 元件名 ISGENERIC(类属表);--元件定义语句PORT (端口名表) ;END COMPONENT 文件名;元件例化语句的第二部分则是此元件与当前设计实体(顶层文件)中元件间及端口的连接说明。
语句的表达式如下:例化名 : 元件名 PORT MAP( --元件例化语句[端口名 =>] 连接端口名,...);28, 试比较图形输入法和文本输入法有何优缺点?比如说状态机吧,若用图形输入的话,需要比较繁琐的转化,转化成基本原件的连线很是耗时,若用文本输入的话,思路比较清晰,分析起来很简单!一般功能描述用文本输入法,逻辑描述用图形文件比较好。
29,结构体的语言格式与作用。
ARCHITECTURE 结构体名OF 实体名 IS(说明语句) 用来说明和定义数据对象,类型等,可省略BEGIN(功能描述语句) 用来描述内部电路功能的,不可省略END ARCHITECTURE 结构体名;结构体用来描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。
30,写出PROCESS语句结构的一般表达格式?P135(136)PROCESS语句的表达格式如下:[进程标号:]PROCESS[(敏感信号参数表)][IS][进程说明部分]BEGIN顺序描述语句END PROCESS[进程标号];31,进程语句的设计(或使用)要点?P137-139(1)虽然同一结构体中的进程之间是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的,因而在进程中只能设放置顺序语句。
(2)进程的启动必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有一个显式的WAIT语句来激活。
(3)结构体中多个进程之所以能并行同步运行,一个很重要的原因是进程之间的通信是通过传递信号和共享变量值来实现的。
(4)进程是重要的建模工具。
进程结构不但为综合器所支持,而且进程的建模方式将直接影响仿真和综合结果。
32,并行信号赋值语句有哪几种?其语句格式为何?1)简单信号赋值语句赋值目标<=表达式;2)条件信号赋值语句赋值目标<=表达式1 WHEN 赋值条件1 ELSE表达式2 WHEN赋值条件2 ELSE...表达式n;3)选择信号赋值语句的语句格式如下:WITH 选择表达式SELECT赋值目标信号<=表达式1 WHEN 选择值1,表达式2 WHEN 选择值2,表达式n WHEN 选择值n;33,EDA技术常用的输入方法有?原理图输入 HDL文本输入E D A设计输入的三种形式:原理图输入,状态输入,波形输入34,什么是实体和结构体,其功能是什么?(写出实体、结构体的一般语句结构并说明其作用。
)P211-215实体是一个设计实体的表层设计单元,其功能是对这个设计体与外部电路进行接口描述。
它规定了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外界的一个通信界面。
结构体用来描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。
35,MAX+pulsⅡ的原理图输入法、文本输入法、波形输入法生成的文件扩展名为?(与3相似)原理图输入法生成的文件扩展名为*.gdf文本输入法生成的文件扩展名为*.vhd波形输入法生成的文件扩展名为*.scf36、VHDL的操作符有那几大类?每一类的操作符分别是什么?每一类操作符可以对那些数据进行操作(运算)?VHDL 提供了6种预定义的运算操作符:1,赋值运算符:赋值运算符用来给信号、变量和常数赋值。
2.逻辑操作符:逻辑运算的操作数必须是BIT,STD_LOGIC或STD_ULOGIC类型的数据(或者是这些数据类型的扩展,即BIT_VECTOR,STD_LOGIC_VECTOR或STD_ULOGIC_VECTOR)。
3.算术操作符:用来执行算术运算操作。
操作数可以是INTEGER,SIGNED,UNSIGNED或REAL数据类型,其中REAL类型是不可综合的。
如果声明了ieee库中的包集std_logic_signed和std_logic_unsigned,即可对STD_LOGIC_VECTOR类型的数据进行加法和减法运算。
4.关系操作符:操作数必须是BIT, BIT_VECTOR, INTEGER。