VHDL(终版)考试复习资料
vhdl期末考试复习题大全 (2)

VHDL 改错题VHDL复习一.改错题1.已知sel为STD_LOGIC_VECTOR(1 DOWNTO 0)类型的信号,而a、b、c、d、q均为STD_LOGIC类型的信号,请判断下面给出的CASE语句程序片段:●CASE sel IS●WHEN“00”=>q<=a;●WHEN“01”=>q<=b;●WHEN“10”=>q<=c;●WHEN“11”=>q<=d;●END CASE;●答案:CASE语句缺“WHEN OTHERS”语句。
2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub为STD_LOGIC 类型的输入端口,请判断下面给出的程序片段:●LIBRARY IEEE;●USE IEEE.STD_LOGIC_1164.ALL;●ENTITY add IS●PORT(data_in1, data_in2:IN INTEGER;●data_out:OUT INTEGER);●END add;●ARCHTECTURE add_arch OF add IS●CONSTANT a:INTEGER<=2;●BEGIN●data_out<=( data_in1+ data_in2) * a;●END addsub_arch;答案:常量声明时赋初值的“<=”符号应改用“:=”符号。
3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段:●ARCHITECTURE test_arch OF test IS●BEGIN●SIGNAL B:STD_LOGIC;●Q<= B;END test_arch答案:信号SIGNAL的声明语句应该放在BEGIN语句之前。
VHDL考试复习资料

• 例: SUBTYPE natural IS integer RANGE 0 TO +2147483647; SUBTYPE positive IS integer RANGE 1 TO +2147483647; SUBTYPE data_type IS integer RANGE 0 TO 255; 第3个子类型定义的数据类型data_type只会消耗8位数据线的资源。 如果没有RANGE 0 TO 255这一范围限制,就会消耗32位数据线资源。
必须的两个部分:
• 实体说明(entity declaration) • 结构体(architecture body)
architecturn
configuration
VHDL语言程序的结构组成
实体说明(entity)
• 描述一个数字电路的接口。如:
一个存储器,需要数据线、地址线、时钟线、读写使 能控制线、片选控制线。代码: library ieee;
ห้องสมุดไป่ตู้
数据类型
数据类型: • VHDL标准数据类型有10种,与电路中的逻辑电平直接对应
的是“bit”和“bit_vector”两种类型。除此之外还有: integer real boolean character string time severity level natural、positive
TYPE byte IS array(7 downto 0) of std_logic; TYPE char IS array(7 downto 0) of std_logic; 已有的数据类型: std_logic_vector
用类型byte和类型char定义产生的对象之间不能直接赋值,它们属于完 全不同的类型。
VHDL复习题

