套练习题答案版last.ppt

上传人:tian****1990 文档编号:11528283 上传时间:2020-04-27 格式:PPT 页数:31 大小:454KB
返回 下载 相关 举报
套练习题答案版last.ppt_第1页
第1页 / 共31页
套练习题答案版last.ppt_第2页
第2页 / 共31页
套练习题答案版last.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
练习题,1、VHDL的设计文体可以被高层次的系统(),成为系统的一部分。A.输入B.输出C.仿真D.调用2、一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序成为()A.设计输入B.设计输出C.设计实体D.设计结构3、在VHDL中用()来把特定的结构体关联到一个确定的实体,为一个大型系统的设计提供管理和进行工程组织。A.输入B.输出C.综合D.配置4、在VHDL标识符命名规则中,以()开头的标识符是正确的。A.字母B.数字C.字母或数字D.下划线5、在下列标识符中,()是VHDL合法的标识符。A4h_addB.h-addeC.h_adderD._h_adde,6、在VHDL中,()不能将信息带出对它定义的当前设计单元。A.信号B.常量C.数据D.变量7、在VHDL中,乘“*”和除“/”算术运算的操作数据是()数据类型A.整型B.实型C.整型和实型D.任意类型8、VHDL中条件信号赋值语句WHEN_ELSE属于()语句。A.并行兼顺序B.顺序C.并行D.不存在的9、在VHDL中,为了使已声明的数据类型、子程序、元件能被其他设计实体调用或共享,可以把他们汇集在()中。A.设计实体B.程序包C.结构体D.程序库10、嵌套的IF语句,其综合结果可实现()。A.条件相与的逻辑B.条件相或的逻辑C.条件相异或的逻辑D.三态控制电路,11、大规模可编程器件主要有FPGA、CPLD两类,下列对CPLD结构与工作原理的描述中,正确的是()A.CPLD是基于查找表结构的可编程逻辑器件;B.CPLD即是现场可编程逻辑器件的英文简称;C.早期的CPLD是从GAL的结构扩展而来;D.在Xilinx公司生产的器件中,XC9500系列属CPLD结构。12、在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0to127,下面哪个赋值语句是正确的()A.idata:=32;B.idata=16#A0#;C.idata=16#7#E1;D.idata:=B#1010#13、FPGA的可编程是主要基于什么结构()。A.查找表(LUT);B.与阵列可编程;C.或阵列可编程;D.与或阵列可编程。,14、在VHDL语言中,下列对时钟边沿检测描述中,错误的是()A.ifclkeventandclk=1thenB.ifrising_edge(clk)thenC.ifnotclkeventandclk=0thenD.ifnotclkstableandclk=1then15、嵌套使用IF语句,其综合结果可实现()A.带优先级且条件相与的逻辑电路B.双向控制电路C.条件相或的逻辑电路D.三态控制电路16、不完整的IF语句,其综合结果可实现()A.时序电路B.双向控制电路C.条件相或的逻辑电路D.三态控制电路,17、可以进行在系统编程的器件是()AEPROMB.PALC.GALD.CPLD18、VHDL语言程序结构中必不可少的部分是()A库B.程序包C.配置D.实体和结构体19、能反馈输出信号至内部的端口模式是()AINB.OUTC.BUFFERD.INOUT20、VHDL语言优先级最高的运算符是()AANDB.ORC.NOTD.XOR21、a已定义为信号,b已定义为变量,下面正确的表达是()Aa:=bB.a=bC.b:=aD.b=a,22、signala,b:bit;signaly:bit_vector(1downto0);下面正确的表达式是()Ay=aB.y=bC.y=bandaD.y”不是操作符,它只相当于()的作用。AIFB.THENC.ANDD.OR27、在自顶向下设计过程中,描述器件总功能的模块一般称为()。A底层设计B.顶层设计C.部分设计D.局部设计,3、填空,1.ASIC的中文含义是:专用集成电路。2.FPGA的一般采用sram工艺。3.VHDL提供了四种端口模式:IN、OUT、INOUT、BUFFER。4.结构体的描述方式主要有行为描述、数据流描述和结构化的描述。5.VHDL的数据对象有:常数、变量、信号。6.位类型(BIT)的取值只有0和1。7.SIGNALb:BIT_VECTOR(6TO0),信号b被定义为7位位宽。8.进程由敏感信号参数表、进程说明、顺序描述语句三部分构成。9.选择信号赋值语句的每一子句后是,号,最后一句是;。10.一个完整的VHDL程序包含:实体、结构体、配置、包集合、库五个部分。11.编译可以检查的错误有语法错误和逻辑。12.QuratusII仿真主要分为时序、功能。13.BLOCK内的语句是并行语句。,1.VHDL程序改错,libraryieee;-1useieee.std_logic_1164.all;-2entityschkis-3port(din,clk,clr:instd_logic;-串行输入数据位/工作时钟/复位信号-4ab:outstd_logic_vector(3downto0)-检测结果输出-5);-6endschk;-7,architecturebhvofschkis-8signalq:integerrange0to8;-9signald:std_logic_vector(7downto0);-8位待检测预置数-10begin-11d=“11100101”;-8位待检测预置数-12,process(clk,clr)-13begin-14ifclr=1thenqifdin=d(7)thenqifdin=d(6)thenqifdin=d(5)thenqifdin=d(4)thenqifdin=d(3)thenqifdin=d(2)thenqifdin=d(1)thenqifdin=d(0)thenqq=0;-26endcase;-27endif;-28endprocess;-29process(q)-30begin-31ifq=8thenab=1010;-32elseab=1011;-33endif;-34endprocess;-35endbhv;-36,在上述程序代码中存在两处错误,编译时出现如下提示,试修改错误:Error:Line12:Filef:edaschk.vhd:VHDLsyntaxerror:unexpectedsignal“d”inConcurrentStatementPartError:Line29:Filef:edaschk.vhd:VHDLsyntaxerror:ifstatementmusthaveENDIF,butfoundPROCESSinstead错误1行号:错误2行号:,错误1行号:12程序改为:d=11100101;错误2行号:16程序改为:elsifclkeventandclk=1then,2、根据原理图写出相应的VHDL程序,设计一数据选择器MUX,其系统模块图和功能表如下图所示。描述该数据选择器MUX的结构体。,Libraryieee;Useieee.std_logic_1164.all;EntitymymuxisPort(sel:instd_logic_vector(1downto0);-选择信号输入Ain,Bin:instd_logic_vector(1downto0);-数据输入Cout:outstd_logic_vector(1downto0);Endmymux;,方法一:IF语句,ARCHITECTUREONEofmymuxISBEGINPROCESS(sel,Ain,Bin)BEGINIFsel=”00”THENCout=AinORBin;ELSIFsel=”01”THENCout=AinNANDBin;ELSIFsel=”10”THENCout=AinXORBin;ELSECoutCoutCoutCoutCoutNULL;ENDCASE;ENDPROCESS;ENDTWO;,方法三:WHEN-ELSE语句,ARCHITECTURETHREEofmymuxISBEGINCout=AinORBinWHENsel=”00”ELSEAinNANDBinWHENsel=”01”ELSEAinXORBinWHENsel=”10”ELSE;NOTBin;ENDTHREE,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLX3_4IS;PORT(CLK:INSTD_LOGIC;J,K:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDLX3_4;ARCHITECTUREstrucOFLX3_4ISSIGNALQ_TEMP:STD_LOGIC:=0;SIGNALJK:STD_LOGIC_VECTOR(1DOWNTO0);BEGINJKQ_TEMPQ_TEMPQ_TEMPQ_TEMPQ_TEMP=X;ENDCASE;ENDIF;Q=Q_TEMP;QN,=,=,=,=,/=。返回类型是std_logic_vector或boolean注意这里面的function的运算都是基于unsigned,就是说std_logic_vector和integer都变成unsigned之后再用std_logic_arith库中的function完成。std_logic_signed跟std_logic_unsigned类似,唯一的差别是,这里面的function都是先把操作数(std_logic_vector或integer类型)都转换成signed之后再用std_logic_arith库中的function完成。在用这些库的时候,基本原则是要知道你想要EDA软件实现什么样的运算。大部分情况下,std_logic_vector应该作为unsigned参与运算。,VHDL程序填空1、下面程序是一个16位数控分频器的VHDL描述,试补充完整。_LIBRARY_IEEE;USEIEEE.STD_LOGIC_1164.ALL;USE_IEEE.STD_LOGIC_UNSIGNED.ALL_;ENTITYPULSE16ISPORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;D:IN_STD_LOGIC_VECTOR(15DOWNTO0)_;FOUT:OUTSTD_LOGIC);ENDENTITY;_ARCHITECTURE_oneOFPULSE16ISSIGNALFULL:STD_LOGIC;BEGIN,P_REG:PROCESS(CLK)Variable_CNT16:STD_LOGIC_VECTOR(15DOWNTO0);BEGINIFCLKEVENTANDCLK=1THENIF_load=1_THEN-LOAD高电平置数CNT16:=D;FULL=0;ELSEIFCNT16=1111111111111111THENCNT16:=D;FULL=1;ELSECNT16:=_cnt16+1_;-计数加1FULL=0;ENDIF;ENDIF;_ENDIF_;ENDPROCESSP_REG;,P_DIV:PROCESS(_FULL_)-溢出信号为敏感信号VARIABLECNT2:STD_LOGIC;BEGINIF_FULLeventandfull=1_THEN-FULL上升沿判断CNT2:=NOTCNT2;FOUT=CNT2;ENDIF;ENDPROCESSP_DIV;END;,其实所谓“条件信号赋值语句”,不过是if语句与信号赋值语句的结合而已。一个并行的条件信号赋值语句是可以用一个进程来代替的:这个进程体是由if语句和信号赋值语句构成的。而所谓“选择信号赋值语句”,则是case语句与信号赋值语句的结合。一个并行的选择信号赋值语句也可以用一个进程来代替:这个进程体是由case语句和信号赋值语句构成的。看一下下面的例子:4选1多路选择器,4选1多路选择器,4选1多路选择器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4ISPORT(in0,in1,in2,in3:INSTD_LOGIC;sel:INSTD_LOGIC_VECTOR(1DOWNTO0);q:OUTSTD_LOGIC);ENDmux4;,ARCHITECTUREbehav1OFmux4ISBEGINmux4_p1:PROCESS(in0,in1,in2,in3,sel)BEGINIFsel=00THENq=in0;ELSIFsel=01THENq=in1;ELSIFsel=10THENq=in2;ELSEq=in3;ENDIF;ENDPROCESSmux4_p1;ENDbehav1;,ARCHITECTUREbehav2OFmux4ISBEGINqqqqq=in3;ENDCASE;ENDPROCESSmux4_p2;ENDbehav3;,ARCHITECTUREbehav4OFmux4ISBEGINWITHselSELECTq=in0WHEN00,in1WHEN01,in2WHEN10,in3WHENOTHERS;-这个选择信号赋值语句与进程mux4_p2等价ENDbehav4;,STD_LOGIC_1164程序包:它是IEEE中最常用的程序包,是IEEE的标准程序包。其中包含了一些数据类型、子类型和函数的定义,这些定义将VHDL扩展为一个能描述多值逻辑的硬件描述语言,很好地满足了实际数字系统的设计需求。其中应用最多最广的是满足工业标准的数据类型STD_LOGIC和STD_LOGIC_VECTOR。STD_LOGIC_ARITH程序包:在STD_LOGIC_1164程序包的基础上扩展了三个数据类型UNSIGNED、SIGNED和SMALL_INT,并为其定义了相关的算术运算和转移运算。STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包:这两个程序包是Synopsys公司的程序包,预先编译在IEEE库中。STANDARD和TEXTIO程序包:STANDARD中定义了许多基本的数据类型、子程序和函数。TEXTIO程序包中定义了支持文件输入输出操作的许多类型和子程序。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!