您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > VHDL考试试题(1)
一、填空题(20分,每空格1分)1、一个完整的VHDL语言程序通常包含实体(entity),结构体(architecture),配置(configuration),包集合(package)和库(library)5各部分。2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out表示;双向端口是用inout表示;构造体内部可再次使用的输出是用buffer表示;3、VHDL的客体,或称数据对象包括了常数、变量variable和信号signal。4、请列出三个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量。5、VHDL程序的基本结构包括库、程序包、实体和结构体。6、more__11标识符合法吗?不合法。8bit标识符合法吗?不合法。variable标识符合法吗?不合法。7、信号的代入通常用=,变量用:=。8、表示‘0’‘1’;两值逻辑的数据类型是bit(位),表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic(标准逻辑),表示空操作的数据类型是NULL。9、=是小于等于关系运算符,又是赋值运算操作符。10、设D0为'1',D1为'0',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是“0101”,D1&D2&D3&D4的运算结果是“1010”。11、VHDL程序的基本结构至少应包括实体、结构体两部分和对库的引用声明。12、1_Digital标识符合法吗?否,\12@+\呢?合法。13、在VHDL的常用对象中,信号、变量可以被多次赋予不同的值,常量只能在定义时赋值。14、实体的端口模式用来说明数据、信号通过该端口的传输方向,端口模式有in、Out、inout、buffer。15、VHDL语言中std_logic类型取值‘Z’表示高阻,取值‘X’表示不确定。16、位类型的初始化采用(字符/字符串)字符、位矢量用字符串。17、进程必须位于结构体内部,变量必须定义于进程/包/子程序内部。18、并置运算符&的功能是把多个位或位向量合并为一个位向量。19、进程执行的机制是敏感信号发生跳变。20、判断CLK信号上升沿到达的语句是ifclk’eventandclk=‘1’then.21、IF语句各条件间具有不同的优先级。22、VHDL是否区分大小写?不区分。23、digital__8标识符合法吗?不合法。12_bit标识符合法吗?不合法。signal标识符合法吗?不合法。24、结构体有三种描述方式,分别是数据流、行为、和结构化。25、请分别列举一个常用的库和程序包libraryieee、useieee.std_logic_1164.all。26、一个信号处于高阻(三态)时的值在VHDL中描述为‘Z’。27、/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。28、设D0为'0',D1为'1',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是“0110”,(D3orD2)and(D1andnotD0)的运算结果是:‘1’。29、赋值语句是(并行/串行)并行执行的,if语句是(并行/串行)串行执行的。30、8digital标识符合法吗?不合法。31、信号的代入通常用=,变量用:=。32、标准逻辑(std_logic)是一个具有九值逻辑的数据类型。33、定义一个变量a,数据类型为4位位向量variablea:bit_vector(3downto0)。34、=是小于等于关系运算符,又是赋值运算操作符。35、设D0为'1',D1为'1',D2为'1',D3为'0',“1110”是D3&D2&D1&D0的运算结果。36、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)1、传统的系统硬件设计方法是采用自上而下(topdown)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottomup)的设计方法。(×)传统的系统硬件设计方法是采用自下而上(bottomup)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(topdown)的设计方法2、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)3、一个VHAL程序中仅能使用一个进程(process)语句。(×)可以使用多个进程语句。4、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。(×)逻辑运算符关系运算符乘法运算5、进程语句中,不管在何时,process语句后面必须列出敏感信号(×)包含wait语句的进程语句可不列出敏感信号。6、VHDL语言与计算机C语言的没有差别。(×)7、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。(×)“变量(VARIABLES)”改为“信号”。8、CONSTANTT2:std_logic=’0’;(×)改正:把=换为:=。9、若某变量被定义为数值型变量,未赋初始值时默认值为‘0’。(错)改正:把‘0’的单引号去掉。10、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。(错)改正:“变量(VARIABLES)”改为“信号”。libraryieee;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;以上库和程序包语句有无错误?有,有的话请在原程序相应位置改正。(2)entityromisport(addr:instd_logic_vector(0to3);ce:instd_logic;useieee.std_logic_1164.all;data:outstd_logic_vector(7downto0);)endrom;以上port语句有无错误?有,有的话请在原程序相应位置改正。(4)三、简答(20分,每小题5分)1、简述VHDL程序的基本结构。库(1)libraryieee;程序包(2)useieeestd_logic_1164.all;实体(3)entity实体名is结构体(5)architecture结构体名of实体名is若答出配置也可加1分配置2、简述信号与变量的区别。信号延时赋值,变量立即赋值(2)信号的代入使用=,变量的代入使用:=;(4)信号在实际的硬件当中有对应的连线,变量没有(5)3、进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;(1)进程结构中的所有语句都是按顺序执行的;(2)为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;(4)进程之间的通信是通过信号量的传递来实现的。(5)四、编程题(共50分)1、请补全以下二选一VHDL程序(本题10分)Entitymuxisport(d0,d1,sel:inbit;q:outBIT);(2)endmux;architectureconnectofMUXis(4)signaltmp1,TMP2,tmp3:bit;(6)begincale:blockbegintmp1=d0andsel;tmp2=d1and(notsel)tmp3=tmp1andtmp2;q=tmp3;(8)endblockcale;endCONNECT;(10)2、用IF语句编写一个四选一电路,要求输入d0~d3,s为选择端,输出y。(本题10分)entityMUX4isport(s:instd_logic_vector(1downto0);d:instd_logic_vector(3downto0);y:outstd_logic);endMUX4;(3)architecturebehaveofMUX4isbeginprocess(s)beginif(s=00)theny=d(0);(4)elsif(s=01)theny=d(1);(5)elsif(s=10)theny=d(2);(6)elsif(s=11)theny=d(3);(7)elsenull;(9)endif;endprocess;endbehave;(10)
本文标题:VHDL考试试题(1)
链接地址:https://www.777doc.com/doc-5547653 .html