一、选择题( A )1.一个项目的输入输出端口是定义在:A. 实体中B. 结构体中C. 任何位置D. 进程体( B)2.描述项目具有逻辑功能的是:A. 实体B. 结构体C. 配置D. 进程( A )3.关键字ARCHITECTURE定义的是:A. 结构体B. 进程C. 实体D. 配置( D )4.VHDL语言中变量定义的位置是:A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( D )5.VHDL语言中信号定义的位置是:A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置( B )6.变量是局部量可以写在:A. 实体中B. 进程中C. 线粒体D. 种子体中( A )7.变量和信号的描述正确的是:A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别( B )8. 变量和信号的描述正确的是:A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别( )9.对于信号和变量的说法,哪一个是不正确的:A. 信号用于作为进程中局部数据存储单元B. 变量的赋值是立即完成的C. 信号在整个结构体内的任何地方都能适用D. 变量和信号的赋值符号不一样( A )10.下列关于变量的说法正确的是:A.变量是一个局部量,它只能在进程和子程序中使用B.B. 变量的赋值不是立即发生的,它需要有一个δ延时C. 在进程的敏感信号表中,既可以使用信号,也可以使用变量D. 变量赋值的一般表达式为:目标变量名<= 表达式( C )11.可以不必声明而直接引用的数据类型是:A. STD_LOGICB. STD_LOGIC_VECTORC. BITD. 前面三个答案都是错误的( C )12.STD_LOGIG_1164中定义高阻的字符是:A. XB. xC. zD. Z( A )13.STD_LOGIG_1164中字符H定义的是:A. 弱信号1B. 弱信号0C. 没有这个定义D. 初始值( B )14.使用STD_LOGIG_1164中的数据类型时:A. 可以直接调用B. 必须在库和包集合中声明C. 必须在实体中声明D. 必须在结构体中声明( B )15.关于转化函数说法正确的是:A. 任何数据类型都可以通过转化函数相互转化B. 只有特定类型的数据类型可以转化C. 任何数据类型都不能转化D. 前面说法都是错误的( C )16.VHDL运算符优先级说法正确的是:A. 逻辑运算的优先级最高B. 关系运算的优先级最高C. 逻辑运算的优先级最低D. 关系运算的优先级最低( D )17.VHDL运算符优先级说法正确的是:A. NOT的优先级最高B. AND和NOT属于同一个优先级C. NOT的优先级最低D. 前面的说法都是错误的( D )18.VHDL运算符优先级说法正确的是:A. 括号不能改变优先级B. 不能使用括号C. 括号的优先级最低D. 括号可以改变优先级( B )19.如果a=1,b=0,则逻辑表达式(a AND b)OR(NOT b AND a)的值是:A. 0B. 1C. 2D. 不确定( B )20.正确给变量X赋值的语句是:A. X<=A+B;B. X:=A+b;C. X=A+B;D. 前面的都不正确( )21.VHDL文本编辑中编译时出现如下的报错信息,其错误原因是:Error: VHDL syntax error: choice value length must match selector expression value lengthA. 表达式宽度不匹配B. 错将设计文件存入了根目录,并将其设定成工程C. 设计文件的文件名与实体名不一致D. 程序中缺少关键词( D )22.在VHDL语言中,下列对时钟边沿检测描述中,错误的是:A. if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD. if clk’stable and not clk = ‘1’ then( D )23.在VHDL中,可以用以下哪条语句表示检测clock下降沿:A. clock’ eventB. clock’ event and clock=’1’(上升沿)C. clock=’0’D. clock’ event and clock=’0’( D )24.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:A. IEEE库B. VITAL库C. STD库D. WORK工作库( A )25.VHDL常用的库是:A. IEEEB. STDC. WORKD. PACKAGE( B )26.下列语句中,不属于并行语句的是:A. 进程语句B. CASE语句C. 元件例化语句D. WHEN…ELSE…语句( D )27.下面哪一个可以用作VHDL中的合法的实体名:A. ORB. V ARIABLEC. SIGNALD. OUT1( B )28.下列关于CASE语句的说法不正确的是:A. 条件句中的选择值或标识符所代表的值必须在表达式的取值范围内B. CASE语句中必须要有WHEN OTHERS=>NULLC. CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现D. CASE语句执行必须选中,且只能选中所列条件语句中的一条( D )29.VHDL中,为目标变量赋值符号是:A. =:B. =C. <=D. :=( B )30.VHDL语言是一种结构化设计语言,一个设计实体(电路模块)包括实体与结构体两部分,结构体描述:A. 器件外部特性B. 器件的内部功能C. 器件的综合约束D. 器件外部特性与内部功能。
(完整版)VHDL复习

