您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 2009年下学期VHDL语言与EDA技术试卷B参考答案
2009-2010学年度第一学期VHDL语言与EDA试卷B参考答案一、填空题(每空1分,共17分)1、22、clk’eventandclk=’1’3、14、ieee5、主控组合进程6、实体名,.VHD8、--9、NOT10、函数,过程12、error(错误)13、相位累加器,频率二、判断题(每小题1分,共6分)题号123456答案×√√×√×三、简答题(每小题5分,共20分)1、简述使用MATLAB/DSPBuilder开发FPGA的手动设计流程答:(1)Matlab/Simulink建模;(2)系统仿真;(3)DSPBuilder完成VHDL转换、综合、适配;(4)QuartusII直接完成时序仿真;(5)引脚锁定;(6)下载/配置。2、VHDL语言中有哪几种端口模式,它们的区别是什么?答:有IN、OUT、INOUT、Buffer等四种端口模式IN:只将外界的信号输入内部OUT:只将内部信号输出到外部INOUT:既可将内部信号输出到外部,也可将外部信号输入到内部但不能反馈。BUFFER:缓冲端口,既可将内部信号输出到外部,也可将内部输出的信号反馈到内部,但不能将外部信号输入到内部。3、简述进程语句的格式答:进程语句的一般格式如下:[进程标号:]process[(敏感信号参数表)][is][进程说明部分]begin顺序描述语句endprocess[进程标号];4、实体的VHDL程序如下:entitycompisport(a,b:instd_logic_vector(15downto0);sel:instd_logic_vector(2downto0);compout:outstd_logic);endcomp;四、选择题(每小题2分,共16分)题号12345678答案BAAACBAC五、请指出下列VHDL代码中的错误并改下(10分)libraryieee;useieee.std_logic_1164.all;entityh_adderisport(a,b:instd_logic;co,so:outstd_logic;);endentityadder;Architectureoneofh_adderis;Signalabc:std_logic_vector(1downto0);beginabc=a&b;分号多余分号多余Adder应为h_addercaseabciswhen“00”=so=’0’;co=’0’;when“01”=so=’1’;co=’0’;when“10”=so=’1’;co=’0’;when“11”=so=’0’;co=’1’;whenothers=null;endcase;Endarchitectureful;改正如下:libraryieee;useieee.std_logic_1164.all;entityh_adderisport(a,b:instd_logic;co,so:outstd_logic);endentityh_adder;Architectureoneofh_adderisSignalabc:std_logic_vector(1downto0);Beginabc=a&b;--若将这句放到进程内的begin后,再将进程的敏感信号改为a,b也行Process(abc)begincaseabciswhen“00”=so=’0’;co=’0’;when“01”=so=’1’;co=’0’;when“10”=so=’1’;co=’0’;when“11”=so=’0’;co=’1’;whenothers=null;endcase;endprocess;Endarchitectureone;ful应为oneCase语句应放在进程中六、以下VHDL程序是对四选一数据选择器电路的描述,请将空缺部分补充完整。(每空2分,共10分)1、in2、std_logic_vector(3downto0)3、behave4、counter5、endprocess七、阅读下面的VHDL程序,说明电路功能,并给VHDL程序正确命名(5分)。答:电路为三态门。VHDL程序的名称为:tri_s.vhd八、(8分)。答:该电路为二选一数据选择器。其中,a,b为输入的被选择信号,s为选择控制端,y为输出端。该电路的VHDL语言程序为:ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs='0'THENy=a;ELSEy=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;九、(8分)答:1、inccount的作用是增减计数器用作地址发生器,Sinlut是正弦查找表,Delay是延时模块,product是乘法运算模块,sinctrl是输入端口,用于控制输出的正弦波的有无。Sinout是输出端口,signalcomplier的作用是将模型文件转化成VHDL语言。所有总线的数据类型均为无符号。2、能改变输出正弦波的频率,因为整个电路的时钟频率改变就会改变输出正弦波的频率,可以用改变整个电路的工作时钟频率的方法改变输出正弦波的频率。3、127*sin[0:2*pi/2^6]:2*pi])+128
本文标题:2009年下学期VHDL语言与EDA技术试卷B参考答案
链接地址:https://www.777doc.com/doc-2681317 .html