版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1参考答案一、填空题1.EDA技术的中文含义是电子设计自动化。2.通常EDA技术的发展分为计算机辅助设计(CAD)、计算机辅助工程设计(CAED)和电子系统设计自动化(ESDA)三个阶段。3.被IEEE采纳为标准硬件描述语言有VHDL和VerilogHDL。4.采用EDA技术进行数字系统设计,可以采用自底向上(Bottom-up)设计法和自顶向下(Top-down)设计法。5.IP核可分为三种,分别是软核(SoftCore)、固核(FirmCore)和硬核(HardCore)。6.进行EDA项目开发时,其设计输入可以采用图形输入方式、波形图输入方式和采用硬件描述语言的文本输入方式等。二、单项选择题1.利用计算机辅助进行电路原理图编辑,PCB(PrintedCircuitBoard,印刷电路板)布局布线,属于EDA技术发展的第(A)阶段。A、第1阶段B、第2阶段C、第3阶段D、第4阶段2.下列不属于可编程逻辑器件显著特点的是(B)。A、高集成度B、可移植性C、高速度D、高可靠性3.下列不属于EDA技术主要内容的是(C)。A、HDLB、PLDC、计算机D、EDA工具软件4.SOPC技术解决方案倡导者是(A)。A、AlteraB、XilinxC、LatticeD、Actel5.首创现场可编程逻辑阵列的公司是(B)。A、AlteraB、XilinxC、LatticeD、Actel6.在线可编程技术的发明者是(C)。A、AlteraB、XilinxC、LatticeD、Actel7.基于硬件描述语言的数字系统设计,目前主流的设计方法是(B)。A、自底向上B、自顶向下C、积木式D、顶层8.如果整个设计不能装入一片器件时,可以将整个设计通过(B)过程可将多块并装入同一系列的多片器件中去。A、优化和综合B、适配和分割C、布局和布线D、编译和检查9.ASIC的中文含义是(B)。A、片上系统B、专用集成电路C、并行设计D、计算机辅助制造10.利用(B)可以将VerilogHDL程序进行编译、优化、转换和综合后得到网表文件。A、仿真器B、编译器C、综合器D、适配器三、多项选择题1.当前应用最为广泛的PLD器件是(AB)。A、CPLDB、FPGAC、GALD、PAL2.下列属于CPLD/FPGA集成开发工具的是(ABC)A、QuartusPrimeB、ispLEVERC、VivadoD、Keil3.手机SoC可以集成的模块有(ABCD)。A、CPUB、GPUC、RAMD、DSP4.以下属于CPLD/FPGA设计流程的是(ABCD)A、设计输入B、综合与优化C、设计校验D、器件编程5.ASIC的种类主要包括(ABC)。A、数字ASICB、模拟ASICC、数/模混合ASICD、电子管电路6.对于数字ASIC而言,可采用半定制法的种类主要包含(ABD)。A、门阵列法B、标准单元法C、全定制D、可编程逻辑器件法7.以下属于ASIC设计流程的是(ABCD)。A、系统划分B、逻辑设计与综合C、版图设计D、制版流片四、判断题1.ESDA阶段是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题。(×)2.进行CPLD/FPGA开发时,可以采用原理图输入方式进行项目设计。(√)3.采用自底向上进行数字系统的设计,主是依赖于设计者的经验,不易实现系统化。(√)4.IP固核只完成了RTL级的行为设计,是以HDL方式提交使用。(×)5.SoC可以集成人工智能功能,使设备能够像人类一样“思考”和“学习”。(√)6.数字系统在设计处理以后,需对系统和各模块进行功能仿真,分析其时序关系,估计设计的性能及检查和消除竞争冒险等。(×)五、简答题1.现代EDA技术的特点有哪些?利用EDA技术(特指IES/ASIC自动设计技术)进行电子系统的设计,具有以下特点。=1\*GB3①用软件的方式对系统进行硬件设计;=2\*GB3②用软件方式设计的系统到硬件系统的转换是由开发软件自动完成的;=3\*GB3③设计过程中可用有关软件进行各种仿真;=4\*GB3④具有高层综合和优化的功能,能在系统级对系统进行综合、优化和仿真;=5\*GB3⑤采用大规模可编程器件实现系统;=6\*GB3⑥所设计的系统可现场编程,在线升级;=7\*GB3⑦提供开放性和标准化和操作环境,可实现资源共享、设计的移植;=8\*GB3⑧采用平面规划技术,可对逻辑综合和物理版图设计进行联合管理;=9\*GB3⑨带有嵌入IP(IntellectualProperty,知识产权)核的ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)设计,提供软、硬件协同设计工具;=10\*GB3⑩支持多人的并行设计,适合团队协作、分工设计。2.数字系统的设计方法有哪些?各有什么特点?基于EDA技术的数字系统设计,通常可以采用两种设计法:自底向上(Bottom-up)设计法和自顶向下(Top-down)设计法。自底向上(Bottom-up)设计法使用真值表、卡诺图、逻辑方程、状态表和状态图来描述系统的逻辑功能,以电路图来表达设计思想,由通用逻辑器件搭接成电路板,通过对电路板的设计实现系统功能。这种设计方法具有以下几个特点。=1\*GB3①设计方法没有明显的规律可循,采用试探的方法完成系统设计。设计依赖于设计者的经验,不易实现系统化、清晰易懂的设计。=2\*GB3②系统的性能分析和测试、功能验证和仿真只能在系统构成后进行,调试复杂,修改设计比较困难。=3\*GB3③设计依赖于现有的通用元器件,设计实现周期长、灵活性差、费时费用、效率较低。自顶向下(Top-down)设计法以硬件描述语言来表达设计思想,利用EDA工具,采用PLD器件,通过设计芯片来完成系统功能。其方案验证与设计、系统逻辑综合、布局布线、功能仿真、器件编程等均由EDA工具一体化完成。自顶向下设计法的特点具有以下几个特点。=1\*GB3①自顶向下设计方法是一种模块化设计方法,对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设计同器件无关,设计易于在各种集成电路工艺或可编程器件之间移植。=2\*GB3②适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,必须经过多个设计者分工协作完成一项设计的情况越来越多。在这种情况下,应用自顶向下的设计方法便于由多个设计者同时进行设计,对设计任务进行合理分配,用系统工程的方法对设计进行管理。=3\*GB3③自顶向下的设计方法使得高层设计完全独立于目标器件的结构,在设计的初级阶段,设计人员可以摆脱芯片结构的束缚,将精力集中在可以规避传统设计方法中的再设计风险的环节,缩短了产品的开发周期,降低了成本。3.从使用的角度来讲,EDA技术主要包括几个方面的内容?这几个方面在整个电子系统的设计中分别起什么作用?EDA技术主要包括大规模可编程逻辑器件、硬件描述语言和软件开发工具。其中大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体;硬件描述语言是一种对于数字电路和系统进行性能描述的模拟的语言,即利用高级语言来描述硬件电路的功能、信号连接关系以及各器件间的时序关系;软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具。4.IP在EDA技术的应用和发展中的意义是什么?IP(IntellectualProperty)原来的含义是指知识产权、著作权等,在IC设计领域,可将其理解为实现某种功能的设计,IP核(IP模块)则是指完成某种功能的设计模块。IP技术是针对可复用的设计而言的,其本质特征是功能模块的可复用性。基于IP核的设计能节省开发时间、缩短开发周期、避免重复劳动,因此基于IP复用的设计技术得到广泛应用。5.功能仿真和时序仿真有哪些区别?功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。此时的仿真没有延时信息或由系统添加的微小标准延时,这对于初步的功能检测非常方便。时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局、布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能及检查和消除竞争冒险等是非常有必要的。6.EDA设计流程包括哪些步骤和验证过程?EDA设计流程包括设计准备、设计输入、设计处理、器件编程和设计完成这5个步骤,以及功能仿真、时序仿真和器件测试这3个设计验证过程。
项目2参考答案一、填空题1.逻辑器件分为两大类,分别是固定逻辑器件和可编程逻辑器件。2.可编程逻辑器件按规模大小可分为简单PLD和复杂PLD;按编程方式可分为一次可编程(OTP)和多次重复可编程(MTP)。3.目前应用最为广泛的大规模可编程逻辑器件分别是CPLD和FPGA。4.与-或结构的PLD主要由输入电路、与阵列、或阵列和输出电路四部分构成。5.PLD的中文含义是可编程逻辑器件,CPLD的中文含义是复杂可编程逻辑器件,FPGA的中文含义是现场可编程门阵列。6.MAX3000A从整体结构上看,器件主要由逻辑阵列块(LAB)、I/O控制模块和可编程互连阵列(PIA)这3部分组成。7.CPLD一般采用乘积项结构,其信息能够(能够/不能)加密;断电后,CPLD中的数据不会(会/不会)丢失。8.FPGA一般采用查找表结构,其信息不能(能够/不能)加密;断电后,FPGA中的数据会(会/不会)丢失。9.通常,将对CPLD的数据文件下载称为编程,而对FPGA中的SRAM数据直接下载的方式称为配置。二、单项选择题1.在(C)器件中,与门阵列可编程,或门阵列固定连接。A、PLAB、PROMC、PALD、ASIC2.在下列器件中,不属于高密可编程逻辑器件的是(D)。A、CPLDB、EPLDC、FPGAD、PAL3.可编程逻辑器件的基本结构形式为(A)。A、与-或B、或-与C、与-与D、或-或4.下列关于FPGA器件描述正确的是(C)。A、FPGA全称为复杂可编程逻辑器件B、FPGA属于乘积项结构的器件C、基于SRAM的FPGA器件,每次上电须进行一次配置D、Altera公司推出的MAX3000A属于FPGA结构5.下列关于CPLD器件描述正确的是(D)。A、CPLD是基于查找表结构的器件B、CPLD是现场可编程逻辑器件的英文简称C、早期的CPLD是从FPGA的结构扩展而来D、在Xilinx公司生产的器件中,XC9500系列属于CPLD结构6.对CPLD器件特点描述正确的是(B)。A、不能多次编程B、可多次编程C、用紫外线擦除D、用红外线擦除7.对FPGA器件特点描述正确的是(B)。A、采用E2PROM工艺B、采用SRAM工艺C、集成度比PAL和GAL低D、断电后配置数据不丢失8.只能一次编程的器件是(A)。A、PLAB、CPLDC、FPGAD、GAL三、多项选择题1.在数字电路中,基本门电路主要包含以下(ABCD)电路。A、与门B、或门C、非门D、异或门2..下列属于FPGA器件的系列产品有(ABCD)。A、Virtex-6B、Spartan-3EC、CycloneD、Stratix3.下列属于Altera公司推出的FPGA系列器件有(ACD)。A、ArriaVB、MAX7000C、Statix=5\*ROMANVD、Agilex4.下列属于Xilinx公司推出的FPGA系列器件有(AB)。A、UltraScaleB、Spartan-7C、XC9500D、CoolRunner5.下列属于Lattice公司推出的FPGA系列器件有(ABC)。A、EC/ECPB、SC/MC、MachXOD、ispMACH6.在下列器件中,不属于易失性器件的是(ABD)。A、CPLDB、EPLDC、FPGAD、PAL7.以下属于FPGA器件特点的是(ABCD)。A、高密度B、低功耗低成本C、可多次编程D、可现场模拟调试验证8.下列属于Cyclone=4\*ROMANIVE器件组成部分的有(ABCD)。A、LABB、嵌入式存储器块C、嵌入式乘法器D、I/O单元9.FPGA的配置方式包括(ABD)。A、PSB、JTAGC、PROMD、AS四、判断题1.Altera的Cyclone=4\*ROMANIV侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求。(√)2.Xilinx是全球领先的可编程逻辑完整解决方案供应商,高性能FPGA器件的最大供应商。(√)3.GAL是指专用集成电路。(×)4.Cyclone=4\*ROMANIVE属于CPLD器件。(×)5.Statix10系列是Altera公司于推出的具有高性能、高密度、低功耗等特点的高端FPGA。(√)6.FPGA是可编程逻辑器件,CPLD不是可编程逻辑器件。(×)7.CPLD属于“逻辑丰富”型器件,其门资源多而触发器较少;FPGA属于“寄存器丰富”型器件,其触发器资源丰富。(√)8.大部分FPGA采用SRAM(静态随机存储器)的查找表逻辑形成结构。(√)9.目前大多数CPLD采用了Flash工艺。(√)10.CPLD编程和FPGA配置可以使用专用的编程设备,也可以使用下载电缆。(√)五、简答题1.简述PROM、PAL、PLA、和GAL的基本结构特点。在PROM中,与门阵列是固定的,或门阵列是可编程的,器件采用熔丝工艺,一次性编程使用。PLA由与阵列和或阵列构成,这两个阵列均可编程,克服了PROM的缺陷,提高了存储单元的利用率。在PAL器件中,与门阵列是可编程的,或门阵列是固定连接的,它有多种输出和反馈结构,为数字逻辑设计带来了一定的灵活性,因而成为第一个得到普遍应用的PLD。GAL器件和PAL一样,它的与门阵列是可编程的,或门阵列是固定的。它采用输出逻辑宏单元(OLMC)的结构和E2PROM工艺,具有可编程、电可擦除、可长期保持数据的优点,使用方便。2.通常,PLD的分类方法有哪几种?从集成密度上分,PLD可分为低密度PLD(LDPLD)和高密度PLD(HDPLD);结构上可以分为乘积项(Product-Term)结构器件和查找表结构器件;按编程次数的不同,可将PLD分为一次可编程(OTP)和多次重复可编程(MTP)两类;按编程工艺划分,PLD可分为熔丝型、反熔丝型、EPROM型、EEPROM型、SRAM型和Flash型。3.基本PLD的结构由哪些部分组成?各有什么作用?基本PLD的结构主要由输入电路、与阵列、或阵列、输出电路等部分组成。主体是由门电路构成的与阵列和或阵列,它们主要用来实现组合逻辑函数。输入处理电路是由输入缓冲器组成的,其功能主要是使输入信号具有足够的驱动能力并产生输入变量的原变量以及反变量两个互补的信号。输出处理电路主要由三态门寄存器组成,主要提供不同的输出方式,可以由或阵列直接输出(组合方式),也可以通过寄存器输出(时序方式)。4.MAX3000A的逻辑阵列块LAB由多少个宏单元构成?每个宏单元由哪些部分构成,各作用是什么?MAX3000A的逻辑阵列块LAB由16个宏单元构成,每个宏单元由3个功能块组成:逻辑阵列功能块、乘积项选择矩阵和可编程寄存器。其中逻辑阵列实现组合逻辑功能,可给每个宏单元提供5个乘积项;乘积项选择矩阵分配这些乘积项作为主要逻辑输入,以实现组合逻辑函数。可编程寄存器功能模块主要由可编程配置寄存器和时钟选择多路选择器、快速输入选择多路选择器、复位选择多路选择器、寄存器旁路选择多路选择器等组成。可配置寄存器可以单独地被配置为带有可编程时钟控制和D、T、JK或SR触发器工作方式,也可以将寄存器旁路掉,以实现组合逻辑工作方式。5.CPLD和FPGA在性能上有哪些差异?①CPLD它是“逻辑丰富”型器件,CPLD的门资源多而触发器资源较FPGA少,适合完成各种算法和组合逻辑;而FPGA是“寄存器丰富”型的(即其寄存器与逻辑门的比例高)器件,FPGA触发器资源丰富而门资源比CPLD少,更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内部连线电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。④FPGA相对CPLD而言,其集成度比CPLD高,它的规模也比CPLD要大,并且FPGA具有更复杂的布线结构和逻辑实现。注意,CPLD和FPGA的门数的定义不一样,实际上对门没有统一的定义。不能认为CPLD的10000门的规模就比FPGA的5000门的规模大,我们比较能接受的是在ASIC中定义一个与非门为一个门。⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FastFlash技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。⑥CPLD的运行速度比FPGA快,并且具有较大的时间可预测性。这是因为FPGA采用门级编程,并且可配置逻辑模块CLB(ConfigurableLogicBlock)之间采用分布式互联,这意味着每个逻辑单元间存在延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随着设计密度的增加,信号不得不通过许多开关,路由延迟也不断增加,从而大大降低了FPGA的整体运行速度。而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的,这意味着进出器件的路径经过较少的开关,相应地延迟也小。⑦在编程方式上,CPLD主要是基于E2PROM或FastFlash存储器编程,编程次数可达1万次,其特点是系统断电时编程信息不丢失。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中,其特点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。⑧CPLD保密性好,FPGA保密性差。⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。6.常见的大规模逻辑器件的编程和配置有哪些工艺?目前,常见的大规模可编程逻辑器件的编程和配置工艺有:=1\*GB3①基于EEPROM或Flash技术的电可擦编程工艺。这种工艺的优点是掉电后编程信息不会丢失,但编程次数有限,编程速度不快。=2\*GB3②基于SRAM查找表的编程工艺。这种编程工艺,编程信息是保持在SRAM中的,SRAM在掉电后编程信息立即丢失,在下次上电后,需要重新载入编程信息。通常将编程数据下载到可编程逻辑芯片的过程,对于CPLD来讲我们称之为编程,而对于FPGA来讲我们称之为配置(Configure)。
项目3参考答案一、填空题1.QuartusPrime为Altera公司CPLD/FPGA的集成开发软件;Vivado为Xilinx公司CPLD/FPGA的集成开发软件。2.在保存.v文件时,保存的文件名应与模块名一致。3.在QuartusPrime中项目通过编译后,可以进行功能仿真和时序仿真。4.使用Vivado进行项目开发时,是将生成的比特流文件配置到FPGA中。5.在Vivado中有两种方法进行引脚约束,一种是利用Vivado中的I/OPlanning功能;另一种是直接新建XDC约束文件。6.在QuartusPrime中完成设计电路端口与目标芯片引脚锁定后,再次对电路进行的仿真称为时序仿真。7.面向Virtex-7系列的Xinlinx集成开发环境为Vivado。二、单项选择题1.QuartusPrime中编译VerilogHDL源程序时要求(C)。A、文件名与模块可不同名B、文件名和模块名无关C、文件名和模块名要相同D、不确定2.QuartusPrime中原理图文件的扩展名为(B)。A、.scfB、.gdfC、.vD、.soc3.QuartusPrime和Vivado都属于(D)。A、高级语言B、硬件描述语言C、综合软件D、EDA工具软件4.使用QuartusPrime软件实现文本输入时应采用(B)方式。A、图形编辑B、文本编辑C、符号编辑D、.波形编辑5.在QuartusPrime中执行(B)命令,可以对设计电路进行功能仿真或时序仿真。A、CreateDefaultSymbolB、SimulatorC、CompilerD、.TimingAnalyzer6.在QuartusPrime中建立项目的菜单命令是(C)。A、File→NewB、Project→NewProjectWizardC、File→NewProjectWizardD、Project→NewProject7.在QuartusPrime中如果要选择配置器件的编程配置方式,则应该在DeviceandPinOptions对话框中选择(B)选项卡。A、GeneralB、ConfigurationC、UnusedPinD、.Voltage8.在QuartusPrime中编辑仿真波形文件时,可以选择下列(C)按钮全部添加信号节点。A、>B、<C、>>D、.<<9.根据设定的编译策略,对项目进行逻辑综合工作,将设计代码转换为等效的门级网表文件,此过程称为(D)。A、行为仿真B、约束文件C、下载D、.综合10.在下图中,若clk1Hz信号是频率为1Hz的方波,则rst信号的高电平持续时间为(D)。A、4sB、2sC、1sD、0.5s三、多项选择题1.利用原理图输入设计法进行数字电路系统设计时,下面说法正确的是(ABD)。A、原理图输入设计法直观便捷,但不适合完成较大规模的电路系统设计B、原理图输入设计法一般是一种自底向上的设计方法C、原理图输入设计法无法对电路进行功能描述D、原理图输入设计法也可进行层次化设计2.QuartusPrime支持的输入方式有(ABC)。A、文本输入B、原理图输入C、波形输入D、矢量输入3.在QuartusPrime中进行原理图设计输入时,可以从下列(ABCD)中调用元件或模块。A、基本元件库B、maxplus2宏函数C、定制宏功能模块D、已生成的图形符号4.下列属于EDA集成软件工具的有(ABC)。A、QuartusPrimeB、VivadoC、ispLEVERD、ModleSim5.\maxplus2\max2lib\mf是函数元件库,包括加法器、(ABCD)等74系列器件。A、编码器B、译码器C、数据选择器D、移位寄存器四、判断题1.QuartusPrime的设计文件不能直接保存在硬盘根目录。(√)2.使用QuartusPrime创建项目时,其路径或文件允许含有中文字符。(×)3.在QuartusPrime中,指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为引脚锁定。(√)4.Vivado的FPGA设计开发流程与QuartusPrime软件大体类似。(√)5.使用Vivado进行行为仿真时,不需要创建仿真激励文件。(×)6.项目编译成功后,通常QuartusPrime生成.bit比特流文件;Vivado生成.sof目标文件。(×)
项目4参考答案一、填空题1.VerilogHDL模块的定义是以关键字module开始,以关键词endmodule结束。2.除了endmodule语句外,每个语句的最后通常要有结束符;。3.VerilogHDL语言规定了逻辑电路中信号的4种状态,分别是0,1,x,z,其中0表示低电平状态,1表示高电平状态,x表示不确定或未知状态,z表示高阻态状态。4.“reg[1:0]SEL;”语句中信号最高位为SEL[1],最低位为SEL[0];“wrie[8:15]A;”语句中信号最高位为A[8],最低位为A[15]。5.如果a=1,b=1,则逻辑表达式“(a^b)|(~b&a)”的值是0。6.在always过程块中,阻塞性赋值是串行(串行/并行)执行的,而非阻塞性赋值是并行(串行/并行)执行的。7.若A=5’b11011,B=5’b10101,则有:&A等于0,|B等于1,~A等于5’b00100,A&B等于5’b10001。8.在VerilogHDL中,内置了一些系统任务和函数,一般是以字符$开头,以区别于用户定义的任务和函数。9.语句`timescale1ns/1ps中,仿真的精度是_1ps___。10.在VerilogHDL中,位拼接运行符是_{}___。二、单项选择题1.下列VerilogHDL模型属于行为级描述的是(D)。A、门级B、开关级C、RTL级D、系统级2.VerilogHDL语言是在(B)语言的基础上发展起来的一种硬件描述语言。A、ADAB、CC、BasicD、JAVA3.下列可作为标识符的有(C)。A、123exB、ex@123C、ex_123D、module4.inA、inB、inC都是4位输入矢量,下列表达式中正确的是(D)。A、inputinA[3:0],inB,inC;B、inputinA,inB,inC[3:0];C、inputinA[3:0],inB[3:0],inC[3:0];D、input[3:0]inA,inB,inC;4.若a=2’b10,b=3’b101那么{a,b}=(A)。A、5’b10101B、5’b10110C、3’b111D、1015.下列VerilogHDL运算符,属于三目运算符的是(C)。A、&&B、!=C、?:D、===6.在VerilogHDL中,使用的是逻辑是(C)。A、二值逻辑B、三值逻辑C、四值逻辑D、八值逻辑7.若a<0时,执行语句“assigns=(a>3)?1:(a<0)?2:0;”后,s的值为(C)。A、0B、1C、2D、其他8.在VerilogHDL中,下列属于宏定义语句的是(A)。A、`defineB、defineC、`undefD、`include9.下列模块的例化正确的是(B)。A、MydesignU1(sin(sin),sout(sout));B、MydesignU1(.sin(sin),.sout(sout));C、MydesignU1(.sin(sin),.sout(sout););D、MydesignU1(.sin(sin);.sout(sout));10.下列从标量变量A、B、C和D中产生总线Q[0:3]的表达式正确的是(A)。A、assignQ={A,B,C,D};B、Q={A,B,C,D};C、assignQ={'A','B','C','D'};D、Q={'A','B','C','D'};三、多项选择题1.在VerilogHDL语言中,其程序的描述方式主要有(ABC)。A、结构化描述B、数据流描述C、行为级描述D、系统级描述2.在VerilogHDL程序中,下列属于端口定义的关键词有(ABC)。A、inputB、outputC、inoutD、buffer3.inA、inB、inC都是4位输入矢量,下列属于端口定义的关键词有(ABC)。A、inputB、outputC、inoutD、buffer4.下列关于VerilogHDL语言说法正确的是(ACD)。A、VerilogHDL可以实现并行计算,C语言只能串行计算B、VerilogHDL语言可以描述电路结构,C语言只能描述算法C、VerilogHDL语言源于C语言,包括它的逻辑和延迟D、VerilogHDL语言可以编写测试向量进行仿真和测试5.VerilogHDL语言中,不属于标识符作用范围的是(BCD)。A、本模块B、外部模块C、所有模块D、全局模块6.在VerilogHDL中,下列属于分支语句的有(ABC)。A、if…elseB、caseC、casezD、repeat7.在VerilogHDL中,下列属于循环语句的有(ABD)。A、whileB、do…whileC、forD、forever8.在VerilogHDL中,下列类似于C语言中子程序的语句有(AB)。A、taskB、functionC、procedureD、Function9.下列关于VerilogHDL语言中模块的例化说法正确的是(ACD)。A、在引用模块时,有些信号要被输入到引用模块中,有些信号要从引用模块中输出B、在引用模块时,必须严格按照模块定义的端口顺序来连接C、在引用模块时可以用“.”符号,表明原模块是定义时规定的端口名,用端口名和被引用模块的端口相对应,提高程序的可读性和可移植性D、在语句“MydesignU1(.port1(port1),.port2(port2));”中,被引用的模块为Mydesign模块10.关于赋值语句说法正确的是(ACD)。A、VerilogHDL支持过程赋值和连续赋值两种赋值B、连续赋值一般给reg变量赋值C、force/release仅用于debug,对寄存器和线网均有效D、避免使用disable语句四、判断题1.VerilogHDL中程序文字是不区分大小写的。(×)2.“1”取反后为“0”;“x”取反后为“x”;“z”取反后为“z”。(×)3.在VerilogHDL中使用parameter来定义常量,可增加代码的可读性和可维护性。(√)4.在VerilogHDL中常用变量数据类型为wire型和reg型。(√)5.在VerilogHDL中,所有在always和initial模块中被赋值的信号都必须是reg型。(√)6.在VerilogHDL中,reg类型的变量一定综合成寄存器。(×)7.组合逻辑建模通常使用阻塞赋值,时序逻辑建模通常使用非阻塞赋值。(√)8.在VerilogHDL中,循环语句吸能在always语句使用,而不能在initial中使用。(×)9.initial过程块只执行1次,可以用来建模真实电路,并且可以被综合出来。(×)10.在always块中被赋值的只能是寄存器型变量(如reg,integer)。(√)五、程序填空题1.根据图4-37所示电路图,在左侧程序空白处填写相关语句或关键词。moduleex1(A,B,C,D,F);moduleex1(A,B,C,D,F);inputA,B,C,D;outputF;assignF=((A&B)|(C&D));endmodule图4-37电路图2.假设已有全加器模块FullAdder,若有一个顶层模块需调用此全加器,连接线分别为W4、W5、W3、W2和W1,根据图4-38所示连接图,在左侧程序空白处填写相关语句或关键词。moduleFullAdder(A,B,Cin,Sum,Cout);moduleFullAdder(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;┊endmodulemoduleTop……FullAdderU1(.Sum(W1),//连接W1.Cout(W2),//连接W2.Cin(W3),//连接W3.A(W4),//连接W4.B(W5));//连接W5endmodule图4-38连接图图4-38连接图3.下列是一个4位二进制计数器程序,clk信号每发生1次上升沿跳变时,Q加1计数,在程序空白处填写相关语句或关键词。moduleex_cnt(clk,Q);inputclk;output[3:0]Q;reg[3:0]Q;always@(posedgeclk)Q<=Q+1;endmodule4.下列是一个3入2出的基本门电路,输入信号为A、B、C;输出信号为D和E。其中D输出的内容为A或者是将C取反后和B的逻辑与结果;E输出为B取反后和C进行异或的结果,在程序空白处填写相关语句或关键词。moduleex_gate(A,B,_C_,D,E);inputA,B,C;outputD,E;assignD=A|(B&(~C));assignE=(~B)^C;endmodule六、简答题1.指出下面几条语句中变量A、B、C和Cout的类型。assignA=B;always@(*)Cout=C+1;答案:A(wire),B(wire/reg)C(wire/reg)Cout(wire/reg)2.指出下面几条语句中变量Cin、C1、C4和Cout的类型。moduleFadd(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;┊endmodulemoduleTest;┊FaddU1(C1,C2,C3,C4,C5);┊endmodule答案:C1(wire),C4(wire/reg)Cin(wire)Cout(wire/reg)3.在下面程序段中,当Address的值等于5’b0x000时,执行完casex语句后A和B的值是多少?A=0;B=0;casex(Address)5’b00???:A=1;5’b01???:B=1;5’b10?00,5’b11?00:beginA=1;B=1;endendcase答案:A=1;B=04.在下面程序段中,initial块执行完后,I、J、A、B的值各是多少?reg[2:0]A;reg[3:0]B;integerI,J;initialbeginI=0;A=0;I=I-1;J=I;A=A-1;B=A;J=J+1;B=B+1;end答案:I=-1(整数可为负数)J=0A=7(A为reg型为非负数,又因为A为3位即为111)B=8(在B=A时,B=0111,然后B=B+1,所以B=4’b100011)5.在下面程序段中,循环执行完后,V的值是多少?reg[3:0]A;regV,W;integerK;┊A=4’b1010;for(K=2;K>=0;K=K-1)beginV=V^A[K];W=A[K]^A[K+1];end答案:因为V的值与0、1和0进行了“异或”,与1的“异或”改变了V的值,所以V的值是它进入循环体前的取“反”。
项目5参考答案一、填空题1.在数字电路中,与先前状态无关的逻辑电路称为组合逻辑电路。2.双向总线缓冲器主要用于对数据总线进行驱动和缓冲的场合,它是由多个三态门电路构成的。3.若8段共阴极数码管要显示字符“F”时,则给定dpgfedcba的信号为01110001。4.若使用8421编码时,二进制数“1011_0010_0110_0011”用16进制数表示为16’hB263。5.时序电路与组合电路本质上的区别在于时序电路具有记忆功能。6.触发器是一种具有记忆功能的基本逻辑单元。7.8位16进制频率计中,计数器的输出位数为32位。8.8位16进制频率计中,计数频率范围为32’H00000000~32’HFFFFFFFF。二、单项选择题1.若8段共阴极数码管dpgfedcba对应的信号为01001111,则其显示的内容为(C)。A、1B、2C、3D、42.若使用8421编码时,5对应的编码为(B)。A、0111B、0101C、1011D、11013.使用8位数码管进行数值显示时,数码管动态扫描频率最好选择(C)。A、1MHzB、1kHzC、100HzD、1Hz4.下列程序代码描述的逻辑功能为(A)。moduleex(a,b,s,y);inputa,b,s;outputy;wired,e;assignd=a&s;assigne=b&(~s);assigny=d|e;endmoduleA、二选一数据选择器B、计数器C、译码器D、编码器5.下列为含清0控制的锁存器程序,程序中空白处应填写(C)。moduleex_Latch(clk,D,Q,rst)inputclk,D,rst;outputQ;assignQ=(!rst)?:(clk?D:Q);endmoduleA、QB、DC、0D、clk6.下列4个程序段中无锁存器的是(A)。A、always@(a,d)beginif(a)q<=d;endB、always@(a,d)beginif(a)q<=d;if(!a)q<=!d;endC、always@(a,d)beginif(a)q<=d;elseq<=0;endD、always@(a,d,s)begincase(s)2’b00:q<=a;2’b11:q<=d;endcaseend7.下列描述的是并入串出移位寄存器,程序空白处应填写(D)。moduleex(clk,load,Din,QB);input[7:0]Din;inputclk,load;outputQB;reg[7:0]REG8;always@(posedgeclk)if(load)REG8<=Din;elseREG8[6:0]<=REG8[7:1];assignQB=REG8[7];endmoduleA、loadB、QBC、DinD、REG8[6:0]8.若clk频率为1Hz,以下语句中divclk的周期是(B)。always@(posedgeclk)begindivclk<=~divclk;endA、4sB、2sC、1sD、0.5s9.以下程序段中rst属于(A)复位。always@(posedgeclk)beginif(rst)a<=8’h00;elseif(en)a<=a+1;endA、同步、高电平B、同步、低电平C、异步、高电平D、异步、低电平10.下列程序代码中输入信号为Din,输出信号为Dout,则其描述的逻辑功能为(C)。reginA;always@(posedgeclk,negedgerst)beginif(!rst)inA<=0;elseinA<=Din;endassignDout=~inA&Din;A、检测Din的高电平B、检测Din的低电平C、检测Din的上升沿D、检测Din的下降沿三、多项选择题1.下列属于编码器芯片的有(BC)。A、74LS138B、74LS148C、74LS147D、74LS1392.下列属于译码器芯片的有(ABC)。A、74LS138B、74LS42C、74LS139D、74LS148A、说明部分B、主控时序进程C、主控组合进程D、主控逻辑3.下列4个程序段错误的是(ACD)。A、always@(posedgeclk,posedgerst)beginif(~rst)cs<=s0;elsecs<=next_state;endB、always@(posedgeclk,posedgerst)beginif(rst)cs<=s0;elsecs<=next_state;endC、always@(posedgeclk,negedgerst)beginif(rst)cs<=s0;elsecs<=next_state;endD、always@(posedgeclk,negedgerst)beginif(^rst)cs<=s0;elsecs<=next_state;end4.若一条总线为CBus[15:0],下列赋值代码中将总线分成两条总线ABus[0:9]和BBus[6:1]描述正确的是(AC)。A、assignABus=CBus[15:6];assignBBus=CBus[5:0];B、ABus=CBus[15:6];BBus=CBus[5:0];C、assignABus[0:9]=CBus[15:6];assignBBus[6:1]=CBus[5:0];D、ABus[0:9]=CBus[15:6];BBus[6:1]=CBus[5:0];5.VerilogHDL语言作为一种结构化的语言非常适合于门级和开关级的模型设计,其主要是因其结构化特点使它具有以下功能(ABC)。A、提供了完整的一套组合型原语(primitive)B、提供了双向通路和电阻器件的原语C、可建立MOS器件的电荷分享和电荷衰减动态模型D、通过命名的事件来触发其它过程里的激活行为或停止行为6.下列程序描述的功能是(AD)。moduleex(clk,load,Din,QB);input[7:0]Din;inputclk,load;outputQB;reg[7:0]REG8;always@(posedgeclk)if(load)REG8<=Din;elseREG8[7:1]<=REG8[6:0];assignQB=REG8[7];endmoduleA、左移移位寄存器B、含异步并行预置功能C、右移移位寄存器D、含同步并行预置功能7.以下属于有限状态机优点的是(ABCD)。A、高效的过程控制模型B、容易利用现成的EDA工具进行优化设计C、系统性能稳定D、高可靠性8.一般有限状态机的结构主要包括以下(ABC)。A、说明部分B、主控时序进程C、主控组合进程D、主控逻辑四、判断题1.同步复位除了复位信号有效外,还必须得时钟信号有效。(√)2.异步复位除了复位信号有效外,还必须得时钟信号有效。(×)3.Mealy型状态机的输出是当前状态和所有输入信号的函数,Moore型状态机的输出仅为当前状态的函数。(√)4.有限状态机一般都由组合逻辑和时序逻辑两部分组成。(√)5.能够暂时存储二进制数据或代码的电路称为寄存器。(√)6.若两个函数具有不同的逻辑函数表达式,则这两个逻辑函数必然不相等。(×)7.时序逻辑电路包括逻辑电路和存储电路。(√)8.计数器按照计数过程的不同,可分为二进制、十进制和任意进制计数器。(×)9.对于普通编码器在任何时刻只允许一个输入端请求编码,否则输出发生混乱。(√)10.有限状态机不适合数字系统的控制模块。(×)11.若只需要在上电和系统错误时进行复位,则采用异步复位方式比同步复位方式好。(×)五、编程题1.使用VerilogHDL语言编写程序实现8位二进制码转换为8位格雷码。分析:格雷(Gray)码是一种可靠性编码,在数字系统中有着广泛的应用。其特点是任意两个相邻的代码中仅有一位二进制数不同,因而在数码的递增和递减运算过程中不易出现差错。但是格雷码是一种无权码,要想正确而简单的和二进制码进行转换,必须找出其规律。根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快的找出格雷码与二进制码之间的逻辑关系。其转换规律为:高位同,从高到低看异同,异出‘1’,同出‘0’。也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。下面举一个简单的例子加以说明。假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图5-1。图-1格雷码变换示意图因此,变换出来的格雷码为11101101。参考程序:modulegray_test(din,dout);input[7:0]din;//8位二进制码输入output[7:0]dout;//8位格雷码输出assigndout[0]=din[0];assigndout[1]=din[0]^din[1];assigndout[2]=din[1]^din[2];assigndout[3]=din[2]^din[3];assigndout[4]=din[3]^din[4];assigndout[5]=din[4]^din[5];assigndout[6]=din[5]^din[6];assigndout[7]=din[6]^din[7];endmodule2.使用VerilogHDL语言设计基本D触发器,并采用结构描述的方式,然后用8个D触发器构成一个8位移位寄存器。分析:采用层次式设计法进行,底层为基本D触发器的描述,文件为D_trigger.v;顶层为8位移位寄存器的描述,文件为shift_trigger.v。顶层文件通过调用8次D_trigger来实现,采用位置关联方式,其中第1个的输入为D,其它输入为上一级的输出。参考程序如下://基本D触发器的描述,文件为D_trigger.vmoduleD_trigger(Q,D,clk);inputD,clk;outputQ;regQ;always@(posedgeclk)//clk发生上升沿跳变,则进行赋值操作begin Q<=D; endendmodule//顶层文件通过调用8次D_trigger来实现,文件为shift_trigger.vmoduleshift_trigger(Q,D,clk);inputD,clk;outputQ;wireD;wire[7:0]Q;D_triggerU1(Q[0],D,clk);//调用D_trigger,第1个的输入为D,其它输入为上一级的输出D_triggerU2(Q[1],Q[0],clk);D_triggerU3(Q[2],Q[1],clk);D_triggerU4(Q[3],Q[2],clk);D_triggerU5(Q[4],Q[3],clk);D_triggerU6(Q[5],Q[4],clk);D_triggerU7(Q[6],Q[5],clk);D_triggerU8(Q[7],Q[6],clk);endmodule3.使用VerilogHDL语言,分别用结构描述和行为描述方式设计JK触发器。分析:结构描述方式主要通过组合逻辑和时序逻辑的组合来实现。在JK触发器中,通常使用两个与非门(NAND)或两个与非门(NOR)来实现,参考代码如下://结构描述方式实现JK触发器moduleJK_Structural(J,K,clk,Q,Qn);inputJ,K;inputclk;outputregQ,Qn;wireJK,Q_next;//结构描述:使用NAND实现nand(JK,J,K);//JKNAND实现nand(Q_next,JK,Qn);//更新Q的下一状态//时序逻辑:clk发生上升沿跳变更新Q和Qnalways@(posedgeclk)begin Q<=Q_next; Qn<=~Q; endendmodule行为描述方式主要通过使用always块来描述触发器的行为,参考代码如下://行为描述方式实现JK触发器moduleJK_Behavioral(J,K,clk,Q,Qn);inputJ,K;inputclk;outputregQ,Qn;//行为描述,使用always来描述状态变化always@(posedgeclk)begin if(J==1&&K==0) beginQ<=~Q;end//J=1,Q=0时,Q翻转 elseif(J==0&&K==1) beginQ<=0;end//J=0,Q=1时,Q置0 elseif(J==1&&K==1) beginQ<=~Q;end//J=1,Q=1时,Q翻转(保持状态) else beginQ<=Q;end//J=0,Q=0时,保持当前状态不变 Qn<=~Q; end endmodule4.使用VerilogHDL语言编写4位串/并转换程序和4位并/串转换程序。分析:串/并转换(SerialtoParallel)指的是将串行数据转换为并行数据。在Verilog中,可以通过移位寄存器来实现这一功能,参考代码如下://4位串/并转换程序moduleSerialToParallel(clk,rst,Din,Dout);inputclk;//时钟信号inputrst;//异步复位信号,低电平有效inputDin;//串行输入outputreg[3:0]Dout;//并行输出localparamWIDTH=4;//定义数据宽度reg[WIDTH-1:0]shift_reg;//移位寄存器always@(posedgeclkornegedgerst)beginif(!rst) beginshift_reg<=0;//复位时清零Dout<=0;//并行输出复位end elsebeginshift_reg<={shift_reg[WIDTH-2:0],Din};//左移一位并加入新的串行输入Dout<=shift_reg;//当移位寄存器满时,输出寄存器的值endendendmodule并/串转换(ParalleltoSerial)指的是将并行数据转换为串行数据。在Verilog中,可以通过计数器和移位操作来实现,参考代码如下:moduleParallelToSerial(clk,rst,Din,Dout);inputclk;//时钟信号inputrst;//异步复位信号,低电平有效input[3:0]Din;//并行输入outputregDout;//串行输出localparamDATA_WIDTH=4;//定义数据宽度//计数器宽度计算,确保计数器可以覆盖所有位宽的计数localparamCOUNTER_WIDTH=$clog2(DATA_WIDTH);//计数器与移位寄存器reg[COUNTER_WIDTH-1:0]counter;//计数器用于跟踪当前位的位置reg[DATA_WIDTH-1:0]shift_reg;//移位寄存器用于存储并行数据always@(posedgeclkornegedgerst) beginif(!rst) begincounter<=0;//复位时计数器清零Dout<=0;//串行输出复位为0shift_reg<=Din;//并行数据加载到移位寄存器中,准备转换end else beginif(counter<DATA_WIDTH) begin//当计数器小于数据宽度时,继续转换过程Dout<=shift_reg[DATA_WIDTH-1];//输出当前最高位(最右边位)shift_reg<=shift_reg<<1;//左移移位寄存器,准备下一位的输出counter<=counter+1;//增加计数器,准备下一位的输出end else begin//当所有位都已输出,可以选择停止或重置状态机以开始新的转换周期(此处选择重置)counter<=0;//重置计数器准备新的一组数据转换Dout<=0;//重置串行输出为0,等待新的并行输入数据转换endendendendmodule5.使用VerilogHDL语言编写4位乘法并行乘法器程序。分析:实现并行乘法器的方法又很多种,但是归结起来基本上分为两类,一类是靠组合逻辑电路实现,另一类流水线实现。流水线结构的并行乘法器的最大有优点就是速度快,尤其是在连续输入的乘法器中,可以达到近乎单周期的运算速度,但是实现起来比组合逻辑电路要稍微复杂一些。下面就组合逻辑电路实现无符号数乘法的方法作详细介绍。假如有被乘数A和乘数B,首先用A与B的最低位相乘得到S1,然后再把A左移1位与B的第2位相乘得到S2,再将A左移3位与B的第三位相乘得到S3,依此类推,直到把B的所有位都乘完为止,然后再把乘得的结果S1、S2、S3……相加即得到相乘的结果。需要注意的是,具体实现乘法器并不是真正的去乘,而是利用简单的判断去实现,举个简单的例子。假如A左移n位后与B的第n位相乘,如果B的这位为‘1’,那么相乘的中间结果就是A左移n位后的结果,否则如果B的这位为‘0’,那么就直接让相乘的中间结果为0即可。带B的所有位相乘结束后,把所有的中间结果相加即得到A与B相乘的结果。参考程序如下:modulemul(mul_A,mul_B,mul_result);parameterSIZE=4;//位数是4input[SIZE-1:0]mul_A,mul_B;//乘数A,乘数Boutput[SIZE*2-1:0]mul_result;//乘积reg[SIZE*2-1:0]_mul_result1,_mul_result2,_mul_result3,_mul_result4;//组合逻辑电路always@(mul_Aormul_B) begin if(mul_A[0]==1'b0) _mul_result1<=8'b0000_0000; else _mul_result1<=(mul_B<<0); if(mul_A[1]==1'b0) _mul_result2<=8'b0000_0000; else _mul_result2<=(mul_B<<1); if(mul_A[2]==1'b0) _mul_result3<=8'b0000_0000; else _mul_result3<=(mul_B<<2); if(mul_A[3]==1'b0) _mul_result4<=8'b0000_0000; else _mul_result4<=(mul_B<<3); end assignmul_resu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗耗材降价销售合同
- 黄科院金属材料及热处理教案项目15 高分子材料基础
- 全英文出口销售合同
- 环保卫生洁具销售合同
- 极化阻垢器销售合同
- 商超商品代理销售合同
- 生产厂商授权销售合同
- 纯电面包车租赁销售合同
- 计算机软件渠道销售合同
- 2026年语文说课稿书单
- JG/T 455-2014建筑门窗幕墙用钢化玻璃
- 数学教育概论第四版
- 试验田租地合同协议书
- 电梯采购合同意向协议书
- 2024-2025学年江苏省苏州市张家港市梁丰高中春海创优部八年级(下)期中检测数学试卷(含答案)
- 12.1.1全面调查【知识精研】七年级数学下册(人教版)
- 2025年上海嘉定招商服务有限公司招聘笔试参考题库含答案解析
- 国家职业技术技能标准 4-12-01-01 汽车维修工 人社厅发2018147号
- 7.5 歌曲 《红河谷》课件(20张)
- 人工智能导论智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 新大象版四年级下册科学全册知识点(精编版)
评论
0/150
提交评论