百度题库VHDL复习资料1.一个完整的VHDL程序,一般有哪几部分组成,它们分别描述的是什么?答:、VHDL程序的基本结构由(库)、(程序包)、(实体)、(结构体)和(配置)组成。
2.IF THEN语句、case when语句、with select语句各是什么类型语句,顺序语句必须放在什么地方?答:IF THEN语句与case when语句是顺序语句,with select语句是并行语句,顺序语句必须放在进程中。
3.结构体中常用的功能描述方式有几种?答:1)行为描述方式 2)数据流描述方式 3)结构化描述方式4.QuartusⅡ是CPLD/FPGA集成开发软件,基于QuartusⅡ软件进行设计开发,包括几个步骤,分别是什么?答:步骤分别是:1)新建项目 2)设计输入 3)分析综合及设计编译4)时序仿真 5)引脚分配及下载配置5.1987VHDL标准中规定标识符由什么组成,有什么具体要求?答:标识符可以由英文字母,数字,下划线“-”等组成选择填空1.在VHDL语言中,下列对时钟边沿检测描述中,错误的是( D )。
A.if clk’event and clk = ‘1’ thenB. if falling_edge(clk) thenC. if clk’event and clk = ‘0’ thenD.if clk’stable and not clk = ‘1’ then2.一个项目的输入输出端口是定义在( A )。
A.实体中B.结构体中C.任何位置D.进程体3. 下列语句中,不属于并行语句的是( B )。
A.进程语句B.CASE语句C.元件例化语句D.WHEN…ELSE…语句4.描述项目具有逻辑功能的是( B )。
A.实体B.结构体C.配置D.进程5.关键字ARCHITECTURE定义的是( A)。
A.结构体B.进程C.实体D.配置6.关键字ARCHITECTURE定义的是( A )。
A.结构体B.进程C.实体D.配置7.QUARTESII中编译VHDL源程序时要求( A )。
vhdl期末考试复习题大全

VHDL 复习一.问答题一.问答题1信号赋值语句在什么情况下作为并行语句?在什么情况下作顺序语句?信号赋值和变量赋值符号分别是什么?两种赋值符号有什么区别?赋值符号分别是什么?两种赋值符号有什么区别?l 信号赋值语句在进程外作并行语句,并发执行,与语句所处的位置无关。
信号赋值语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
语句在进程内或子程序内做顺序语句,按顺序执行,与语句所处的位置有关。
l 信号赋值符号为“<=”变量赋值用变量赋值用““:=”。
信号赋值符号用于信号赋值动作,信号赋值符号用于信号赋值动作,不立不立即生效。
变量,赋值符号用于变量赋值动作,立即生效。
即生效。
变量,赋值符号用于变量赋值动作,立即生效。
2进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?进程的敏感信号表指的是什么?简述敏感信号表在进程中的作用?l 进程的“敏感信号表”也称敏感表,是进程的激活条件,可由一个或多个信号组成,各信号间以“,”号分隔。
当敏感信号表中的任一个信号有事件发生,即发生任意变化,此时,进程被激活,进程中的语句将从上到下逐句执行一遍,当最后一条语句执行完毕之后,进程即进入等待挂起状态,直到下一次敏感表中的信号有事件发生,进程再次被激活,如此循环往复。
件发生,进程再次被激活,如此循环往复。
3什么是库、程序包、子程序、过程调用和函数调用?什么是库、程序包、子程序、过程调用和函数调用?l 库和程序包用来描述和保存元件、类型说明和子程序等,以便在其它设计中通过其目录可查询、调用。
子程序由过程和函数组成。
在子程序调用过程中,过程能返回多个变量,多个变量,函数只能返回一个变量。
函数只能返回一个变量。
函数只能返回一个变量。
若子程序调用的是一个过程,若子程序调用的是一个过程,若子程序调用的是一个过程,就称为过程调用,就称为过程调用,若子程序调用的是一个函数,则称为函数调用。
过程调用、函数调用都是子程序调用。
VHDL期末复习PPT(知识点很全)

