您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > EDA技术—VHDL版期末试卷(含答案)
第1页(共6页)班级学号姓名密封线内不得答题2010—2011学年第一学期期末考试试卷(闭卷)年级2008专业信息处理与交换(本)课程名称EDA技术基础教师出题时请勿超出边界虚线;2、学生答题前将密封线外的内容填写清楚,答题不得超出密封线;3、答题请用蓝、黑钢笔或圆珠笔。一、单项选择题(30分)1.以下描述错误的是CA.QuartusII是Altera提供的FPGA/CPLD集成开发环境B.Altera是世界上最大的可编程逻辑器件供应商之一C.MAX+plusII是Altera前一代FPGA/CPLD集成开发环境QuartusII的更新换代新产品D.QuartusII完全支持VHDL、Verilog的设计流程2.以下工具中属于FPGA/CPLD开发工具中的专用综合器的是BA.ModelSimB.LeonardoSpectrumC.ActiveHDLD.QuartusII3.以下器件中属于Xilinx公司生产的是CA.ispLSI系列器件B.MAX系列器件C.XC9500系列器件D.FLEX系列器件4.以下关于信号和变量的描述中错误的是BA.信号是描述硬件系统的基本数据对象,它的性质类似于连接线B.信号的定义范围是结构体、进程C.除了没有方向说明以外,信号与实体的端口概念是一致的D.在进程中不能将变量列入敏感信号列表中5.以下关于状态机的描述中正确的是BA.Moore型状态机其输出是当前状态和所有输入的函数B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数D.以上都不对6.下列标识符中,B是不合法的标识符。A.PP0B.ENDC.Not_AckD.sig7.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是C。A.CPLD即是现场可编程逻辑器件的英文简称B.CPLD是基于查找表结构的可编程逻辑器件C.早期的CPLD是从GAL的结构扩展而来D.在Altera公司生产的器件中,FLEX10K系列属CPLD结构第2页(共6页)班级学号姓名密封线内不得答题8.综合是EDA设计流程的关键步骤,在下面对综合的描述中,D是错误的。A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)9.嵌套使用IF语句,其综合结果可实现A。A.带优先级且条件相与的逻辑电路B.条件相或的逻辑电路C.三态控制电路D.双向控制电路10.在VHDL语言中,下列对时钟边沿检测描述中,错误的是D。A.ifclk'eventandclk=‘1’thenB.iffalling_edge(clk)thenC.ifclk’eventandclk=‘0’thenD.ifclk’stableandnotclk=‘1’then11.下列那个流程是正确的基于EDA软件的FPGA/CPLD设计流程BA.原理图/HDL文本输入→适配→综合→功能仿真→编程下载→硬件测试B.原理图/HDL文本输入→功能仿真→综合→适配→编程下载→硬件测试C.原理图/HDL文本输入→功能仿真→综合→编程下载→→适配硬件测试;D.原理图/HDL文本输入→功能仿真→适配→编程下载→综合→硬件测试12.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是A。A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动B.敏感信号参数表中,应列出进程中使用的所有输入信号C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成D.当前进程中声明的变量也可用于其他进程13.下列语句中,不属于并行语句的是BA.进程语句B.CASE语句C.元件例化语句D.WHEN…ELSE…语句14.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库DA.IEEE库B.VITAL库C.STD库D.WORK库15.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述D。A.器件外部特性B.器件的第3页(共6页)班级学号姓名密封线内不得答题综合约束C.器件外部特性与内部功能D.器件的内部功能二、EDA名词解释,写出下列缩写的中文含义(10分)1.CPLD:复杂可编程逻辑器件2.ASIC:专用集成电路3.LUT:查找表4.EDA:电子设计自动化5.ROM:只读存储器三、程序填空题(20分)以下是一个模为24(0~23)的8421BCD码加法计数器VHDL描述,请补充完整LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtbISPORT(CLK:INSTD_LOGIC;SHI,GE:OUTINTEGERRANGE0TO9);END;ARCHITECTUREbhvOFtbISSIGNALSHI1,GE1:INTEGERRANGE0TO9;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'thenIFGE1=9THENGE1=0;SHI1=SHI1+1;ELSIFSHI1=2ANDGE1=3THENSHI1=0;GE1=0;ELSEGE1=GE1+1;ENDIF;ENDIF;ENDPROCESS;GE=GE1;SHI=SHI1;ENDbhv;四、程序改错题(仔细阅读下列程序后回答问题,12分)1LIBRARYIEEE;2USEIEEE.STD_LOGIC_1164.ALL;3USEIEEE.STD_LOGIC_UNSIGNED.ALL;4ENTITYgcIS5PORT(CLK:INSTD_LOGIC;6Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));7ENDgc;8ARCHITECTUREbhvOFgcIS9SIGNALQ1:RANGE0TO9;10BEGIN11PROCESS(clk,Q)12BEGIN13IFRISING_EDGE(CLK)THEN14IFQ11001THEN第4页(共6页)班级学号姓名密封线内不得答题15Q1=Q1+1;16ELSE17Q1=(OTHERS='0');18ENDIF;19ENDIF;20ENDPROCESS;21Q=Q1;22ENDbhv;程序编译时,提示的错误为:Error:Line9:Filee:\mywork\test\gc.vhd:VHDLsyntaxerror:subtypeindicationmusthaveresolutionfunctionortypemark,butfoundRANGEinsteadError:Line11:Filee:\mywork\test\gc.vhd:interfaceDeclarationerror:can'treadportQofmodeOUT请回答问题:在程序中存在两处错误,试指出并修改正确(如果是缺少语句请指出应该插入的行号)答:(1)第9行有误,SIGNALQ1:RANGE0TO9数据类型有误,应该改成SIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0)(2)第11行有误,敏感信号列表中不能出现输出端口,应该改成PROCESS(clk)第5页(共6页)班级学号姓名密封线内不得答题五、(28分)1.试用VHDL描述一个外部特性如图所示的D触发器。(10分)参考程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmydffISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFmydffISBEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ=D;ENDIF;ENDPROCESS;END;2.下图为某一状态机对应的状态图,试用VHDL语言描述这一状态机。(18分)S0S1S3S21/10011/11110/11000/0000其它/0000其它/1111其它/1100其它/1001参考程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFSM2ISPORT(clk,reset,in1:INSTD_LOGIC;out1:OUTSTD_LOGIC_VECTOR(3downto0));END;ARCHITECTUREbhvOFFSM2ISTYPEstate_typeIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:state_type;BEGINP1:PROCESS(clk,reset)BEGINIFreset=‘1’THENcurrent_state=s0;ELSIFclk='1'ANDclk'EVENTTHENcurrent_state=next_state;ENDIF;ENDPROCESS;第6页(共6页)班级学号姓名密封线内不得答题P2:PROCESS(current_state)BEGINcasecurrent_stateisWHENs0=IFin1=‘1’THENnext_state=s1;ELSEnext_state=s0;ENDIF;WHENs1=IFin1='0'THENnext_state=S2;ELSEnext_state=s1;ENDIF;WHENs2=IFin1='1'THENnext_state=S3;ELSEnext_state=s2;ENDIF;WHENs3=IFin1='0'THENnext_state=S0;ELSEnext_state=s3;ENDIF;endcase;ENDPROCESS;p3:PROCESS(current_state)BEGINcasecurrent_stateisWHENs0=IFin1=‘1’THENout1=“1001”;ELSEout1=0000;ENDIF;WHENs1=IFin1='0'THENout1=1100;ELSEout1=1001;ENDIF;WHENs2=IFin1='1'THENout1=1111;ELSEout1=1001;ENDIF;WHENs3=IFin1='1'THENout1=0000;ELSEout1=1111;ENDIF;endcase;ENDPROCESS;endbhv;
本文标题:EDA技术—VHDL版期末试卷(含答案)
链接地址:https://www.777doc.com/doc-2910996 .html