FPGA知识重点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《硬件描述语言及FPGA设计》复习要点:一、名词解释⑴设计方法:自顶向下和自底向上,以自顶向下为主要设计。综合:指的是将较高级抽象层次的设计描述自动转化外较低层次的描述过程。1.EDA:电子设计自动化2.HDL:硬件描述语言SoC:系统芯片4.ASIC:专用集成电路5.PLD:可编程逻辑器件6.CPLD:复杂可编程逻辑器件7.FPGA:现场可编程门阵列8.LUT:查找表9.JTAG:联合测试行动组10.ISP:在系统编程11.IP核:完成某种功能的设计模块12.逻辑综合:将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图描述,依据给定的硬件结构和约束控制条件进行编译、优化和转换,最终获得门级电路甚至更底层的电路描述网表文件的过程。13.设计输入:将设计者所设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程。14.下载:把适配后生成的编程文件装入到PLD器件中的过程15.FSM:有限状态机16.UDP:用户自定义17.NS:次态18.OL:输出逻辑二、填空1.EDA就是以计算机为工作平台,以为开发环境,以者为目标器件设计实现电路系统的一种技术。2.在数字电路设计过程中,综合是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。3.通常,将对CPLD的下载称为编程,对FPGA中的SRAM进行直接下载的方式称配置。4.仿真时是否考虑硬件延时分类,可分为仿真和时序仿真。5.IP核主要包括硬核、固核和软核。6.当前最流行的并且成为IEEE标准的硬件描述语言包括和。7.当前EDA设计中普遍采用的方法是:自顶向下。8.PLD按照编程工艺和编程元件可以分为、、用紫外线擦出、点编程方式的器件、EEPROM型、闪速存储器(Flash)型和采用静态存储器(SRAM)机构的器件9.简单PLD包括、、和四类。10.PLD按不同的内部结构可分为基于乘积项结构的PLD器件和基于结构的PLD器件,前者的典型代表是CPLD,后者的典型代是SRAM。11.PLD的开发中常用的测试技术是:技术。12.FPGA器件主要有两类配置方式:。13.Cyclone。14.写出下图所示F0和F1的表达式:F0=101?A0,F1=A1?A0?A1?A0。1.verilog程序都是由模块构成的,每个verilog程序包括4个主要的部分,分别是模块声明、端口定义、信号类型声明、逻辑功能描述。2.端口是模块与外界连接和通信的信号线,有三种类型,分别是输入端口、输出端口、输入/输出端口。3.always过程语句既可以用来描述时序电路,也可以描述组合电路。4.always过程块列表中的敏感信号的表达方式有多种:用or连接所有的敏感信号、可以用来区分或连接所有的敏感信号和敏感信号表达式。5.调用元件的格式是:门元件关键字例化门元件名(输入端口列表,输出端口列表)。6.用verilog描述电路需要注意的是:存盘的文件名与Verilog模块名一致,文件名的后缀是.v。1.Verilog程序由符号包括符串、注释、标示符、关键字。Verilog中的标识符可以是任意一组和组合,但标识符的第一个字符必须是字母或者“-”。3.Verilog中的常量主要有如下3种类型:、4.在整数的书写规则里,x(或z)在二进制中代表位x(或z),在八进制中代表x(或z),在十六进制中代表位x(或z),它代表的宽度取决于5.在和之间允许出现空格,除此之外不允许出现空格。6.当位宽与进制缺省时表示的是7.如果定义的位宽比实际的位数长,通常在其但如果数最左边一位为x(或z),那么就相应地在左边补。如果定义的位宽比实际的位数小,截掉。8.实数的表示方法有和,实数转换为整数的方法是五入。9.Verilog有四种基本的逻辑状态,分别是、、、10.向量的定义形式为:A=mybyte[6]是对向量A进行了赋值,B=mybyte[5:2]是对向量B进行了域赋值。用这两种形式赋值的时候应当注意应使等号左右两端的宽度要一致。11.存储器由一组寄存器构成的阵列,用verilog定义存储器时,需定义存储器的和前者表示,后者则表示。1.VerilogHDL支持三种描述方式来设计电路,分别是和数据流描述。2.能控制端)。1.根据输出信号的不同,状态机可以分为,前者的输出是当前状态和当前输入的函数,后者的输出是输入的函数。2.在状态机的设计中主要包含三个对象为:、3.在状态机的设计中,常用的状态编码方式有、编码。三、单选1.下列标识符哪些是合法的?(B)A.$timeB._dateC.8sumD.mux#2.下列哪些整数的书写是合法的?(BD)A.′da30B.′o721C.4′d-4D.8′b1100_1101_00113.如果网线型变量说明后未赋值,那么其缺省值为(D)。A.0B.1C.xD.z4.对于定义reg[7:0]mema[255:0],正确的赋值为(A)。A.mema[5]=10B.mema=8′d0C.1′b1D.mema[5][3:0]=4′d15.对于“a=4′b11001,b=4′bx110”,选出正确的运算结果(BC)。A.a&b=0B.a&&b=1C.b&a=4′bx000D.b&&a=4′bx0006.已知“a=1′b1,b=3′b001”,那么{a,b}=(C)。A.4′b0011B.3′b001C.4′b1001D.3′b1017.在verilog语言中,a=4′b1011,那么&a=(D)。A.4′b1011B.4′b1111C.1′b1D.1′b08、按操作符所带的操作数,操作符分类中不含的类型是(D)A.单目B.双目C.三目D.多目1、以下对initial语句的说法中,错误的是___b___A.有敏感信号B.沿时间轴可重复执行C.可用于描述激励信号D.可用于对寄存器值2.以下语句中不可被综合的语句是cA、if-elseB、alwaysC、initialD、assign3、在下列关联方式中不属于元件例化语句的是A、位置关联B、端口名关联C、混合关联D、指定关联4.时间尺度定义为`timescale10ns/100ps,选择正确答案(c)。A.时间精度为10nsB.时间单位为100psC.时间精度为100psD.时间精度不确定5.在verilog中定义了宏名‵definesuma+b+c,下面宏名引用正确的是(B)。A.out=sum+dB.out=′sum+dC.out=‵sum+dD.都正确6.在下列程序中,always过程语句描述了一个带异步Nreset和Nset输入端的上升沿触发器,从选项中找出括号内应该填入的正确答案。always@(c)if(!Nreset)Q=0;elseif(!Nset)Q=1;elseQ=D;A.posedgeclkornegedgeNresetB.posedgeclkornegedgeNsetC.posedgeclkornegedgeNresetornegedgeNsetD.negedgeNresetornegedgeNset7.下列语句中,不属于并行语句的是(b)。A.非阻塞赋值语句B.assign语句C.实例元件调用语句D.case语句8.在verilog中,下列那个语句不是分支语句()。A.if-elseB.caseC.casezD.repeat9.下列敏感信号的表示属于边沿敏感型的是(a)A.always@(posedgeclkorposedgeclr)B.always@(AorB)C.always@(posedgeclkorclr)D.always@(*)10.以下不属于for循环语句的是(b)A.forB.assignC.whileD.repeat1.在Verilog程序中可以通过哪些方式描述电路的结构?(ABCD)A.门级结构描述B.晶体管级结构描述C.UDPD.不同模块间的调用2.下列哪些Verilog的基本门级元件是多输入门(ABC)A.nandB.norC.andD.not3.针对VerilogHDL语言中的case语句说法不正确的是(B)A.case语句表达式的取值可以超出语句下面列出的值的范围;B.语句各分支表达式允许同时满足case表达式的值;C.条件语句中的选择值需要完整覆盖表达式的取值范围;D.保险起见,case语句最后分枝最好都加上default语句。4.以下针对过程语句的说法中不正确的是(C)A.试图通过选择型列入过程语句的敏感信号列表来改变逻辑设计是无效的;B.一个模块中包含的多个过程语句本身都是并行的;C.任一过程引导的语句结构都是并行的;D.只要过程语句的敏感信号发生变化,都将启动该过程。5.关于摩尔型和米里型状态机说法不正确的是(D)。A.米里型状态机的输出是在输入变化后发立刻生变化的,不依赖时钟信号的同步B.摩尔型状态机的输入发生变化时还需要等待时钟的到来,必须等状态发生变化时才导致输出的变化C.摩尔型状态机比米里型状态机要多等待一个时钟周期D.米里型状态机比摩尔型状态机要多等待一个时钟周期6.关于阻塞赋值和非阻塞赋值描述正确的是(D)。A.设计时序电路时应尽量使用阻塞赋值方式B.设计组合逻辑电路时建议使用阻塞赋值C.可以在两个或者两个以上的always过程中对同一变量赋值D.对同一个变量可以既进行阻塞赋值,又进行非阻塞赋值四、判断1.assign引导的语句属于顺序语句。(t)2.assign语句主要用于描述组合逻辑电路。(t)3.阻塞式赋值语句必须在块语句执行结束时在整体完成赋值操作。(f)4.元件例化语句为当前设计实体引入了低一级的设计层次。(t)5.Verilog中的不完整条件的if-else语句可能被综合出时序单元。(?)6.过程中的阻塞赋值语句的先后顺序将直接影响最后的结果。(t)7.一个过程中可以存在多个时钟信号作为时序。(f)8.同一过程中可以存在多个if语句。(f)9.initial语句不可综合。(t)10.在一个模块中,使用initial和always语句的次数是不受限制的。但是initial过程块中的语句仅执行一次;always块内的语句则是不断重复执行的。(t)四、简答1、PLD的分类:按集成度分类分为简单PLD和高密度PLD。按不同的编程元件盒编程工艺划分①采用熔丝编程元件的器件②采用反熔丝编程元件的器件③采用紫外线擦出、电编程方式的器件④EEPROM⑤闪速存储器⑥采用静态存储器结构器件。按结构特点分为基于乘积项和基于查找表的结构的PLD器件;2、边界扫描测试技术;3、always过程语句敏感信号的表示;答:always@(*);4、并行语句有哪些;答:fork-join;5、initial语句的特点;答:不带触发条件,沿时间轴只执行一次;6、阻塞赋值和非阻塞赋值有的区别;答:①阻塞赋值赋值语句结束时即完成赋值操作理解为;7、画出基于FPGA/CPLD器件的数字积项和基于查找表的结构的PLD器件2、边界扫描测试技术3、always过程语句敏感信号的表示答:always@(*)4、并行语句有哪些答:fork-join5、initial语句的特点答:不带触发条件,沿时间轴只执行一次6、阻塞赋值和非阻塞赋值有的区别答:①阻塞赋值赋值语句结束时即完成赋值操作理解为顺序执行而非阻塞赋值赋值语句整个过程块结束时才完成赋值操作理解为并发执行。②阻塞赋值“=”非阻塞赋值“=”(本质区别是非阻塞赋值语句右端表达式计算完后并不立即赋给左端,而是同时启动下一条语句继续执行,而阻塞赋值语句在每个右端表达式计算完后,立即赋给左端变量)7、画出基于FPGA/CPLD器件的数字系统的设计流程并简述各环节作用。①原理图输入是图形化的表述方式使用元件符号和连线来描述设计HDL文本是一种用文本形式来描述设计电路的语言②仿真是对所设计电路功能的验证8、简述JTAG接口都有哪些功能。答:TDI,TDO,TMS和TCK。TDI,TMS和TCK引脚在FPGA内部舍友弱上拉电阻(20~40k)。TDI引脚用于配置数据串行输入,数据在TCK的上升沿移入FPGA;TDO用于配置数据串行输出,

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功