EDA与VHDL知识点总结与期末考试试卷及答案_第1页
EDA与VHDL知识点总结与期末考试试卷及答案_第2页
EDA与VHDL知识点总结与期末考试试卷及答案_第3页
EDA与VHDL知识点总结与期末考试试卷及答案_第4页
EDA与VHDL知识点总结与期末考试试卷及答案_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

EDA与VHDL知识点总结与期末考试试卷及答案(3)1.一个项目的输入输出端口是定义在A。A.实体中B.结构体中C.任何位置D.进程体2.描述项目具有逻辑功能的是B。A.实体B.结构体C.配置D.进程3.关键字ARCHITECTURE定义的是A。A.结构体B.进程C.实体D.配置4.MAXPLUSII中编译VHDL源程序时要求C。A.文件名和实体可不同名B.文件名和实体名无关C.文件名和实体名要相同D.不确定5.1987标准的VHDL语言对大小写是D。A.敏感的B.只能用小写C.只能用大写D.不敏感6.关于1987标准的VHDL语言中,标识符描述正确的是A。A.必须以英文字母开头B.可以使用汉字开头C.可以使用数字开头D.任何字符都可以7.关于1987标准的VHDL语言中,标识符描述正确的是B。A.下划线可以连用B.下划线不能连用C.不能使用下划线D.可以使用任何字符8.符合1987VHDL标准的标识符是A。A.A_2B.A+2C.2AD.229.符合1987VHDL标准的标识符是A。A.a_2_3B.a_____2C.2_2_aD.2a10.不符合1987VHDL标准的标识符是C。A.a_1_inB.a_in_2C.2_aD.asd_111.不符合1987VHDL标准的标识符是D。A.a2b2B.a1b1C.ad12D.%5012.VHDL语言中变量定义的位置是D。A.实体中中任何位置B.实体中特定位置C.结构体中任何位置D.结构体中特定位置13.VHDL语言中信号定义的位置是D。A.实体中任何位置B.实体中特定位置C.结构体中任何位置D.结构体中特定位置14.变量是局部量可以写在B。A.实体中B.进程中C.线粒体D.种子体中15.变量和信号的描述正确的是A。A.变量赋值号是:=B.信号赋值号是:=C.变量赋值号是<=D.二者没有区别16.变量和信号的描述正确的是B。A.变量可以带出进程B.信号可以带出进程C.信号不能带出进程D.二者没有区别17.关于VHDL数据类型,正确的是D。A.数据类型不同不能进行运算B.数据类型相同才能进行运算C.数据类型相同或相符就可以运算D.运算与数据类型无关18.下面数据中属于实数的是A。A.4.2B.3C.‘1’D.“11011”19.下面数据中属于位矢量的是D。A.4.2B.3C.‘1’D.“11011”20.关于VHDL数据类型,正确的是。A.用户不能定义子类型B.用户可以定义子类型C.用户可以定义任何类型的数据D.前面三个答案都是错误的21.可以不必声明而直接引用的数据类型是C。A.STD_LOGICB.STD_LOGIC_VECTORC.BITD.前面三个答案都是错误的22.STD_LOGIG_1164中定义的高阻是字符D。A.XB.xC.zD.Z23.STD_LOGIG_1164中字符H定义的是A。A.弱信号1B.弱信号0C.没有这个定义D.初始值24.使用STD_LOGIG_1164使用的数据类型时B。A.可以直接调用B.必须在库和包集合中声明C.必须在实体中声明D.必须在结构体中声明25.关于转化函数正确的说法是。A.任何数据类型都可以通过转化函数相互转化B.只有特定类型的数据类型可以转化C.任何数据类型都不能转化D.前面说法都是错误的26.VHDL运算符优先级的说法正确的是C。A.逻辑运算的优先级最高B.关系运算的优先级最高C.逻辑运算的优先级最低D.关系运算的优先级最低27.VHDL运算符优先级的说法正确的是A。A.NOT的优先级最高B.AND和NOT属于同一个优先级C.NOT的优先级最低D.前面的说法都是错误的28.VHDL运算符优先级的说法正确的是D。A.括号不能改变优先级B.不能使用括号C.括号的优先级最低D.括号可以改变优先级29.如果a=1,b=0,则逻辑表达式(aANDb)OR(NOTbANDa)的值是B。A.0B.1C.2D.不确定30.关于关系运算符的说法正确的是。A.不能进行关系运算B.关系运算和数据类型无关C.关系运算数据类型要相同D.前面的说法都错误31.转换函数TO_BITVECTOR(A)的功能是。A.将STDLOGIC_VECTOR转换为BIT_VECTORB.将REAL转换为BIT_VECTORC.将TIME转换为BIT_VECTORD.前面的说法都错误32.VHDL中顺序语句放置位置说法正确的是。A.可以放在进程语句中B.可以放在子程序中C.不能放在任意位置D.前面的说法都正确33.不属于顺序语句的是B。A.IF语句B.LOOP语句C.PROCESS语句D.CASE语句34.正确给变量X赋值的语句是B。A.X<=A+B;B.X:=A+b;C.X=A+B;D.前面的都不正确35.EDA的中文含义是A。A.电子设计自动化B.计算机辅助计算C.计算机辅助教学D.计算机辅助制造36.可编程逻辑器件的英文简称是。A.FPGAB.PLAC.PALD.PLD37.现场可编程门阵列的英文简称是。A.FPGAB.PLAC.PALD.PLD38.基于下面技术的PLD器件中允许编程次数最多的是。A.FLASHB.EEROMC.SRAMD.PROM39.在EDA中,ISP的中文含义是。A.网络供应商B.在系统编程C.没有特定意义D.使用编程器烧写PLD芯片40.在EDA中,IP的中文含义是。A.网络供应商B.在系统编程C.没有特定意义D.知识产权核41.EPF10K20TC144-4具有多少个管脚A。A.144个B.84个C.15个D.不确定42.EPF10K20TC144-X器件,如果X的值越小表示。A.器件的工作频率越小B.器件的管脚越少C.器件的延时越小D.器件的功耗越小43.如果a=1,b=1,则逻辑表达式(aXORb)OR(NOTbANDa)的值是A。A.0B.1C.2D.不确定44.执行下列语句后Q的值等于B。„„SIGNALE:STD_LOGIC_VECTOR(2TO5);SIGNALQ:STD_LOGIC_VECTOR(9DOWNTO2);„„E<=(2=>’1’,4=>’0’,OTHERS=>’1’);Q<=(2=>E(2),4=>E(3),5=>’1’,7=>E(5),OTHERS=>E(4));„„A(“11011011”B.“00101101”C.“11011001”D.“00101100”45.VHDL文本编辑中编译时出现如下的报错信息Error:VHDLsyntaxerror:signaldeclarationmusthave‘;’,butfoundbegininstead.其错误原因是A。A.信号声明缺少分号。B.错将设计文件存入了根目录,并将其设定成工程。C.设计文件的文件名与实体名不一致。D.程序中缺少关键词。46.VHDL文本编辑中编译时出现如下的报错信息Error:VHDLsyntaxerror:choicevaluelengthmustmatchselectorexpressionvaluelength其错误原因是A。A.表达式宽度不匹配。B.错将设计文件存入了根目录,并将其设定成工程。C.设计文件的文件名与实体名不一致。D.程序中缺少关键词。47.MAX+PLUSII的设计文件不能直接保存在B。A(硬盘B.根目录C.文件夹D.工程目录48.MAXPLUSII是哪个公司的软件A。A.ALTERAB.ATMELC.LATTICED.XILINX49.MAXPLUSII不支持的输入方式是D。A.文本输入B.原理图输入C.波形输入D.矢量输入50.MAXPLUSII中原理图的后缀是B。A.DOCB.GDFC.BMPD.JIF51.在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。D。A.idata<=“00001111”;B.idata<=b”0000_1111”;C.idata<=X”AB”D.idata<=B”21”;52.在VHDL语言中,下列对时钟边沿检测描述中,错误的是D。A.ifclk’eventandclk=‘1’thenB.iffalling_edge(clk)thenC.ifclk’eventandclk=‘0’thenD.ifclk’stableandnotclk=‘1’then53.下面对利用原理图输入设计方法进行数字电路系统设计的描述中,那一种说法是不正确的。。A.原理图输入设计方法直观便捷,但不适合完成较大规模的电路系统设计;B.原理图输入设计方法一般是一种自底向上的设计方法;C.原理图输入设计方法无法对电路进行功能描述;D.原理图输入设计方法也可进行层次化设计。54.在一个VHDL设计中idata是一个信号,数据类型为integer,数据范围0to127下面哪个赋值语句是正确的。C。A.idata:=32;B.idata<=16#A0#;C.idata<=16#7#E1;D.idata:=B#1010#;55.下列那个流程是正确的基于EDA软件的FPGA/CPLD设计流程:A。A.原理图/HDL文本输入?功能仿真?综合?适配?编程下载?硬件测试B.原理图/HDL文本输入?适配?综合?功能仿真?编程下载?硬件测试;C.原理图/HDL文本输入?功能仿真?综合?编程下载??适配硬件测试;D.原理图/HDL文本输入?功能仿真?适配?编程下载?综合?硬件测试56.在VHDL语言中,下列对进程(PROCESS)语句的语句结构及语法规则的描述中,正确的是。A.PROCESS为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一次进程启动。B.敏感信号参数表中,应列出进程中使用的所有输入信号;C.进程由说明部分、结构体部分、和敏感信号参数表三部分组成;D.当前进程中声明的信号也可用于其他进程。57.对于信号和变量的说法,哪一个是不正确的:A。A.信号用于作为进程中局部数据存储单元B.变量的赋值是立即完成的C.信号在整个结构体内的任何地方都能适用D.变量和信号的赋值符号不一样58.VHDL语言共支持四种常用库,其中哪种库是用户的VHDL设计现行工作库:。A.IEEE库B.VITAL库C.STD库D.WORK工作库59.下列语句中,不属于并行语句的是:B。A.进程语句B.CASE语句C.元件例化语句D.WHEN„ELSE„语句60.下面哪一条命令是MAX+PLUSII在时序仿真时执行加载节点的命令,C。A.file—>setprojecttocurrentfileB.assign—>pin/locationchipC.node—>enternodefromSNFD.file—>createdefaultsymbol61.在EDA工具中,能将硬件描述语言转换为硬件电路的重要工具软件称为D。A.仿真器B.综合器C.适配器D.下载器62.VHDL文本编辑中编译时出现如下的报错信息Error:Can’topenVHDL“WORK”其错误原因是B。A.错将设计文件的后缀写成.tdf,而非.vhd。B.错将设计文件存入了根目录,并将其设定成工程。C.设计文件的文件名与实体名不一致。D.程序中缺少关键词。63.在VHDL的CASE语句中,条件句中的“=>”不是操作符号,它只相当与B作用。A.IFB.THENC.ANDD.OR64.下面哪一条命令是MAXPLUSII软件中引脚锁定的命令C。A(file—>setprojecttocurrentfileB(node—>enternodefromSNFC(assign—>pin/locationchipD(file—>createdefaultsymbol]65.下列关于信号的说法不正确的是C。A.信号相当于器件内部的一个数据暂存节点。B.信号的端口模式不必定义,它的数据既可以流进,也可以流出。C.在同一进程中,对一个信号多次赋值,其结果只有第一次赋值起作用。D.信号在整个结构体内的任何地方都能适用。66.下面哪一个可以用作VHDL中的合法的实体名D。A.ORB.VARIABLEC.SIGNALD.OUT167.VHDL文本编辑中编译时出现如下的报错信息Error:Line1,Filee:\muxfile\mux21.tdf:TDFsyntaxerror„其错误原因是A。A.错将设计文件的后缀写成.tdf而非.vhd。B.错将设计文件存入了根目录,并将其设定成工程。C.设计文件的文件名与实体名不一致。D.程序中缺少关键词。68.下列关于变量的说法正确的是A。A.变量是一个局部量,它只能在进程和子程序中使用。B.变量的赋值不是立即发生的,它需要有一个δ延时。C.在进程的敏感信号表中,既可以使用信号,也可以使用变量。D.变量赋值的一般表达式为:目标变量名<=表达式。69.下列关于CASE语句的说法不正确的是B。A.条件句中的选择值或标识符所代表的值必须在表达式的取值范围内。B.CASE语句中必须要有WHENOTHERS=>NULL;语句。C.CASE语句中的选择值只能出现一次,且不允许有相同的选择值的条件语句出现。D.CASE语句执行必须选中,且只能选中所列条件语句中的一条。70.VHDL中,为目标变量赋值符号是D。A.=:B.=C.<=D.:=71.在VHDL中,可以用语句D表示检测clock下降沿。A.clock’eventB.clock’eventandclock=’1’C.clock=’0’D.clock’eventandclock=’0’72.在VHDL的FOR_LOOP语句中的循环变量是一个临时变量,属于LOOP语句的局部量,B事先声明。A.必须B.不必C.其类型要D.其属性要73.在VHDL中,语句”FORIIN0TO7LOOP”定义循环次数为A次。A.8B.7C.0D.174.在VHDL中,PROCESS结构内部是由B语句组成的。A.顺序B.顺序和并行C.并行D.任何75.执行MAX+PLUSII的C命令,可以对设计的电路进行仿真。A.CreatDefaultSymbolB.CompilerC.SimulatorD.Programmer76.在VHDL中,PROCESS本身是C语句。A.顺序B.顺序和并行C.并行D.任何77.下面哪一个是VHDL中的波形编辑文件的后缀名B。A.gdfB.scfC.sysD.tdf78.在元件例化语句中,用D符号实现名称映射,将例化元件端口声明语句中的信号与PORTMAP()中的信号名关联起来。A.=B.:=C.<=D.=>79.在VHDL中,含WAIT语句的进程PROCESS的括弧中B再加敏感信号,否则则是非法的。A.可以B.不能C.必须D.有时可以80.在MAX+PLUSII集成环境下为图形文件产生一个元件符号的主要作用是D。A.综合B.编译C.仿真D.被高层次电路设计调用81.在MAX+PLUSII工具软件中,完成网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取和编程文件汇编等操作,并检查设计文件是否正确的过程称为。A.编辑B.编译C.综合D.编程82.VHDL文本编辑中编译时出现如下的报错信息Error:VHDLDesignFile“mux21”mustcontainanentityofthesamename其错误原因是C。A.错将设计文件的后缀写成.tdf而非.vhd。B.错将设计文件存入了根目录,并将其设定成工程。C.设计文件的文件名与实体名不一致。D.程序中缺少关键词。83.执行下列语句后Q的值等于D。„„SIGNALE:STD_LOGIC_VECTOR(2TO5);SIGNALQ:STD_LOGIC_VECTOR(9DOWNTO2);„„E<=(2=>’0’,4=>’0’,OTHERS=>’1’);Q<=(2=>E(2),4=>E(3),5=>’1’,7=>E(5),OTHERS=>E(4));„„A(“11011011”B.“00110100”C.“11011001”D.“00101100”开发工具的发展趋势面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的开发工具,使用统一的集成化设计环境,改变优先考虑具体物理实现方式的传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。开发工具的发展趋势如下:(1)具有混合信号处理能力由于数字电路和模拟电路的不同特性,模拟集成电路EDA工具的发展远远落后于数字电路EDA开发工具。但是,由于物理量本身多以模拟形式存在,实现高性能复杂电子系统的设计必然离不开模拟信号。20世纪90年代以来,EDA工具厂商都比较重视数模混合信号设计工具的开发。美国Cadence、Synopsys等公司开发的EDA工具已经具有了数模混合设计能力,这些EDA开发工具能完成含有模数变换、数字信号处理、专用集成电路宏单元、数模变换和各种压控振荡器在内的混合系统设计。(2)高效的仿真工具在整个电子系统设计过程中,仿真是花费时间最多的工作,也是占用EAD工具时间最多的一个环节。可以将电子系统设计的仿真过程分为两个阶段:设计前期的系统级仿真和设计过程中的电路级仿真。系统级仿真主要验证系统的功能,如验证设计的有效性等;电路级仿真主要验证系统的性能,决定怎样实现设计,如测试设计的精度、处理和保证设计要求等。要提高仿真的效率,一方面是要建立合理的仿真算法;另一方面是要更好地解决系统级仿真中,系统模型的建模和电路级仿真中电路模型的建模技术。在未来的EDA技术中,仿真工具将有较大的发展空间。(3)理想的逻辑综合、优化工具逻辑综合功能是将高层次系统行为设计自动翻译成门级逻辑的电路描述,做到了实际与工艺的独立。优化则是对于上述综合生成的电路网表,根据逻辑方程功能等效的原则,用更小、更快的综合结果替代一些复杂的逻辑电路单元,根据指定目标库映射成新的网表。随着电子系统的集成规模越来越大,几乎不可能直接面向电路图做设计,要将设计者的精力从繁琐的逻辑图设计和分析中转移到设计前期算法开发上。逻辑综合、优化工具就是要把设计者的算法完整高效地生成电路网表。1.4.3系统描述方式的发展趋势(1)描述方式简便化20世纪80年代,电子设计开始采用新的综合工具,设计工作由逻辑图设计描述转向以各种硬件描述语言为主的编程方式。用硬件描述语言描述设计,更接近系统行为描述,且便于综合,更适于传递和修改设计信息,还可以建立独立于工艺的设计文件,不便之处是不太直观,要求设计师具有硬件语言编程能力,但是编程能力需要长时间的培养。到了20世纪90年代,一些EDA公司相继推出了一批图形化的设计输入工具。这些输入工具允许设计师用他们最方便并熟悉的设计方式(如框图、状态图、真值表和逻辑方程)建立设计文件,然后由EDA工具自动生成综合所需的硬件描述语言文件。图形化的描述方式具有简单直观、容易掌握的优点,是未来主要的发展趋势。)描述方式高效化和统一化(2C/C++语言是软件工程师在开发商业软件时的标准语言,也是使用最为广泛的高级语言。许多公司已经提出了不少方案,尝试在C语言的基础上设计下一代硬件描述语言。随着算法描述抽象层次的提高,使用C/C++语言设计系统的优势将更加明显,设计者可以快速而简洁地构建功能函数,通过标准库和函数调用技术,创建更庞大、更复杂和更高速的系统。但是,目前的C/C++语言描述方式与硬件描述语言之间还有一段距离,还有待于更多EDA软件厂家和可编程逻辑器件公司的支持。随着EDA技术的不断成熟,软件和硬件的概念将日益模糊,使用单一的高级语言直接设计整个系统将是一个统一化的发展趋势。A.设计实体B.结构体C.输入D.输出95.执行下列语句后Q的值等于A。„„SIGNALE:STD_LOGIC_VECTOR(2TO5);SIGNALQ:STD_LOGIC_VECTOR(9DOWNTO2);E<=(2=>’1’,4=>’1’,OTHERS=>’0’);1’,7=>E(5),OTHERS=>E(4));„„Q<=(2=>E(2),4=>E(3),5=>’A(“11011011”B.“00110100”C.“11011001”D.“00101100”96.在VHDL的IEEE标准库中,预定义的标准逻辑位STD_LOGIC的数据类型中是用表示的。A(小写字母和数字B.大写字母数字C.大或小写字母和数字D.全部是数字97.执行MAX+PLUSII的A命令,可以为设计电路建立一个元件符号。A(createdefaultsymbolB.simulatorC.compilerD.timinganalyzer98.在VHDL中,条件信号赋值语句WHEN_ELSE属于语句。A(并行和顺序B.顺序C.并行D.不存在的99.在VHDL的IEEE标准库中,预定义的标准逻辑数据STD_LOGIC有C种逻辑值。A(2B.3C.9D.8100.一个能为VHDL综合器接受,并能作为一个独立的设计单元的完整的VHDL程序成为。A(设计输入B.设计输出C.设计实体D.设计结构一、填空题(本大题共10小题,每空1分,共20分)1(一般把EDA技术的发展分为MOS时代、MOS时代和ASIC三个阶段。2(EDA设计流程包括设计输入、设计实现、实际设计检验和下载编程四个步骤。3(EDA设计输入主要包括图形输入、HDL文本输入和状态机输入。4(时序仿真是在设计输入完成之后,选择具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为功能仿真。5(VHDL的数据对象包括变量、常量和信号,它们是用来存放各种类型数据的容器。6(图形文件设计结束后一定要通过仿真,检查设计文件是否正确。7(以EDA方式设计实现的电路设计文件,最终可以编程下到FPGA和CPLD芯片中,完成硬件设计和验证。8(MAX+PLUS的文本文件类型是(后缀名).VHD。9(在PC上利用VHDL进行项目设计,不允许在根目录下进行,必须在根目录为设计建立一个工程目录。10(VHDL源程序的文件名应与实体名相同,否则无法通过编译。二、选择题:(本大题共5小题,每小题3分,共15分)。11(在EDA工具中,能完成在目标系统器件上布局布线软件称为(C)A.仿真器B.综合器C.适配器D.下载器12(在执行MAX+PLUS?的(d)命令,可以精确分析设计电路输入与输出波形间的延时量。A.CreatedefaultsymbolB.SimulatorC.CompilerD.TimingAnalyzer13(VHDL常用的库是(A)A.IEEEB.STDC.WORKD.PACKAGE14(下面既是并行语句又是串行语句的是(C)A.变量赋值B.信号赋值C.PROCESS语句D.WHEN„ELSE语句15(在VHDL中,用语句(D)表示clock的下降沿。A.clock’EVENTB.clock’EVENTANDclock=’1’C.clock=’0’D.clock’EVENTANDclock=’0’三、名词解释题:(本大题共3题,每小题3分,共计9分)16(EDA:电子设计自动化17(VHDL和FPGA:超高速硬件描述语言现场可编程门阵列1.一个项目的输入输出端口是定义在()1-5ACDCD6-10CCACAA.实体中;.B.结构体中;C.任何位置;D.进程中。2.MAXPLUS2中编译VHDL源程序时要求()A.文件名和实体可以不同名;B.文件名和实体名无关;C.文件名和实体名要相同;D.不确定。3.VHDL语言中变量定义的位置是()A.实体中中任何位置;B.实体中特定位置;C.结构体中任何位置;D.结构体中特定位置。4.可以不必声明而直接引用的数据类型是()A.STD_LOGIC;B.STD_LOGIC_VECTOR;C.BIT;D.ARRAY。5.MAXPLUS2不支持的输入方式是()A文本输入;.B.原理图输入;C.波形输入;D.矢量输入。6.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是()A.FPGA全称为复杂可编程逻辑器件;B.FPGA是基于乘积项结构的可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。7.下面不属于顺序语句的是()A.IF语句;B.LOOP语句;C.PROCESS语句;D.CASE语句。8.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,实体体描述的是()A.器件外部特性;B.器件的内部功能;C.器件的综合约束;D.器件外部特性与内部功能。9.进程中的信号赋值语句,其信号更新是()A.按顺序完成;B.比变量更快完成;C.在进程的最后完成;D.都不对。10.嵌套使用IF语句,其综合结果可实现:()A.带优先级且条件相与的逻辑电路;B.条件相或的逻辑电路;C.三态控制电路;D.双向控制电路。一、选择题:(20分)1(下列是EDA技术应用时涉及的步骤:A.原理图/HDL文本输入;B.适配;C.时序仿真;D.编程下载;E.硬件测试;F.综合请选择合适的项构成基于EDA软件的FPGA/CPLD设计流程:A?___F___?___B__?____C___?D?___E____2(PLD的可编程主要基于A.LUT结构或者B.乘积项结构:请指出下列两种可编程逻辑基于的可编程结构:FPGA基于____A_____CPLD基于____B_____3(在状态机的具体实现时,往往需要针对具体的器件类型来选择合适的状态机编码。对于A.FPGAB.CPLD两类器件:一位热码状态机编码方式适合于____A____器件;顺序编码状态机编码方式适合于____B____器件;4(下列优化方法中那两种是速度优化方法:____B__、__D__A.资源共享B.流水线C.串行化D.关键路径优化单项选择题:5(综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,___D___是错误的。A.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件;B.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;C.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系不是唯一的。D.综合是纯软件的转换过程,与器件硬件结构无关;6(嵌套的IF语句,其综合结果可实现___D___。A.条件相与的逻辑B.条件相或的逻辑C.条件相异或的逻辑D.三态控制电路7(在一个VHDL设计中Idata是一个信号,数据类型为std_logic_vector,试指出下面那个赋值语句是错误的。DA.idata<=“00001111”B.idata<=b”0000_1111”;C.idata<=X”AB”;D.idata<=B”21”;8(在VHDL语言中,下列对时钟边沿检测描述中,错误的是__D___。A.ifclk’eventandclk=‘1’thenB.iffalling_edge(clk)thenC.ifclk’eventandclk=‘0’thenD.ifclk’stableandnotclk=‘1’then9(请指出AlteraCyclone系列中的EP1C6Q240C8这个器件是属于__C___A.ROMB.CPLDC.FPGAD.GAL二、EDA名词解释,(10分)写出下列缩写的中文(或者英文)含义:1.ASIC专用集成电路2.FPGA现场可编程门阵列3.CPLD复杂可编程逻辑器件4.EDA电子设计自动化5.IP知识产权核6.SOC单芯片系统一、单项选择题1、2.基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入?__A__?综合?适配?____B____?编程下载?硬件测试。P14A.功能仿真B.时序仿真C.逻辑综合D.配置3.IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__A___。P25A.软IPB.固IPC.硬IPD.全对4.综合是EDA设计流程的关键步骤,在下面对综合的描述中,_____D____是错误的。P15A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。B.综合就是将电路的高级语言转化成低级的,可与FPGA/CPLD的基本结构相映射的网表文件。C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。5.大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻辑功能。P42A.可编程乘积项逻辑B.查找表(LUT)C.输入缓冲D.输出缓冲6.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_____B___。P274A.器件外部特性B.器件的内部功能C.器件外部特性与内部功能D.器件的综合约束7.电子系统设计优化,主要考虑提高资源利用率减少功耗(即面积优化),以及提高运行速度(即速度优化);下列方法中___A___不属于面积优化。P238A.流水线设计B.资源共享C.逻辑优化D.串行化8.进程中的信号赋值语句,其信号更新是___B____。P134A.立即完成B.在进程的最后完成C.按顺序完成D.都不对9.不完整的IF语句,其综合结果可实现__A__。P147A.时序逻辑电路B.组合逻辑电路C.双向电路D.三态控制电路10.状态机编码方式中,其中__A__占用触发器较多,但其简单的编码方式可减少状态译码组合逻辑资源,且易于控制非法状态。P221A.一位热码编码B.顺序编码C.状态位直接输出型编码D.格雷码编码二、VHDL程序填空1.下面程序是1位十进制计数器的VHDL描述,试补充完整。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT10ISPORT(CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDCNT10;ARCHITECTUREbhvOFCNT10ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THEN--边沿检测IFQ1>10THENQ1<=(OTHERS=>'0');--置零ELSEQ1<=Q1+1;--加1ENDIF;ENDIF;ENDPROCESS;Q<=Q1;ENDbhv;2.下面是一个多路选择器的VHDL描述,试补充完整。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYbmuxISPORT(sel:INSTD_LOGIC;A,B:INSTD_LOGIC_VECTOR(7DOWNTO0);Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDbmux;ARCHITECTUREbhvOFbmuxISBEGINy<=Awhensel='1'ELSEB;ENDbhv;三、VHDL程序改错仔细阅读下列程序,回答问题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--19WHEN"0000"=>LED7S<="0111111";--20WHEN"0001"=>LED7S<="0000110";--21WHEN"0010"=>LED7S<="1011011";--22WHEN"0011"=>LED7S<="1001111";--23WHEN"0100"=>LED7S<="1100110";--24WHEN"0101"=>LED7S<="1101101";--25WHEN"0110"=>LED7S<="1111101";--26WHEN"0111"=>LED7S<="0000111";--27WHEN"1000"=>LED7S<="1111111";--28WHEN"1001"=>LED7S<="1101111";--29ENDCASE;--30ENDPROCESS;--31ENDone;--321.在程序中存在两处错误,试指出,并说明理由:第14行TMP附值错误第29与30行之间,缺少WHENOTHERS语句2.修改相应行的程序:错误1行号:9程序改为:TMP:STD_LOGIC_VECTOR(3DOWNTO0);错误2行号:29程序改为:该语句后添加WHENOTHERS=>LED7S<="0000000";四、阅读下列VHDL程序,画出原理图(RTL级)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYHADISPORT(a:INSTD_LOGIC;b:INSTD_LOGIC;c:OUTSTD_LOGIC;d:OUTSTD_LOGIC);ENDENTITYHAD;ARCHITECTUREfh1OFHADISBEGINc<=NOT(aNANDb);d<=(aORb)AND(aNANDb);ENDARCHITECTUREfh1;五、请按题中要求写出相应VHDL程序1.带计数使能的异步复位计数器输入端口:clk时钟信号rst异步复位信号en计数使能load同步装载data(装载)数据输入,位宽为10输出端口:q计数输出,位宽为10LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT1024ISPORT(CLK,RST,EN,LOAD:INSTD_LOGIC;DATA:INSTD_LOGIC_VECTOR(9DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(9DOWNTO0));ENDCNT1024;ARCHITECTUREONEOFCNT1024ISBEGINPROCESS(CLK,RST,EN,LOAD,DATA)VARIABLEQ1:STD_LOGIC_VECTOR(9DOWNTO0);BEGINIFRST='1'THENQ1:=(OTHERS=>'0');ELSIFCLK='1'ANDCLK'EVENTTHENIFLOAD='1'THENQ1:=DATA;ELSEIFEN='1'THENQ1:=Q1+1;ENDIF;ENDIF;ENDIF;Q<=Q1;ENDPROCESS;ENDONE;2.看下面原理图,写出相应VHDL描述eabyLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYTRI_STATEISPORT(E,A:INSTD_LOGIC;Y:INOUTSTD_LOGIC;B:OUTSTD_LOGIC);ENDTRI_STATE;ARCHITECTUREBEHAVOFTRI_STATEISBEGINPROCESS(E,A,Y)BEGINIFE='0'THENB<=Y;Y<='Z';ELSEB<='Z';Y<=A;ENDIF;ENDPROCESS;ENDBEHAV;六、综合题下图是一个A/D采集系统的部分,要求设计其中的FPGA采集控制模块,该模块由三个部分构成:控制器(Control)、地址计数器(addrcnt)、内嵌双口RAM(adram)。控制器(control)是一个状态机,完成AD574的控制,和adram的写入操作。Adram是一个LPM_RAM_DP单元,在wren为’1’时允许写入数据。试分别回答问题信号预处理1212ADDatarddata12rddataadramSTATUS放大AD574wren(lpm_ram_dp)rdaddr采样/保持1CS10CEControl10wraddrA0AnalogInRC地址ClkIncCntclrK12_8计数器CLKFPGA采集控制下面列出了AD574的控制方式和控制时序图AD574逻辑控制真值表(X表示任意)CECSRCK12_8A0工作状态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位并行输出有效10100高8位并行输出有效10101低4位加上尾随4个0有效AD574工作时序:1.要求AD574工作在12位转换模式,K12_8、A0在control中如何设置K12_8为‘1’,A0为‘0’2.试画出control的状态机的状态图类似书上图8-43.对地址计数器模块进行VHDL描述输入端口:clkinc计数脉冲cntclr计数器清零输出端口:rdaddrRAM读出地址,位宽10位libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityaddr_cntisport(clkinc,cntclr:instd_logic;wraddr:outstd_logic_vector(9downto0));endaddr_cnt;architectureoneofaddr_cntissignaltmp:std_logic_vector(9downto0);beginprocess(clkinc,cntclr)beginifclkinc'eventandclkinc='1'thenifcntclr='1'thentmp<=(others=>'0');elsetmp<=tmp+1;endif;endif;endprocess;wraddr<=tmp;endone;4.根据状态图,试对control进行VHDL描述libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycontrolisport(addata:instd_logic_vector(11downto0);status,clk:instd_logic;cs,ce,a0,rc,k12_8,clkinc:outstd_logic;rddata:outstd_logic_vector(11downto0));endcontrol;architecturebehavofcontrolistypecon_stis(s0,s1,s2,s3,s4);signalcst,nst:con_st;signallock:std_logic;signalreg12:std_logic_vector(11downto0);begina0<='0';k12_8<='1';ce<='1';cs<='0';REGP:process(clk)beginifclk'eventandclk='1'thencst<=nst;endif;endprocess;COMP:process(cst,status,addata)begincase(cst)iswhens0=>rc<='1';lock<='0';nst<=s1;whens1=>rc<='0';lock<='0';nst<=s2;whens2=>ifstatus='1'thennst<=s3;endif;rc<='1';lock<='0';whens3=>rc<='1';lock<='1';nst<=s4;whens4=>rc<='1';lock<='0';nst<=s0;whenothers=>nst<=s0;endcase;endprocess;LOCKP:process(lock)beginiflock='1'andlock'eventthenreg12<=addata;endif;endprocess;rddata<=reg12;clkinc<=lock;--(或者为NOTLOCK,延后半个时钟)endbehav;5.已知adram的端口描述如下ENTITYadramISPORT(data:INSTD_LOGIC_VECTOR(11DOWNTO0);--写入数据wraddress:INSTD_LOGIC_VECTOR(9DOWNTO0);--写入地址rdaddress:INSTD_LOGIC_VECTOR(9DOWNTO0);--读地址wren:INSTD_LOGIC:='1';--写使能q:OUTSTD_LOGIC_VECTOR(11DOWNTO0)--读出数据);ENDadram;试用例化语句,对整个FPGA采集控制模块进行VHDL描述libraryieee;useieee.std_logic_1164.all;entitydacoisport(clk,cntclr,status:instd_logic;addata:instd_logic_vector(11downto0);rdaddr:instd_logic_vector(9downto0);cs,ce,a0,rc,k12_8:outstd_logic;rddata:outstd_logic_vector(11downto0));enddaco;architectureoneofdacoiscomponentcontrolisport(addata:instd_logic_vector(11downto0);status,clk:instd_logic;cs,ce,a0,rc,k12_8,clkinc:outstd_logic;rddata:outstd_logic_vector(11downto0));endcomponent;componentaddr_cntisport(clkinc,cntclr:instd_logic;wraddr:outstd_logic_vector(9downto0));endcomponent;componentadramISPORT(data:INSTD_LOGIC_VECTOR(11DOWNTO0);--写入数据wraddress:INSTD_LOGIC_VECTOR(9DOWNTO0);--写入地址rdaddress:INSTD_LOGIC_VECTOR(9DOWNTO0);--读地址wren:INSTD_LOGIC:='1';--写使能q:OUTSTD_LOGIC_VECTOR(11DOWNTO0)--读出数据);ENDcomponent;signalrds:std_logic_vector(11downto0);signalclkinc:std_logic;signalwraddr:std_logic_vector(9downto0);beginu1:controlportmap(addata=>addata,status=>status,clk=>clk,cs=>cs,ce=>ce,a0=>a0,rc=>rc,k12_8=>k12_8,clkinc=>clkinc,rddata=>rds);u2:addr_cntportmap(clkinc=>clkinc,cntclr=>cntclr,wraddr=>wraddr);u3:adramportmap(data=>rds,wraddress=>wraddr,rdaddress=>rdaddr,wren=>'1',q=>rddata);endone;二、名词解释,写出下列缩写的中文(或者英文)含义: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知识产15ASICApplicationSpecificIntegratedCircuits专用集成电路16ISPInSystemProgrammable在系统可编程17ICRInCircuitRe-config在电路可重构18RTLRegisterTransferLevel寄存器传输19EDAElectronicDesignAutomation电子设计自动化信号与变量的区别:信号赋值语句在进程外作为并行语句,并发执行,与语句所处的位置无关。变赋值语句在进程内或子程序内作为顺序语句,按顺序执行,与语句所处的位置有关。信号赋值符号为<=,变量赋值符号位:=。信号赋值符号用于信号赋值动作,不立即生效,变量赋值符号用于变量赋值动作,立即生效。1、FPGA结构一般分为三部分:可编程逻辑块(CLB)、可编程I/O模块和可编程内部连线。2、CPLD的内部连线为连续式布线互连结构,任意一对输入、输出端之间的延时是固定;FPGA的内部连线为分段式布线互连结构,各功能单元间的延时不定(不可预测)。3、大规模可编程器件主要有CPLD和FPGA两类,其中CPLD通过可编程乘积项逻辑实现其逻辑功能。基于SRAM的FPGA器件,每次上电后必须进行一次配置。FPGA内部阵列的配置一般采用在电路可重构技术,编程数据保存在静态存储器(SRAM),掉电易失。4、目前世界上有十几家生产CPLD/FPGA的公司,最大的两家是:Altera,Xilinx。5、硬件描述语言(HDL)是EDA技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据流描述的语言,它的种类很多,如VHDL、VerilogHDL、AHDL6、WHEN_ELSE条件信号赋值语句和IF_ELSE顺序语句的异同:*WHEN_ELSE条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。*IF_ELSE顺序语句中有分号;是顺序语句,必须放在进程中7、可编程逻辑器件设计输入有原理图输入、硬件描述语言输入和波形输入三种方式。原理图输入方式是一种最直接的设计描述方式,波形设计输入适用于时序逻辑和有重复性的逻辑函数。硬件描述语言的突出优点是:*语言与工艺的无关性;语言的公开可利用性,便于实现大规模系统的设计;*具有很强逻辑描述和仿真功能,而且输入效率高,在不同设计输入库之间的转换非常方便,用不着对底层的电路和PLD结构的熟悉。8、用VHDL/VeilogHDL语言开发可编程逻辑电路的完整流程:文本编辑?功能仿真?逻辑综合?布局布线?时序仿真。*所谓综合,就是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计输入转换成满足要求的电路设计方案,该方案必须同时满足与其的功能和约束条件。综合的过程也是设计目标的优化过程,其目的是将多个模块化设计文件合并为一个网表文件,供布局布线使用,网表中包含了目标器件中的逻辑单元和互连的信息。*布局布线就是根据设计者指定的约束条件(如面积、延时、时钟等)、目标器件的结构资源和工艺特性,以最优的方式对逻辑元件布局,并准确地实现元件间的互连,完成实现方案(网表)到使实际目标器件(FPGA或CPLD)的变换。9、基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入?功能仿真?综合?适配?时序仿真?编程下载?硬件测试。*综合是EDA设计的关键步骤,综合就是将电路的高级语言转换成低级的,可与FPGA/CPLD相映射的功能网表文件。为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。10、构成一个完整的VHDL语言程序的五个基本结构:实体(ENTITY)、结构体(ARCHITECURE)、配置(CONFIGURATION)、库(LIBRARY)、程序包(PACKAGE)。*实体的由实体说明和结构体两部分组成。实体说明部分用于描述所设计系统的外部端口信号和参数的属性和设置,而结构体部分则定义了设计单元的具体功能、行为、数据流程或内部结构。*结构体的三种描述方式,即行为级描述、数据流级描述和结构级描述。*结构体通常由结构体名称、定义语句和并行处理语句构成。*程序包用于存放各设计模块能共享的数据类型、常数、子程序等。*库用于存放已编译的实体、结构体、程序包和配置,可以通过其目录进行查询和调用。在VHDL语言中,可以存在多个不同的库,但是库与库之间是独立的,不能互相嵌套。它可由用户生成或由ASIC芯片制造商提供,以便于在设计中为大家所共享。*库用于存放已编译的实体、结构体、程序包和配置,可以通过其目录进行查询和调用。在VHDL语言中,可以存在多个不同的库,但是库与库之间是独立的,不能互相嵌套。它可由用户生成或由ASIC芯片制造商提供,以便于在设计中为大家所共享。常用库:(1)IEEE库:IEEE库主要包括std_l

温馨提示

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

评论

0/150

提交评论