《EDA技术与应用》期末试卷及答案4套_第1页
《EDA技术与应用》期末试卷及答案4套_第2页
《EDA技术与应用》期末试卷及答案4套_第3页
《EDA技术与应用》期末试卷及答案4套_第4页
《EDA技术与应用》期末试卷及答案4套_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订班级学号装订班级学号姓名※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※线第24页,共24页线《EDA技术及应用》试卷A一、填空题(共10分,每题2分)VHDL的基本描述语句包括一系列和两大基本描述语句。EDA技术的应用范畴包括、、计算机辅助测试CAT、计算机辅助工程CAE等。实体定义中的端口模式用来说明端口上的数据流动方向,端口模式有以下几种、、INOUT、BUFFER。在逻辑综合中,VHDL常用的数据对象为、、和常量。VHDL设计文件必须保存在文件夹中,文件夹的命名规则是、。二、解释程序(第1题5分,第2题5分,第3题10分,共20分)解释带有下划线的语句说明该程序逻辑功能改用CASE语句编写下列程序。LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan1isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan1;architectureaofxuan1isbeginwithselselectd<=a(0)when"00",a(1)when"01",a(2)when"10",a(3)whenothers;enda;三、判断下列程序是否有错误,如有则指出错误所在,并修改程序。(20分)程序一:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYencoderISPORT(d:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDencoder;ARCHITECTUREbehOFencoderISBEGINIFd(7)=’0’THENy<=‘000’;ELSIFd(6)=’0’THENy<=‘001’;ELSIFd(5)=’0’THENy<=‘010’;ELSIFd(4)=’0’THENy<=‘011’;ELSIFd(3)=’0’THENy<=‘100’;ELSIFd(2)=’0’THENy<=‘101’;ELSIFd(1)=’0’THENy<=‘110’;ELSIFd(0)=’0’THENy<=‘111’;ENDIF;ENDbeh;程序二:ENTITYgatesISPORT(a,b:INBIT;y1,y2:OUTBIT);ARCHITECTUREbehOFgatesISBEGINy1<=aANDb--构成与门y2<=aORb--构成或门ENDbeh;四、分析下列程序功能,并将程序补充完整。(10分)Libraryieee;Useieee.std_logic_1164.all;EntitycountbasicisPort(clk:instd_logic;Q:out);Endcountbasic;ArchitectureaofcountbasicisBeginProcess():std_logic_vector(3downto0);BeginIfclk’eventandclk=‘1’thenEndif;Q<=qtmp;Endprocess;Enda;五、用VHDL编程设计一个七段显示译码器sevenv,用于驱动1个共阴极数码管。该电路的8421BDC输入为d,译码后的七段输出为a-g。(20分)六、简答题(20分)1、VHDL程序有哪些基本的部分?各部分起什么作用?2、BIT数据类型和STD_LOGIC数据类型有何区别?《EDA技术与应用》试卷B一、填空题(共10分,每题2分)EDA技术的应用范畴包括计算机辅助设计CAD、计算机辅助制造CAM、、等。实体定义中的端口模式用来说明端口上的数据流动方向,端口模式有以下几种IN、OUT、、。可编程逻辑器件按照结构复杂程度的不同,可将PLD大致分为简单可编程逻辑器件、、。信号的赋值采用符号,而变量的赋值符号为。进程语句本身是,但其内部的语句是由构成的。二、解释程序(第1题5分,第2题5分,第3题10分,共20分)1解释带有下划线的语句2说明该程序逻辑功能3改用WITH-SELECT语句编写下列程序。LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan2isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan2;architectureaofxuan2isbeginprocess(sel)begincaseseliswhen"00"=>d<=a(0);when"01"=>d<=a(1);when"10"=>d<=a(2);whenothers=>d<=a(3);endcase;endprocess;enda;三、判断下列程序是否有错误,如有则指出错误所在,并修改程序。(20分)程序一:ENTITYdecoder3_8ISPORT(a:INBIT_VECTOR(2DOWNTO0);y:OUTBIT_VECTOR(7DOWNTO0));ENDdecoder3_8;ARCHITECTUREbehOFdecoder3_8ISBEGINWITHaSELECTy<=“11111110”WHEN“000”;“11111101”WHEN“001”;“11111011”WHEN“010”;“11110111”WHEN“011”;“11101111”WHEN“100”;“11011111”WHEN“101”;“10111111”WHEN“110”;“01111111”WHEN“111”;ENDbeh;程序二:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;Entitybehavioralisport(a:inbit;b:inbit;equal:outstd_ulogic);endbehavioral;Architectureeqcomp4ofbehavioralisBegin ifa=bthen equal<='1'; else equal<='0';endeqcomp4;四、分析下列程序功能,并将程序补充完整。(10分)Libraryieee;Useieee.std_logic_1164.all;Entitymulti3isPort(a,b:instd_logic_vector(2downto0);y:outstd_logic_vector);endmulti3;architectureaofmulti3issignaltemp1:std_logic_vector(2downto0);signaltemp2:std_logic_vector(3downto0);begintemp1<=awhenb(0)=‘1’else“000”;temp2<=(a&‘0’)whenb(1)=‘1’else“0000”;y<=temp1+temp2+(‘0’&temp3);五、用VHDL编程设计一个4位二进制数的加/减法器,控制输入端为c,当c=1时,做加法运算;当c=0时,做减法运算。(20分)六、简答题(20分)1、什么是并行语句?什么是顺序语句?两者有何区别?2、信号和变量有何区别?《EDA技术与应用》试卷C填空题(每题2分,共10分)在VHDL中最常用的库是()标准库,最常用的数据包是()数据包。VHDL的实体声明部分指定了设计单元的(),它是设计实体对外的一个通信界面,是外界可以看到的部分。在VHDL的端口声明语句中,端口方向包括()、()、()和()。在用VHDL语言设计电路时,一般要求文件名与()名一致,后缀是()。在VHDL中,标准逻辑位数据有()种逻辑值。选择题(每题2分,共10分)在VHDL的端口声明语句中,用()声明端口为输出方向。A、INB、OUTC、INOUTD、BUFFER在VHDL中,()不能将信息带出对它定义的当前设计单元。A、信号B、常量C、数据D、变量3、在VHDL中,()的数据传输不是立即发生的,目标信号的赋值需要一定的延时时间。信号B、常量C、数据D、变量4、在VHDL中,为目标变量赋值的符号是()。A=:B、=C、:=D、<=5、在下列标识符中,()是VHDL合法的标识符。A、4h_addeB、h_adde_C、h_adderD、_h_adde三、程序分析(每题10分,共40分)要求:将标有下划线语句补充完整(3分)解释后带**的语句(3分)说明该程序逻辑功能(4分)1、程序1LIBRARYieee;USEieee.std_logic_1164.ALL;entityis**port(a:instd_logic_vector(3downto0);sel:;d:outstd_logic);endxuan2;architectureaofxuan2isbeginprocess(sel)begincaseis**when"00"=>d<=a(0);**when"01"=>d<=a(1);when"10"=>d<=a(2);whenothers=>d<=a(3);endcase;endprocess;enda;2、程序2Libraryieee;Useieee.std_logic_1164.all;Entitymulti3isPort(a,b:instd_logic_vector(2downto0);y:);end;architectureaofmulti3issignaltemp1:std_logic_vector(2downto0);signaltemp2:std_logic_vector(3downto0);signaltemp3:std_logic_vector(4downto0);**begintemp1<=awhenb(0)=‘1’else“000”;**temp2<=(a&‘0’)whenb(1)=‘1’else“0000”;temp3<=(a&“00”)whenb(2)=‘1’else“00000”;y<=temp1+temp2+(‘0’&temp3);**enda;3、程序3libraryieee;Useieee.std_logic_1164.all;EntitysevenbcdisPort(s:inintegerrange0to9;**G,f,e,d,c,b,a:outstd_logic);Endsevenbcd;ArchitectureaofsevenbcdisSignaly:;BeginProcess(s)**CasesisWhen0=>y<="0111111";**When1=>y<="0000110";When2=>;When3=>y<="1001111";When4=>y<="1100110";When5=>y<="1101101";When6=>y<="1111101";When7=>y<="0000111";When8=>y<="1111111";When9=>y<="1101111";Whenothers=>y<="0000000";Endcase;Endprocess;a<=y(0);b<=y(1);c<=y(2);d<=y(3);e<=y(4);f<=y(5);g<=y(6);Enda;4、程序4LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYjk4ISPORT(J,K:INSTD_LOGIC; clk:; prn,clr:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);ENDjk4;ARCHITECTUREaOFjk4ISqtmp,qbtmp:;BEGINPROCESS(clk,prn,clr,j,k) BEGINIFprn='0'THENqtmp<='1';qbtmp<='0';**ELSIFclk'eventANDclk='1'tHENIFclr='0'THENqtmp<='0';qbtmp<='1'; ELSIFj='0'ANDk='0'THENNULL; ELSIFj='0'ANDk='1'THEN qtmp<='0'; qbtmp<='1'; ELSIFj='1'ANDk='0'THENqtmp<='1';qbtmp<='0'; ELSEqtmp<=NOTqtmp;qbtmp<=NOTqbtmp;**ENDIF;ENDIF; q<=qtmp;qb<=qbtmp;**ENDPROCESS;ENDa;四、设计一个比较器,用于实现两个4位二进制数的比较,真值表如下:(20分)输入信号输出信号A[3..0]B[3..0]F1F2F3A>B100A=B010A<B001五、简答题(20分)1、VHDL语言结构体的描述方式有哪几种?试述各自的特点。2、什么是并行语句?什么是顺序语句?两者有何区别?《EDA技术与应用》试卷D一、填空题(每题2分,共10分)赋值语句中,为变量赋值的符号是(),为信号赋值的符号是()。在VHDL中,BIT数据类型有()种逻辑值。VHDL的标示符名必须以(),后跟若干字母、数字或单个下划线组成,但最后不能为()。VHDL程序设计中常用的库有()库、STD库、WORK库。用VHDL语言描述时钟脉冲CLK的上升沿时可写为()。选择题(每题2分,共10分)VHDL常用的库是()标准库。A、IEEEB、STDC、WORKD、PACKAGEVHDL的实体声明部分用来指定设计单元的()。A、输入端口B、输出端口C、引脚D、以上均可在VHDL的端口声明语句中,用()声明端口为输入方向。A、INB、OUTC、INOUTD、BUFFER一个设计实体可以拥有一个或多个()。A、设计实体B、结构体C、库D实体名5、在VHDL中,定义信号名时,可以用()符号为信号赋初值。A=:B、=C、:=D、<=三、程序分析(每题10分,共40分)要求:将标有下划线语句补充完整(3分)解释后带**的语句(3分)说明该程序逻辑功能(4分)1、程序1LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;**ENTITYencoderISPORT(d:IN;y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));**ENDencoder;ARCHITECTUREbehOFencoderISBEGINIFd(7)=’0’THENy<=”000”;**ELSIFd(6)=’0’THENy<=”001”;ELSIFd(5)=’0’THENy<=”010”;ELSIFd(4)=’0’THENy<=”011”;ELSIFd(3)=’0’THENy<=”100”;ELSIFd(2)=’0’THENy<=”101”;ELSIFd(1)=’0’THENy<=”110”;ELSIFd(0)=’0’THENy<=”111”;ENDIF;Endprocess;ENDbeh;2、程序2LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYIS PORT(d,clk,clrn,prn,ena:instd_logic; q:);ENDd4;ARCHITECTUREaOFd4ISPROCESS(clk,prn,clrn,ena,d)BEGIN IFprn='0'THENq<='1';** ELSIFclrn='0'THENq<='0';** ELSIFclk'eventANDclk='1'THEN** IFena='1'thenq<=d; ENDIF;ENDIF;ENDPROCESS;ENDa;3、程序3Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;EntitysubaddisPort(c:instd_logic;A,b:instd_logic_vector(3downto0);S:outstd_logic_vector(3downto0);Co:outstd_logic);;ArchitectureaofsubaddisSignala1,a2,a3:std_logic_vector(4downto0);BeginProcessBeginA1<=‘0’&a;**A2<=‘0’&b;Ifc=‘1’thenA3<=a1+a2;**ElseA3<=a1-a2;**Endif;;;Endprocess;Enda;4、程序4LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux41ISPORT(s1,s2:INSTD_LOGIC;**a,b,c,d:INSTD_LOGIC;z:OUTSTD_LOGIC;);ENDENTITYmux41;ARCHITECTUREactivOFmux41ISSIGNALs:;BEGIN;PROCESS(s,a,b,c,d)BEGINCASEsISWHEN“00”=>z<=a;WHEN“01”=>z<=b;WHEN“10”=>z<=c;WHEN“11”=>z<=d;WHENOTHERS=>z<=’X’;**;ENDPROCESS;**ENDactiv;四、用完整的VHDL源程序设计一个二输入同或门,相关的标识自定。(20分)五、简答题(20分)1、一个最简单的VHDL语言由哪几部分组成?简述各部分的主要功能。2、简述信号和变量的区别。《EDA技术及应用》试卷A答案一填空题(共10分,每题2分)VHDL的基本描述语句包括一系列顺序语句和并行语句两大基本描述语句。EDA技术的应用范畴包括CAD、CAM、计算机辅助测试CAT、计算机辅助工程CAE等。实体定义中的端口模式用来说明端口上的数据流动方向,端口模式有以下几种IN、OUT、INOUT、BUFFER。在逻辑综合中,VHDL常用的数据对象为信号、变量和常量。VHDL设计文件必须保存在文件夹中,文件夹的命名规则是不能用中文,且不可带空格。二解释程序(第1题5分,第2题5分,第3题10分,共20分)解释带有下划线的语句说明该程序逻辑功能改用CASE语句编写下列程序。LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan1isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan1;architectureaofxuan1isbeginwithselselectd<=a(0)when"00",a(1)when"01",a(2)when"10",a(3)whenothers;enda;答案:库定义,实体名,sel=”00”时,将d=a(0)四路数据选择输出LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan2isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan2;architectureaofxuan2isbeginprocess(sel)begincaseseliswhen"00"=>d<=a(0);when"01"=>d<=a(1);when"10"=>d<=a(2);whenothers=>d<=a(3);endcase;endprocess;enda;三、判断下列程序是否有错误,如有则指出错误所在,并修改程序。(20分)程序一:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYencoderISPORT(d:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDencoder;ARCHITECTUREbehOFencoderISBEGINProcess(d)beginIFd(7)=’0’THENy<=”000”;ELSIFd(6)=’0’THENy<=”001”;ELSIFd(5)=’0’THENy<=”010”;ELSIFd(4)=’0’THENy<=”011”;ELSIFd(3)=’0’THENy<=”100”;ELSIFd(2)=’0’THENy<=”101”;ELSIFd(1)=’0’THENy<=”110”;ELSIFd(0)=’0’THENy<=”111”;ENDIF;Endprocess;ENDbeh;程序二:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYgatesISPORT(a,b:INBIT;y1,y2:OUTBIT);ENDgates;ARCHITECTUREbehOFgatesISBEGINy1<=aANDb;--构成与门y2<=aORb;--构成或门ENDbeh;四、分析下列程序功能,并将程序补充完整。(10分)Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;EntitycountbasicisPort(clk:instd_logic;Q:outstd_logic_vector(3downto0));Endcountbasic;ArchitectureaofcountbasicisBeginProcess(clk)Variableqtmp:std_logic_vector(3downto0);BeginIfclk’eventandclk=‘1’thenQtmp:=qtmp+1;Endif;Q<=qtmp;Endprocess;Enda;功能:四位计数器五、用VHDL编程设计一个七段显示译码器sevenv,用于驱动1个共阴极数码管。该电路的8421BDC输入为d,译码后的七段输出为a-g。(20分)libraryieee;Useieee.std_logic_1164.all;EntitysevenbcdisPort(s:inintegerrange0to9;G,f,e,d,c,b,a:bufferstd_logic);Endsevenbcd;ArchitectureaofsevenbcdisSignaly:std_logic_vector(6downto0);BeginProcess(s)BeginCasesisWhen0=>y<="0111111";When1=>y<="0000110";When2=>y<="1011011";When3=>y<="1001111";When4=>y<="1100110";When5=>y<="1101101";When6=>y<="1111101";When7=>y<="0000111";When8=>y<="1111111";When9=>y<="1101111";Whenothers=>y<="0000000";Endcase;Endprocess;a<=y(0);b<=y(1);c<=y(2);d<=y(3);e<=y(4);f<=y(5);g<=y(6);Enda;六、简答题(20分)1、VHDL程序有哪些基本的部分?各部分起什么作用?2、BIT数据类型和STD_LOGIC数据类型有何区别?《EDA技术与应用》试卷B答案一填空题(共10分,每题2分)EDA技术的应用范畴包括计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助测试CAT、计算机辅助工程CAE等。实体定义中的端口模式用来说明端口上的数据流动方向,端口模式有以下几种IN、OUT、INOUT、BUFFER。可编程逻辑器件按照结构复杂程度的不同,可将PLD大致分为简单可编程逻辑器件、复杂可编程逻辑器件、现场可编程门阵列。信号的赋值采用符号<=,而变量的赋值符号为:=。进程语句本身是并行语句,但其内部的语句是由顺序语句构成的。二解释程序(第1题5分,第2题5分,第3题10分,共20分)1解释带有下划线的语句2说明该程序逻辑功能3改用WITH-SELECT语句编写下列程序。LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan2isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan2;architectureaofxuan2isbeginprocess(sel)begincaseseliswhen"00"=>d<=a(0);when"01"=>d<=a(1);when"10"=>d<=a(2);whenothers=>d<=a(3);endcase;endprocess;enda;答案:库定义,实体名,sel=”00”时,将d=a(0)四路数据选择输出LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan1isport(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan1;architectureaofxuan1isbeginwithselselectd<=a(0)when"00",a(1)when"01",a(2)when"10",a(3)whenothers;enda;三、(20分)判断下列程序是否有错误,如有则指出错误所在,并修改程序。程序一:LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYdecoder3_8ISPORT(a:INBIT_VECTOR(2DOWNTO0);y:OUTBIT_VECTOR(7DOWNTO0));ENDdecoder3_8;ARCHITECTUREbehOFdecoder3_8ISBEGINWITHaSELECTy<=“11111110”WHEN“000”,“11111101”WHEN“001”,“11111011”WHEN“010”,“11110111”WHEN“011”,“11101111”WHEN“100”,“11011111”WHEN“101”,“10111111”WHEN“110”,“01111111”WHEN“111”;ENDbeh;程序二:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;Entitybehavioralisport(a:inbit;b:inbit;equal:outstd_ulogic);endbehavioral;Architectureeqcomp4ofbehavioralisBeginProcess(a,b)Begin ifa=bthen equal<='1'; else equal<='0'; endif;endProcess;endeqcomp4;四、分析下列程序功能,并将程序补充完整。Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Entitymulti3isPort(a,b:instd_logic_vector(2downto0);y:outstd_logic_vector(5downto0));endmulti3;architectureaofmulti3issignaltemp1:std_logic_vector(2downto0);signaltemp2:std_logic_vector(3downto0);signaltemp3:std_logic_vector(4downto0);begintemp1<=awhenb(0)=‘1’else“000”;temp2<=(a&‘0’)whenb(1)=‘1’else“0000”;temp3<=(a&“00”)whenb(2)=‘1’else“00000”;y<=temp1+temp2+(‘0’&temp3);enda;功能:三位乘法器五、用VHDL编程设计一个4位二进制数的加/减法器,控制输入端为c,当c=1时,做加法运算;当c=0时,做减法运算。Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;EntitysubaddisPort(c:instd_logic;A,b:instd_logic_vector(3downto0);S:outstd_logic_vector(3downto0);Co:outstd_logic);Endsubadd;ArchitectureaofsubaddisSignala1,a2,a3:std_logic_vector(4downto0);BeginProcessBeginA1<=‘0’&a;A2<=‘0’&b;Ifc=‘1’thenA3<=a1+a2;ElseA3<=a1-a2;Endif;S<=a3(3downto0);Co<=a3(4);Endprocess;Enda;六、简答题1、什么是并行语句?什么是顺序语句?两者有何区别?2、信号和变量有何区别?《EDA技术与应用》试卷C答案填空题(共10分,每题2分)在VHDL中最常用的库是(IEEE)标准库,最常用的数据包是(STD_logic_1164)数据包。VHDL的实体声明部分指定了设计单元的(输入出端口),它是设计实体对外的一个通信界面,是外界可以看到的部分。在VHDL的端口声明语句中,端口方向包括(输入)、(输出)、(双向)和(缓冲)。在用VHDL语言设计电路时,一般要求文件名与(实体)名一致,后缀是(VHD)。在VHDL中,标准逻辑位数据有(九)种逻辑值。选择题(每题2分,共10分)在VHDL的端口声明语句中,用(B)声明端口为输出方向。A、INB、OUTC、INOUTD、BUFFER在VHDL中,(D)不能将信息带出对它定义的当前设计单元。A、信号B、常量C、数据D、变量3、在VHDL中,(A)的数据传输不是立即发生的,目标信号的赋值需要一定的延时时间。信号B、常量C、数据D、变量4、在VHDL中,为目标变量赋值的符号是(C)。A=:B、=C、:=D、<=5、在下列标识符中,(C)是VHDL合法的标识符。A、4h_addeB、h_adde_C、h_adderD、_h_adde三、程序分析(每题10分,共40分)要求:将标有下划线语句补充完整(3分)解释后带**的语句(3分)说明该程序逻辑功能(4分)1、程序1LIBRARYieee;USEieee.std_logic_1164.ALL;entityxuan2is**port(a:instd_logic_vector(3downto0);sel:instd_logic_vector(1downto0);d:outstd_logic);endxuan2;architectureaofxuan2isbeginprocess(sel)begincaseselis**when"00"=>d<=a(0);**when"01"=>d<=a(1);when"10"=>d<=a(2);whenothers=>d<=a(3);endcase;endprocess;enda;2、程序2Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Entitymulti3isPort(a,b:instd_logic_vector(2downto0);y:outstd_logic_vector(5downto0));endmulti3;architectureaofmulti3issignaltemp1:std_logic_vector(2downto0);signaltemp2:std_logic_vector(3downto0);signaltemp3:std_logic_vector(4downto0);**begintemp1<=awhenb(0)=‘1’else“000”;**temp2<=(a&‘0’)whenb(1)=‘1’else“0000”;temp3<=(a&“00”)whenb(2)=‘1’else“00000”;y<=temp1+temp2+(‘0’&temp3);**enda;3、程序3libraryieee;Useieee.std_logic_1164.all;EntitysevenbcdisPort(s:inintegerrange0to9;**G,f,e,d,c,b,a:outstd_logic);Endsevenbcd;ArchitectureaofsevenbcdisSignaly:std_logic_vector(6downto0);BeginProcess(s)**BeginCasesisWhen0=>y<="0111111";**When1=>y<="0000110";When2=>y<="1011011";When3=>y<="1001111";When4=>y<="1100110";When5=>y<="1101101";When6=>y<="1111101";When7=>y<="0000111";When8=>y<="1111111";When9=>y<="1101111";Whenothers=>y<="0000000";Endcase;Endprocess;a<=y(0);b<=y(1);c<=y(2);d<=y(3);e<=y(4);f<=y(5);g<=y(6);Enda;4、程序4LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYjk4ISPORT(J,K:INSTD_LOGIC; clk:INSTD_LOGIC; prn,clr:INSTD_LOGIC;q,qb:OUTSTD_LOGIC);ENDjk4;ARCHITECTUREaOFjk4ISSIGNALqtmp,qbtmp:STD_LOGIC;BEGINPROCESS(clk,prn,clr,j,k) BEGINIFprn='0'THENqtmp<='1';qbtmp<='0';**ELSIFclk'eventANDclk='1'tHENIFclr='0'THENqtmp<='0';qbtmp<='1'; ELSIFj='0'ANDk='0'THENNULL; ELSIFj='0'ANDk='1'THEN qtmp<='0'; qbtmp<='1'; ELSIFj='1'ANDk='0'THENqtmp<='1';qbtmp<='0'; ELSEqtmp<=NOTqtmp;qbtmp<=NOTqbtmp;**ENDIF;ENDIF; q<=qtmp;qb<=qbtmp;**ENDPROCESS;ENDa;四、设计一个比较器,用于实现两个4位二进制数的比较,真值表如下:(20分)输入信号输出信号A[3..0]B[3..0]F1F2F3A>B100A=B010A<B001五、简答题(20分)1、VHDL语言结构体的描述方式有哪几种?试述各自的特点。2、什么是并行语句?什么是顺序语句?两者有何区别?《EDA技术与应用》试卷D答案一、填空题(每题2分,共10分)赋值语句中,为变量赋值的符号是(:=),为信号赋值的符号是(<=)。在VHDL中,BIT数据类型有(两)种逻辑值。VHDL的标示符名必须以(字母开头),后跟若干字母、数字或单个下划线组成,但最后不能为(下划线)。VHDL程序设计中常用的库有(IEEE)库、STD库、WORK库。用VHDL语言描述时钟脉冲CLK的上升沿时可写为()。选择题(每题2分,共10分)VHDL常用的库是(A)标准库。A、IEEEB、STDC、WORKD、PACKAGEVHDL的实体声明部分用来指定设计单元的(D)A、输入端口B、输出端口C、引脚D、以上均可在VHDL的端口声明语句中,用(A)声明端口为输入方向。A、INB、OUTC、INOUTD、BUFFER一个设计实体可以拥有一个或多个(B)A、设计实体B、结构体C、库D实体名5、在VHDL中,定义信号名时,可以用(C)符号为信号赋初值。A=:B、=C、:=D、<=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论