模拟考试卷(1)一、单项选择题:(20分)1.大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是_______C。A.CPLD即是现场可编程逻辑器件的英文简称;B.CPLD是基于查找表结构的可编程逻辑器件;C.早期的CPLD是从GAL的结构扩展而来;D.在Altera公司生产的器件中,FLEX10K系列属CPLD结构;2.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,_________C是错误的。A.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;B.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的;C.综合是纯软件的转换过程,与器件硬件结构无关;D.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。3.IP核在EDA技术和开发中具有十分重要的地位,IP分软IP、固IP、硬IP;下列所描述的IP核中,对于硬IP的正确描述为__________B。A.提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路;B.提供设计的最总产品----掩膜;C.以网表文件的形式提交用户,完成了综合的功能块;D.都不是。4.基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→________→综合→适配→__________B→编程下载→硬件测试。①功能仿真②时序仿真③逻辑综合④配置⑤引脚锁定A.③①B.①②C.④⑤D.④②5.下面对利用原理图输入设计方法进行数字电路系统设计,那一种说法是不正确的______B。A.原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;B.原理图输入设计方法无法对电路进行功能描述;C.原理图输入设计方法一般是一种自底向上的设计方法;D.原理图输入设计方法也可进行层次化设计。6.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是_______A。A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。B.敏感信号参数表中,应列出进程中使用的所有输入信号;C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成;D.当前进程中声明的信号也可用于其他进程。7.嵌套使用IF语句,其综合结果可实现________A。A.带优先级且条件相与的逻辑电路;B.条件相或的逻辑电路;C.三态控制电路;D.双向控制电路。8.电子系统设计优化,主要考虑提高资源利用率减少功耗----即面积优化,以及提高运行速度----即速度优化;指出下列那种方法不属于速度优化:___________A。A.资源共享B.流水线设计C.寄存器配平D.关键路径法9.在一个VHDL设计中idata是一个信号,数据类型为integer,下面哪个赋值语句是不正确的________D。A.idata=16#20#;B.idata=32;C.idata=16#A#E1;D.idata=B#1010#;10.下列EDA软件中,哪一不具有时序仿真功能:________D。A.Max+PlusIIB.QuartusIIC.ModelSimD.Synplify第1页共3页二、EDA名词解释,写出下列缩写的中文(或者英文)含义:(10分)1.CPLD复杂可编程逻辑器件2.HDL硬件描述语言3.JTAG联合测试行动小组4.ASIC专用集成电路5.SOC片上可编程系统三、VHDL程序填空:(10分)下面程序是带异步复位、同步置数和移位使能的8位右移移位寄存器的VHDL描述,试补充完整。libraryieee;useIEEE.STD_LOGIC_1164.all;entitysreg8bisport(clk,rst:instd_logic;load,en:instd_logic;din:instd_logic_vector(7downto0);qb:outstd_logic);endsreg8b;architecturebehavofsreg8bissignalreg8:std_logic_vector(7downto0);beginprocess(clk,rst,load,en)beginifrst='1'then――异步清零reg8=(others=‘0’);elsifCLK'EVENTANDCLK='1'then――边沿检测ifload='1'then――同步置数reg8=din;elsifen='1'then――移位使能reg8(6downto0)=reg8(7downto1);endif;endif;endprocess;qb=reg8(0);――输出最低位endbehav;四、VHDL程序改错:(10分)仔细阅读下列程序,回答问题LIBRARYIEEE;--1USEIEEE.STD_LOGIC_1164.ALL;--2ENTITYLED7SEGIS--3PORT(A:INSTD_LOGIC_VECTOR(3DOWNTO0);--4CLK:INSTD_LOGIC;--5LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));--6ENDLED7SEG;--7ARCHITECTUREoneOFLED7SEGIS--8SIGNALTMP:STD_LOGIC;--9BEGIN--10SYNC:PROCESS(CLK,A)--11BEGIN--12IFCLK'EVENTANDCLK='1'THEN--13TMP=A;--14ENDIF;--15ENDPROCESS;--16OUTLED:PROCESS(TMP)--17BEGIN--18CASETMPIS--19WHEN0000=LED7S=0111111;--20WHEN0001=LED7S=0000110;--21WHEN0010=LED7S=1011011;--22WHEN0011=LED7S=1001111;--23WHEN0100=LED7S=1100110;--24WHEN0101=LED7S=1101101;--25WHEN0110=LED7S=1111101;--26WHEN0111=LED7S=0000111;--27WHEN1000=LED7S=1111111;--28WHEN1001=LED7S=1101111;--29ENDCASE;--30ENDPROCESS;--31ENDone;1.在程序中存在两处错误,试指出,并说明理由:在MAX+PlusII中编译时,提示的错误为:Error:Line14:Filef:\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:Typeerror:typeinwaveformelementmustbestd_ulogicError:Line19:Filef:\upload\eda\maxplusii\my_proj\s8_5\led7seg.vhd:VHDLsyntaxerror:expectedchoicesincasestatement14行数据类型不一致19行CASE语句情况没有写全2.修改相应行的程序(如果是缺少语句请指出大致的行数):错误1行号:9程序改为:SIGNALTMP:STD_LOGIC_VECTOR(3DOWNTO0);错误2行号:30程序改为:插入WHENOTHERS=NULL;第2页共3页五、VHDL程序设计:(15分)设计一数据选择器MUX,其系统模块图和功能表如下图所示。试采用下面三种方式中的两种来描述该数据选择器MUX的结构体。MUXSEL(1:0)AIN(1:0)BIN(1:0)COUT(1:0)SELCOUT00011011OTHERSAxorBAorBAnorBAnandB“XX”(a)用if语句。(b)用case语句。(c)用whenelse语句。Libraryieee;Useieee.std_logic_1164.all;EntitymymuxisPort(sel:instd_logic_vector(1downto0);--选择信号输入Ain,Bin:instd_logic_vector(1downto0);--数据输入Cout:outstd_logic_vector(1downto0));Endmymux;ArchitectureoneofmymuxisBeginProcess(sel,ain,bin)BeginIfsel=“00”thencout=ainorbin;Elsifsel=“01”thencout=ainxorbin;Elsifsel=“10”thencout=ainandbin;Elsecout=ainnorbin;Endif;Endprocess;Endone;ArchitecturetwoofmymuxisBeginProcess(sel,ain,bin)BeginCaseseliswhen“00”=cout=ainorbin;when“01”=cout=ainxorbin;when“10”=cout=ainandbin;whenothers=cout=ainnorbin;Endcase;Endprocess;Endtwo;ArchitecturethreeofmymuxisBeginCout=ainorbinwhensel=“00”elseAinxorbinwhensel=“01”elseAinandbinwhensel=“10”elseainnorbin;Endthree;六、根据原理图写出相应的VHDL程序:(15分)Libraryieee;Useieee.std_logic_1164.all;EntityttyisPort(ain,bin,cin:instd_logic;Cout:outstd_logic);Endtty;ARCHITECTUREoneOFttyISSIGNALd,e,f:STD_LOGIC;BeginPROCESS(ain,bin,clk)BEGINIFCLK'EVENTANDCLK='1'THENd=ain;e=bin;ENDIF;ENDPROCESS;F=dxorePROCESS(f,clk)BEGINIFCLK'EVENTANDCLK='0'THENCout=f;ENDIF;ENDPROCESS;Endtty;第3页共3页薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