您好,欢迎访问三七文档
12009/2010学年第一学期末考试试题答案及评分标准(A卷)一、填空题(20分,每空格1分)1、一个完整的VHDL语言程序通常包含实体(entity),构造体(architecture),配置(configuration),包集合(package)和库(library)5各部分。2、在一个实体的端口方向说明时,输入使用in表示,那么构造体内部不能再使用的输出是用out表示;双向端口是用inout表示;构造体内部可再次使用的输出是用buffer表示;3、一个构造体可以使用几个子结构,即相对比较独立的几个模块来构成。VHDL语言可以有以下3种形式的子结构描述语句:BLOCK语句结构;PROCESS语句结构和SUBPROGRAMS结构。4、VHDL的客体,或称数据对象包括了常数、变量variable和信号signal。5、请列出三个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量。6、设D0为'0',D1为'0',D2为'1',D3为'0',D0&D1&D2&D3的运算结果是“0010”,D3&D2&D1&D0的运算结果是“0100”。7、构造体的描述方式包括三种,分别是寄存器传输(RTL)描述方法或称数据流;构造体的结构描述方式和构造体的行为描述方式。得分二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)1、传统的系统硬件设计方法是采用自上而下(topdown)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottomup)的设计方法。(×)传统的系统硬件设计方法是采用自下而上(bottomup)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(topdown)的设计方法得分22、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体(√)3、一个VHAL程序中仅能使用一个进程(process)语句。(×)可以使用多个进程语句。4、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。(×)逻辑运算符关系运算符乘法运算得分三、判断题(10分)useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;以上库和程序包语句有无错误?有,有的话请在原程序相应位置改正。(2)entityromisport(addr:instd_logic_vector(0to3);ce:instd_logic;data:outstd_logic_vector(7downto0););endrom;以上port语句有无错误?有,有的话请在原程序相应位置改正。(4)architecturebehaveofromisbeginprocess(ce,addr)beginifce='0'then(6)libraryieee;3caseaddriswhen0000=data=10001001;when0001=data=10001010;when0010=data=10001011;when0011=data=10001100;when0100=data=10001101;when0101=data=10001110;when0110=data=10001111;when0111=data=10010000;when1000=data=10010001;when1001=data=10010010;when1010=data=10010011;when1011=data=10010100;when1100=data=10010101;when1101=data=10010110;when1110=data=10010111;whenothers=|data=10011000;|endcase;(8)elsedata=00000000;endif;endprocess;(10)endbehave;以上architecture中有哪些错误?请在原程序相应位置改正。得分四、编程题(共50分)1、请补全以下二选一VHDL程序(本题10分)Entitymuxisport(d0,d1,sel:inbit;q:outBIT);(2)endmux;architectureconnectofMUXis(4)signaltmp1,TMP2,tmp3:bit;(6)begincale:4blockbegintmp1=d0andsel;tmp2=d1and(notsel)tmp3=tmp1andtmp2;q=tmp3;(8)endblockcale;endCONNECT;(10)2、编写一个2输入与门的VHDL程序,请写出库、程序包、实体、构造体相关语句,将端口定义为标准逻辑型数据结构(本题10分)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;(2)ENTITYnand2ISPORT(a,b:INSTD_LOGIC;(4)y:OUTSTD_LOGIC);(6)ENDnand2;ARCHITECTUREnand2_1OFnand2IS(8)BEGINy=aNANDb;--与y=NOT(aANDb);等价(10)ENDnand2_1;3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。&aby5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_3_to_8ISPORT(a,b,c,g1,g2a,g2b:INSTD_LOGIC;y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));(2)ENDdecoder_3_to_8;ARCHITECTURErtlOFdecoder_3_to_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);(4)BEGINindata=c&b&a;(6)PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THEN(8)CASEindataISWHEN000=y=11111110;WHEN001=y=11111101;WHEN010=y=11111011;(10)WHEN011=y=11110111;WHEN100=y=11101111;WHEN101=y=11011111;WHEN110=y=10111111;(12)WHEN111=y=01111111;6WHENOTHERS=y=XXXXXXXX;ENDCASE;ELSEy=11111111;(14)ENDIF;ENDPROCESS;(16)ENDrtl;4、三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。(本题14分)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtri_gateISPORT(din,en:INSTD_LOGIC;dout:OUTSTD_LOGIC);ENDtri_gate;ARCHITECTUREzasOFtri_gateISBEGINPROCESS(din,en)BEGINIF(en=‘1')THENdout=din;ELSEdout=‘Z’;ENDIF;ENDPROCESS;ENDzas;72008/2009学年第一学期末考试试题答案及评分标准(A卷)一、填空题(20分,每空格1分)1、试举出两种可编程逻辑器件CPLD、FPGA。2、VHDL程序的基本结构包括库、程序包、实体和结构体。3、more__11标识符合法吗?不合法。8bit标识符合法吗?不合法。variable标识符合法吗?不合法。4、信号的代入通常用=,变量用:=。5、表示‘0’‘1’;两值逻辑的数据类型是bit(位),表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic(标准逻辑),表示空操作的数据类型是NULL。6、定义一个信号a,数据类型为4位标准逻辑向量signala:std_logic_vector(3downto0)定义一个变量b,数据类型为2位位向量variableb:bit_vector(1downto0)。7、=是小于等于关系运算符,又是赋值运算操作符。8、设D0为'1',D1为'0',D2为'1',D3为'0',D3&D2&D1&D0的运算结果是“0101”,D1&D2&D3&D4的运算结果是“1010”。得分二、判断对错并给出判断依据(20分,每小题5分,判断对错2分,给出正确答案3分)1、进程语句中,不管在何时,process语句后面必须列出敏感信号(×)包含wait语句的进程语句可不列出敏感信号。得分82、VHDL语言与计算机C语言的没有差别。(×)运行的基础–计算机语言是在CPU+RAM构建的平台上运行–VHDL设计的结果是由具体的逻辑、触发器组成的数字电路执行方式–计算机语言基本上以串行的方式执行–VHDL在总体上是以并行方式工作验证方式–计算机语言主要关注于变量值的变化–VHDL要实现严格的时序逻辑关系3、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。(×)“变量(VARIABLES)”改为“信号”。4、Moore状态机输出只是状态机当前状态的函数,Mealy状态机输出为有限状态机当前值和输入值的函数(√)得分三、判断题(10分)libraryieee;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;以上库和程序包语句有无错误?有,有的话请在原程序相应位置改正。(2)entityromisport(addr:instd_logic_vector(0to3);ce:instd_logic;data:outstd_logic_vector(7downto0);)endrom;useieee.std_logic_1164.all;9以上port语句有无错误?有,有的话请在原程序相应位置改正。(4)architecturebehaveofromisbeginprocess(ce,addr)(6)beginifce='0'thencaseaddriswhen0000=data=10001001;when0001=data=10001010;when0010=data=10001011;when0011=data=10001100;when0100=data=10001101;when0101=data=10001110;when0110=data=10001111;when0111=data=10010000;when1000=data=10010001;when1001=data=10010010;when1010=data=10010011;when1011=data=10010100;when1100=data=10010101;when1101=data=10010110;when1110=data=10010111;whenothers=data=10011000;endcase;elsedata:=00000000;--data=“00000000”;(8)endif;(10)endprocess;endbehave;以上architecture中有哪些错误?请在原程序相应位置改正。得分四、编程题(共50分)101、根据一下四选一程序的结构体部分,完成实体程序部分(本题8分)entityMUX4isport((2)s:instd_logic_vector(1downto0);(4)d:instd_logic_vector(3downto0);(6)y
本文标题:VHDL试卷
链接地址:https://www.777doc.com/doc-5592275 .html