ENTITY 实体名 IS [类属参数说明]; [端口说明]; [实体说明部分]; End 实体名;
7
一个完整的ENTITY实例
LIBRARY IEEE; USE IEEE.std_logic_1164.all;
ENTITY ram IS GENERIC(delay_time: time:=5ns); PORT(addr: IN std_logic_vector(15 DOWNTO 0); sel: IN std_logic; data: OUT std_logic_vector(31 DOWNTO 0)); TYPE instruction IS ARRAY(0 TO 7) OF natural; TYPE program IS ARRAY(natural RANGE<>) OF instruction; END ram;
使用CASE语句 architecture hdlarch of mux41 is signal stmp:std_logic_vector(1 downto 0); begin stmp<= s1 &s0; process(s0,s1,a,b,c,d) begin case stmp is when "00" => y <=a; when "01" => y <=b; when "10" => y <=c; when others => y <=d; end case; end process;
一个完整VHDL电路设计必须有一个实体和对应的结构体, 即实体和结构体对构成一个完整的VHDL设计。
一个实体可对应一个结构体或多个结构体,即一个实体可以 有不同的描述方式。 作用:当实体有多个结构体时,系统默认实体选用最后一个结 构体,利用CONFIGURATION语句可以任意选择采用哪一个结 构体。
VHDL考试必备大全.docx
一、填空题1、三种可编程逻辑器件:EEPROM 、GAL、FPGA 。
2、VHDL程序包含实体、构造体、配置、程序包、和库五部分。
3、结构体的子程序描述语句:块BLOCK、进程PROCES、和子程序SUBPROGRAMS结构。
4、VHDL的客体包括了常数、变量和信号。
5、VHDL的数据类型:整数、实数、位、位矢量、字符、布尔量、时间、字符串。
std_logic是决断类型。
7、构造体的描述方式包括三种,分别是结构、数据流、行为描述方式。
8、双向端口是用inout表示,构造体内部可再次使用的输出是缓冲用buffer表示。
9、VHDL的运算符优先级:逻辑运算符<关系运算符<算术运算符。
10、定义一个信号a,数据类型为4位标准逻辑向量signal a : std_logic_vector(3 downto 0)定义一个变量b,数据类型为2位位向量variable b : bit_vector(1 downto 0) 。
11、Moore状态机输出只是当前状态的函数,Mealy为有限状态机当前值和输入值的函数12、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,常量只能在定义时赋值。
13、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。
14、并置运算符 & 的功能是把多个位或位向量合并为一个位向量。
15、判断CLK信号上升沿到达的语句是 if clk’event and clk = ‘1’ then .16、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。
17、一个信号处于高阻(三态)时的值在VHDL中描述为Z’。
18、赋值语句是并行执行的,if语句是串行执行的。
知识点1.信号与变量的区别:①信号延时赋值,变量立即赋值②信号代入用<=,变量代入用:=③信号除当前值外还有许多相关信息,而变量只有当前值④进程对信号敏感而不对变量敏感⑤信号可以是多个进程的全局信号,而变量只是定义他们的顺序域可见。
vhdl期末考试题库及答案
vhdl期末考试题库及答案VHDL期末考试题库及答案一、选择题1. VHDL是一种用于电子设计自动化的硬件描述语言,主要用于描述什么?A. 软件程序B. 硬件电路C. 数据库D. 操作系统答案:B2. 在VHDL中,哪个关键字用于定义一个进程?A. processB. procedureC. functionD. package答案:A3. 下列哪个不是VHDL的预定义数据类型?A. bitB. integerC. realD. boolean答案:A4. VHDL中,哪个属性用于获取信号的稳定值?A. 'stable'B. 'event'C. 'quiet'D. 'transaction'答案:A5. 在VHDL中,以下哪个是合法的信号赋值语句?A. signal a : integer := 5;B. signal a : integer is 5;C. signal a <= 5;D. signal a : integer = 5;答案:C二、简答题1. 简述VHDL中的并发语句和顺序语句的区别。
答案:并发语句用于描述多个独立操作同时发生,如进程和并行块;顺序语句描述操作的顺序执行,如if语句、case语句等。
2. 解释VHDL中的时序仿真和功能仿真的区别。
答案:时序仿真考虑了信号的时序特性,如延迟和时间,用于验证设计在实际工作条件下的行为;功能仿真则不关心时序,只验证设计的功能正确性。
三、编程题1. 编写一个VHDL程序,实现一个简单的二进制加法器。
答案:```vhdlentity adder isport(A, B : in bit_vector(1 downto 0);Sum : out bit_vector(1 downto 0);Carry : out bit);end entity adder;architecture behavior of adder isbeginprocess(A, B)begincase A iswhen "00" => Sum <= "00"; Carry <= '0';when "01" => Sum <= "01"; Carry <= '0';when "10" => Sum <= "01"; Carry <= '0';when "11" => Sum <= "10"; Carry <= '1';end case;end process;end architecture behavior;```四、论述题1. 论述在VHDL中使用测试平台(testbench)的重要性。
VHDL复习资料
VHDL复习资料⼀.填空(每空1分,共20分)1.MAX+plusII是ALTERA 公司⾃⼰开发的EDA ⼯具软件。
2. VHDL设计实体的基本结构由库、程序包、实体、结构体、配置等部分构成。
3.在VHDL中最常⽤的库IEEE 标准库,最常⽤的包集合是1164。
4.在VHDL的端⼝声明语句中,端⼝⽅向包括输⼊(in)、输出(out)、输⼊|输出(inout)、缓冲和。
5.VHDL的顺序语句只能出现在进程、函数、过程中,是按程序书写顺序⾃上⽽下,⼀条⼀条地执⾏。
6.VHDL的块语句是并⾏语句结构,它的内部是由并⾏语句构成的7.VHDL的变量(VARIABLE)是⼀种局部量,只能在进程、函数和过程中声明和使⽤。
8.MAX+plusII⽀持⽂本、原理图、波形、符号编辑等不同的编辑⽅式。
9.MAX+plusII⼯具软件有功能、时序、仿真等功能。
10.MAX—PLUSⅡ的波形编辑⽂件分波形输⼊和波形仿真,它们的⽂件扩展名分别是W D F 和S C F。
11.VHDL的实体声明部分指定了设计单元的输⼊输出端⼝,它是设计实体对外的通信界⾯,是外界可以看到的部分。
12.CPLD和FPGA的含义分别是复杂可编程逻辑器件,现场可编程门阵列。
13.在VHDL中,含WAIT语句的进程Process的括号不能再加敏感量 ,否则是⾮法的.14.VHDL的Process(进程)语句是由顺序语句组成的,但其本⾝却是并发语句结构。
15.VHDL的⼦程序有函数和过程两种类型。
16.在VHDL中,标准逻辑位数据有 0和1种逻辑值。
17.MAX—PLUSⅡ的仿真分功能仿真和时序仿真。
18.VHDL的变量(VARIABLE)是⼀个功能变量,只能在进程、函数和过程中声明和使⽤。
19.VHDL的数据对象包括常数、变量、信号和⽂件。
20. 实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。
20.VHDL语⾔的字符是以字母的下划线括起来的数字、字母和符号。
vhdl期末考试复习提纲(考点大全)
Vhdl复习考试题型:单项选择题:(10*2=20分)简答题:(5*4=20分,每小题5分)判断改错题:(2*5=20分)综合题:(共50分)VHDL 大小写不敏感实体(Entity)描述此设计功能输入输出端口(Port)在层次化设计时,Port为模块之间的接口在芯片级,则代表具体芯片的管脚Entity eqcomp4 isport(a, b: in std_logic_vector(3 downto 0);equal:out std_logic);end eqcomp4;实体--端口的模式输入(Input)输出(Output)双向(Inout):可代替所有其他模式,但降低了程序的可读性,一般用于与CPU的数据总线接口缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号结构体(Architecture)描述实体的行为结构体有三种描述方式-行为描述(behavioral)-数据流描述(dataflow)-结构化描述(structural)结构体--行为描述结构体--数据流描述描述输入信号经过怎样的变换得到输出信号结构体--结构化描述三种描述方式的比较VHDL标识符(Identifiers)•基本标识符由字母、数字和下划线组成•第一个字符必须是字母•最后一个字符不能是下划线•不允许连续2个下划线•保留字(关键字)不能用于标识符•大小写是等效的VHDL数据对象(Data Objects)•常数(Constant)–固定值,不能在程序中被改变–增强程序的可读性,便于修改程序–在综合后,连接到电源和地–可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定Constant data_bus_width: integer := 8;•信号(Signals)–代表连线,Port也是一种信号–没有方向性,可给它赋值,也可当作输入–在Entity中和Architecture中定义–设定的初始值在综合时没有用,只是在仿真时在开始设定一个起始值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.面向FPGA的开发流程;EDA常用的图形设计输入方法,使用EDA
工具的设计输入的两种类型。
答:<1>面向FPGA的开发流程包括:设计输入(图形输入&硬件描述语言文本输入),综合,布线布局(适配),仿真,下载和硬件测试;<2>EDA常用的图形设计输入方法包括:状态图输入、波形图输入和原理图输入等;<3>使用EDA工具的设计输入可分为以下两种类型:图形输入、硬件描述语言文本输入。
2.VHDL、FPGA、SOPC、IP核、PLD、GAL、PLA、PAL、CPLD的英文全
称和中文全称
答:VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit超高速集成电路硬件描述语言)
FPGA(Field Programmable Gate Array元件可编程逻辑门阵
列)
SOPC(System-on-a-Programmable-Chip可编程片上系统)
IP核(Intellectual Property知识产权核)
PLD(Programmable Logic Device可编程逻辑器件)
GAL(Generic Array Logic通用阵列逻辑)
PLA(Programmable Logic Array可编程逻辑阵列)
PAL(Programmable Array Logic可编程化阵列逻辑)
CPLD(Complex Programmable Logic Device复杂可编程逻辑器件)
3.IP核的分类
答:软IP、固IP、硬IP。
4.PLD的发展历程
答:(1)20世纪70年代,熔丝编程的PROM和PLA器件是最早的可编程逻辑器件。
(2)20世纪70年代末,对PLA进行了改进,AMD公司推出PAL 器件。
(3)20世纪80年代初,Lattice公司发明电可擦写、比PAL 使用更灵活的GAL器件。
(4)20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出了世界上第一片FPGA器件。
用一时期,Altera公司推出EPLD器件,较GAL器件有更高的集成度,可以用紫外线或电擦除。
(5)20世纪80年代末,Lattice公司推出一系列具备在系统可编程能力的CPLD器件,将可编程逻辑器件的性能和应用技术推向了一个全新的高度。
(6)进入20世纪90年代后,可编程逻辑集成电路技术进入飞速发展时期。
期间的可用逻辑门数已达百万,并出现了内嵌复杂功能模块(如乘法器、RAM、CPU核、DSP核、PLL等)的FPGA。
(7)进入20世纪后,可编程逻辑集成电路的规模和集成度更有了巨大的进步。
利用FPGA方便地实现片上系统(SOC、SOPC)设计已变得十分容易。
5.PLD的分类
答:低集成度芯片:(PROM、PLA、PAL、GAL可用逻辑门数载500以下)
高集成度芯片:(CPLD、FPGA)
6.熔丝和反熔丝编程的区别
答:熔丝和反熔丝编程区别在于前者是烧断对应熔丝达到编程目的而后者是通过击穿漏层使得两点间获得导通来达到编程目的
7.CPLD的MAX7000系列器件包含的主要部分
答:MAX7000主要包含5个主要组成部分:逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列和I/O控制块。
8.Alter的Cyclone系列器件的组成
答:Cyclone器件主要是由逻辑阵列块(LAB)、嵌入式存储器块、I/O单元和PLL等模块构成
9.STD_LOGIC定义了哪九种数据
答:STD_LOGIC所定义的9种数据的含义是:‘U’表示未初始化的;
‘X’表示强未知的;‘0’表示强逻辑0;‘1’表示强逻辑1;‘Z’表示高阻态;‘W’表示若未知的;‘L’表示弱逻辑0;‘H’表示弱逻辑1;‘-’表示忽略。
10.检测时钟上升沿可用哪些语句
答:表示时钟上升沿有:CLK’EVENT AND CLK=‘1’、rising_edge()、CLK=‘0’ AND CLK’LAST_VALUE=‘1’
11.信号与变量的异同点
答:信号赋值至少要有δ延时;而变量赋值没有。
信号除当前值外有许多相关的信息,如历史信息和投影波形;
而变量只有当前值。
进程对信号敏感而不对变量敏感。
信号可以是多个进程的全局信号;而变量只在定义他们的顺序域可见(共享变量除外)。
信号是硬件中连线的抽象描述,他们的功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件。
变量在硬件中没有类似的对应关系,他们用于硬件特性的高层次建模所需要的计算中。
12.进程语句的结构组成
答:进程语句(Process)主要包含三个部分:进程说明部分、顺序语句描述部分和敏感信号表。
13.仿真延时的两类模型及区别
答:仿真延时的两类模型为:固有延时和传输延时:两者不同点在于传输延时表达的是输入之间的一种绝对延时关系。
14.类型定义语句TYPE和子类型定义语句SUBTYPE的区别
答:子类型定义语句SUBTYPE属于类型定义语句TYPE的子集,只是在原有数据类型中起约束作用,而并没有定义新的类型。
15.常用的状态机程序通常包括几个程序?
答:状态机一般都包含说明部分、主控时序进程、主控组合进程、辅助进程
16.VHDL设计的状态机的分类形式
答:从状态机的信号输出方式上分:有Mealy型和Moore型两种状态机
从结构上分:单进程状态机和多进程状态机
从状态表达式上分:符号化状态机和确定状态编码的状态机
从编码方式上分:有顺序编码状态机、一位热码编码状态机或其他编码方式状态机。
17.VHDL六类基本顺序语句
答:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句和空操作语句。
18.赋值语句的种类及基本组成部分
答:赋值语句有两种:信号赋值语句和变量赋值语句;每一种赋值语句都由3个基本部分组成:赋值目标、赋值符号和赋值源。
19.CASE语句的选择值的4种不同表达方式
答:CASE语句的四种不同表达方式:
单个普通数值并列数值
数值选择范围混合方式
20.结构体中可综合的并行语句包括哪几种?
答:并行信号赋值语句进程语句
块语句条件信号赋值语句
元件例化语句(包括类属配置语句)
生成语句并行过程调用语句
参数传递映射语句端口说明语句
21.并行信号赋值语句有哪几种形式?
答:简单信号赋值语句;条件信号赋值语句;选择信号赋值语句。
22.综合器支持的属性有哪些?
答:综合器支持的属性有 LEFT、RIGHT、HIGH、LOW、RANGE、
REVERS RANGE、LENGTH、EVENT、及STABLE等
23.函数定义的组成部分
答:函数定义由两部分组成:函数首和函数体
24.IEEE库的类型及转换函数
答:IEEE库的数据类型及转换函数见P262 表8-1
25.VHDL的常用库及程序包
答:VHDL常用库有IEEE库、STD库、WORK库及VITAL库等。
常用的预定义的程序包:
STD_LOGIC_1164 STD_LOGIC_ARITH STD_LOGIC_UNSIGNED
STD_LOGIC_SIGNED STANDARD和TEXTIO
26.VHDL的数据类型可分为哪几类?
答:布尔(BOOLEAN)类型位(BIT)位矢量(BIT_VECTOR)字符(CHARACTER)整数(INTEGER)实数(REAL)字符串(STRING)时间(TIME)文件(FILES)
27.VHDL的文字规则(详见8.7)
28.VHDL的操作符有哪几类?各操作符的功能。
(详见8.9)
程序(参照书上体会变成算法,记忆基本格式,注意程序开头的各种库调用语句,和声明语句):
1.半加器和全加器设计的VHDL描述
2.计数器设计的VHDL描述
3.算术逻辑单元的VHDL描述
4.8位右移移位寄存器的VHDL描述
5.状态机
6.选择信号赋值语句。