您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA复习题及部分答案
1二、名词解释,写出下列缩写的中文(或者英文)含义:1.FPGAField-ProgrammableGateArray现场可编程门阵列2VHDLVery-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)甚高速集成电路硬件描述语言3HDLHardwareDescriptionLanguage硬件描述语言5CPLDComplexProgrammableLogicDevice复杂可编程逻辑器件6PLDProgrammableLogicDevice可编程逻辑器件7GALgenericarraylogic通用阵列逻辑8.LABLogicArrayBlock逻辑阵列块9.CLBConfigurableLogicBlock可配置逻辑模块10EABEmbeddedArrayBlock嵌入式阵列块11SOPCSystem-on-a-Programmable-Chip可编程片上系统12.LUTLook-UpTable查找表13.JTAGJointTestActionGroup联合测试行为组织14.IPIntellectualProperty知识产15.ASICApplicationSpecificIntegratedCircuits专用集成电路16.ISPInSystemProgrammable在系统可编程17.ICR在电路可重构18.RTL寄存器传输19.EDA电子设计自动化试题一一、简答题第1题:EDA的工程设计流程。第2题:FPGA和CPLD的开发应用选择应考虑哪些问题?第3题:从适用范围、进程中的赋值行为特性、赋值语句的语法格式三方面比较“变量”与“信号”。第4题:(a)如何描述时钟边沿?(b)VHDL程序代码中的--的语义是什么?(c)若要使用别的设计者的程序包应当怎么做?2二、程序题第1题:分析下列程序段是否有错,如果有请说明错误原因。程序段1:SIGNALvalue:INTEGERRANGE0TO15;SIGNALout1:STD_LOGIC;CASEvalueISWHEN0TO10=out1='1';WHEN10TO15=out1='0';当value取十时ENDCASE;程序段2:ARCHITECTUREbadOFexISSIGNALa_vect:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALb_vect:STD_LOGIC_VECTOR(3DOWNTO0);BEGIN‘0’&a=b;END;程序段3:IFsel=’1’THENC=“01”;ELSIFJohn=”100”THENC=”10”;ELSEc=”00”;ELSEC=”11”;ENDIF;第2题:判断下列VHDL标识符是否合法,如果有误则指出原因。(1)_Decoder_1;(2)2FFT;(3)Sig_#N;(4)RyY_RsT_;(5)data__BUS;第3题:下面的赋值语句执行之后矢量a,b将分别得到什么值?ARCHITECTURErtlOFexISSIGNALa,b:STD_LOGIC_VECTOR(4downto0);SIGNALc:STD)LOGIC_VECTOR(0to2);BEGINa=(1='0',2='1',4='1',others=b(4));a的第一赋值为’0’,二四位赋值为’1’,其他位(0,3位)赋值为b的第四位0,其结果为101003b=(0='1',2='0',3='1',others=c(1));b的第0三位赋值为’1’,第二位赋值为‘0’,其他位(1,4位)赋值为c的第一位0,结果为01001c=001;end;第4题:对下面的功能写一个实体(Component_A)和一个结构体(rtl),数据类型全部指定为标准逻辑位。d_out=(a_inandb_in)andc_in;第5题:用TYPE语句定义一个具有16个元素的数组数据类型ST1,数组中的每一个元素的数据类型为标准逻辑位;用SUBTYPE语句定义整数数据类型的一个子集digits,其取值范围约束到0到9。(8分)第6题:用if语句设计一个元件,下图表示其输入和输出(括号中为其取值),该元件应当有右表所示的行为。第7题:分析下面程序,简要说明程序运行过程及实现的功能,假设A不等于B。SIGNALa,b:STD_LOGIC_VECTOR(1DOWNTO0);(8分)SIGNALa_less_then_b:BOOLEAN;...a_less_then_b=FALSE;FORiIN1DOWNTO0LOOPIF(a(i)='1'ANDb(i)='0')THENa_less_then_b=FALSE;EXIT;ELSIF(a(i)='0'ANDb(i)='1')THENa_less_then_b=TRUE;EXIT;ELSENULL;ENDIF;ENDLOOP;第8题:从“进程中的信号与变量的赋值不同”来分析下列两个程序例,两个程序综合后各产生了多少个锁存器,说明其原因。Selq00011011othersaxorbaorbanorbaandb'XX'4例1:ENTITYreg1ISPORT(d:inBIT;Clk:inBIT;Q:outBIT);ENDreg1;ARCHITECTUREreg1OFreg1ISSIGNALa,b:BIT;BEGINPROCESS(clk)BEGINIFclk='1'ANDclk’eventTHENa=d;b=a;q=b;ENDIF;ENDPROCESS;ENDreg1;例2:ENTITYreg1ISPORT(d:inBIT;clk:inBIT;q:outBIT);ENDreg1;ARCHITECTUREreg1OFreg1ISBEGINPROCESS(clk)VARIABLEa,b:BIT;BEGINIFclk='1'ANDclk’eventTHENa:=d;b:=a;q=b;ENDIF;ENDPROCESS;ENDreg1;第9题:用有限状态机设计一个可复位的序列检测器,当序列检测器连续收到一串二进制码“1101”时,电路输出1,否则输出0。(12分)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.ETD_LOGIC_UNSINGE.ALL;ENTITYZ1101ISPORT(CLK:INSTD_LOGIC;5Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREBHVOFZ1101ISTYPESTATEIS(STO,ST1)【实验7】用状态机实现序列检测器的设计1、实验目的:用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。2、实验原理:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例4描述的电路完成对序列数11100101的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“B”。【例4】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSCHKISPORT(DIN,CLK,CLR:INSTD_LOGIC;--串行输入数据位/工作时钟/复位信号AB:OUTSTD_LOGIC_VECTOR(3DOWNTO0));--检测结果输出ENDSCHK;ARCHITECTUREbehavOFSCHKISSIGNALQ:INTEGERRANGE0TO8;SIGNALD:STD_LOGIC_VECTOR(7DOWNTO0);--8位待检测预置数BEGIND=11100101;--8位待检测预置数PROCESS(CLK,CLR)BEGINIFCLR='1'THENQ=0;ELSIFCLK'EVENTANDCLK='1'THEN--时钟到来时,判断并处理当前输入的位CASEQISWHEN0=IFDIN=D(7)THENQ=1;ELSEQ=0;ENDIF;WHEN1=IFDIN=D(6)THENQ=2;ELSEQ=0;ENDIF;WHEN2=IFDIN=D(5)THENQ=3;ELSEQ=0;ENDIF;6WHEN3=IFDIN=D(4)THENQ=4;ELSEQ=0;ENDIF;WHEN4=IFDIN=D(3)THENQ=5;ELSEQ=0;ENDIF;WHEN5=IFDIN=D(2)THENQ=6;ELSEQ=0;ENDIF;WHEN6=IFDIN=D(1)THENQ=7;ELSEQ=0;ENDIF;WHEN7=IFDIN=D(0)THENQ=8;ELSEQ=0;ENDIF;WHENOTHERS=Q=0;ENDCASE;ENDIF;ENDPROCESS;PROCESS(Q)--检测结果判断输出BEGINIFQ=8THENAB=1010;--序列数检测正确,输出“A”ELSEAB=1011;--序列数检测错误,输出“B”ENDIF;ENDPROCESS;ENDbehav;第十题:0000—1101循环LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.ETD_LOGIC_UNSINGE.ALL;ENTITYZ1101ISPORT(CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREBHVOFZ1101ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0));BEGINPROCESS(CLK)BEGINIFCLK’EVENTANDCLK=’1’THENIFQ11101THENQ1=Q1+1;ELESQ1=(OTHER=’0’;ENDIF;7ENDPROCESS;Q=Q1;ENDBHV8试题二一、简答题第1题:EDA技术的主要内容。第2题:FPGA的配置模式有哪些?第3题:说明端口模式INOUT和BUFFER有何异同点?第4题:(a)数据类型bit在哪个库中定义?(b)哪个(哪些)库和程序包总是可见的?二、程序题第1题:下列程序段是否有错,如果有请说明错误原因。(共9分)程序段1:(3分)SIGNALvalue:INTEGERRANGE0TO15;SIGNALout1:STD_LOGIC;CASEvalueISWHEN0=out1='1';WHEN1=out1='0';2到15值未包括进去ENDCASE程序段2:(3分)ARCHITECTUREbadOFexISSIGNALa_vect:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALb_vect:STD_LOGIC_VECTOR(3DOWNTO0);BEGINa=b;END;程序段3:ENTITYcase_exISPORT(a:INSTD_LOGIC_VECTOR(4DOWNTO0);q:outSTD_LOGIC_VECTOR(2DOWNTO0));END;ARCHITECTURErtlOFcase_exISBEGINP1:PROCESS(a)BEGINCASEaISWHEN“00000”=q=”011”;WHEN”00001”TO“11110”=q=”010”;WHENOTHERS=q=”000”;ENDCASE;ENDPROCESS;9第2题:判断下列VHDL标识符是否合法,如果有误则指出原因。(1)return;(2)3FFT;(3)Sig_*N;(4)ReY_RtT_;(5)Sig__BUS;第3题:下面的赋值
本文标题:EDA复习题及部分答案
链接地址:https://www.777doc.com/doc-3154961 .html