FPGA习题答案_第1页
FPGA习题答案_第2页
FPGA习题答案_第3页
FPGA习题答案_第4页
FPGA习题答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、FPGA/CPLD应用技术(Veiilog语言版)第一章认识数字系统设计开发环境:一、填空题1.(1) 1100b 19(2) 45, 2D(3) 111111, 632 .建立工程;输入设计;编译工程;设计仿真;器件编程3 . Altera4 .可编程只读存储器 PROM (Programmable Read Only Memory) 可编程逻辑阵列 PLA (Programmable Logic Array)可编程阵列逻辑 PAL (Programmable Array Logic )通用阵列逻辑器件GAL (Generic Array Logic)可擦除可编程逻辑器件 EPLD (Era

2、sable Programmable Logic Device) 复杂可编程逻辑器件 CPLD (Complex Programmable Logic Device) 现场可编程门阵列 FPGA (Field Programmable Gate Array)5 .低密度可编程逻辑器件(LDPLD)、高密度可编程逻辑器件(HDPLD)6 . “与或阵列”、“门阵列”、“与或阵列”7 .输入电路、与阵列、或阵列、输出电路8 .可编程功能单元、可编程I/O引脚、可编程布线资源和片内存储块RAM9 .电子设计自动化、Electronic Design Automatic10 .硬件描述语言、Hardw

3、are Description Language 11.Programmable Read Only MemoryProgrammable Logic Array 可编程逻辑阵列Programmable Array Logic 可编程阵列逻辑Generic Array Logic通用阵列逻辑器件Erasable Programmable Logic Device 可擦除可编程逻辑器件Complex Programmable Logic Device 复杂可编程逻辑器件Field Programmable Gate Array 现场可编程门阵列Very-High-Speed Hardware D

4、escription Language 超高速硬件描述语言In System Programming 在系统可编程Look-Up Table 查找表Programmable Logic Device 可编程逻辑器件Logic Array Blocks 逻辑阵列块Computer Aided Design计算机辅助设计技术CAD12 .写出下列英文单词的中文意思。(1)工程、项目(2)向导(3)器件(4)封装(5)管脚(6)系列(7)原理图(9)块(11)输入(13)编译(15)分析(17)装配、布局(19)报告(21)节点(23)功能的(25)分配(27)互连(29)乘枳项(8)图表(10)符

5、号(12)输出(14)信息(16)综合(18)汇编、装配(20)波形(22)仿真器(24)时序的(26)熔丝(28)宏单元(30)进位二、问答题1.画出Quaiius II软件的完整设计流程。答案:加图TL1所不。设计输入完成设计的输入:设计输入可以有多种形式文本编辑器块与符号编辑器 宏向导插件管理器约束输入完成约束的输入;如速度约束、 而积与速度的优先关系、引脚设 置设计输入可以有多种形式综合完成设计综合,生成综合网表文 件布局布线完成综合网表文件到器件的布局 布线时序分析完成综合后电路的时序分析分配编辑器 引脚规划器 设置对话框 布局图编辑器 设计分割窗口分析和综合器 RTL查看器 辅助工

6、具布局布线器分配编辑器 布局图编辑器 增量布局连线工具 芯片编辑器Fitter工具时序分析 报告窗口 技术映射查看器仿真完成电路的仿真,包括功能仿真 和时序仿真两种工具器件编程与配置完成生成器件下载文件仿真器波形编辑器汇编器编程器转换编程文件图Tl.l Quaitus n软件的完整设计流程2.答案:共包括以下5步:建立工程:输入设计;编译工程;设计仿真;器件编程,任务实现基本流程如图T1.2所示。图TL2设计步骤3.答案:如图TL3图TL3可编程逻辑器件的分类4 .画出4选1数据选择器的输入输出结构及真值表。答案:如图TL4和表TL1所示。控制选择端so siP0-输入pi - F输出P2P3

7、图T1.4 4选1数据选择器表T1.1 4选1数据选择器真值表控制选择端输出SI soF00P001P110P211P35 .简述FPGA的一般设计流程。答案:FPGA/CPLD进行电路设计的过程是指在计算机上利用EDA工具软件对FPGA/CPLD 器件进行开发设计的过程,一般包括设计准备、设计输入、功能仿真、设计实现、时序仿真、 下载编程和器件测试七个步骤。(1)设计准备设计准备阶段是FPGA/CPLD进行电路设计的第一步,包括方案论证、系统设计、器件 选择等工作。(2)设计输入设计输入阶段就是设计者将设计电路以某种方式输入到计算机中。设计输入通常有以下 几种方式:原理图输入方式、HDL硬件

8、描述语言输入方式、波形输入方式、层次设计输入 方式、状态机图表输入方式等,前两种是比较常用的输入方式,下面分别简单介绍。原理图输入方式与传统的原理图设计类似,用最直接的图形化的方式描述设计电路,使 用工具软件提供的元件库中的符号,用连线画出原理图。这种输入方式是大家最习惯的方式, 直观简单,便于仿真,但原理图设计效率低,对设计人员要求高。HDL硬件描述语言输入方式是用文本方式输入设计电路,是EDA设计的基本特征之一。 目前常用的硬件描述语言有 VHDL( Very High speed Description Language )、Veiilog-HDL 等。 因为语言与工艺无关,采用这种方式

9、输入设计电路,设计人员对底层电路和PLD结构不必 太熟悉,而且便于实现大规模系统的设计;缺点是硬件描述语言必须依赖综合器,综合器的 好坏直接影响到生成电路的质量。(1) 功能仿真功能仿真也称为前仿真。在编译之前对设计的电路进行逻辑功能验证,初步检测电路功 能是否正确。仿真时首先要建立波形文件或测试向量,仿真结果一般是输出信号波形和报告 文件等。(2) 设计实现设计电路的逻辑功能验证正确后,可以进入电路的设计实现环节了。设计实现是FPGA/CPLD进行电路设计的关键步骤,工具软件将对设计输入文件(原理图或文本等)进 行逻辑化简、综合优化和适配,最后产生编程下载需要的编程文件。(3) 时序仿真时序

10、仿真一般称为后仿真,是把设计电路与具体实现器件(FPGA/CPLD)结合起来的 仿真。因为不同的器件内部延时不一样,不同的布局布线方案也会产生不同的延时。因此, 时序仿真是增加了延时信息后对设计电路的仿真,是仿真电路在器件中实现后,作为实际器 件工作的情况。(4) 下载编程下载编程是将设计实现阶段生成的编程文件装入到目标器件FPGA/CPLD中,也就是将 设计电路在具体器件中实现。(5) 器件测试器件测试就是指器件在编程实现后,可以用编译产生的文件对器件进行校验、加密等工 作,当然,利用实验板对器件的性能进行现场测试也是十分必要的。第二章Verilog设计基础一、填空题1 .模块2 . mod

11、ule, endmodule3 .模块名字,模块输入输出端口列表4 .输入(input )输出(output),输入输出双向(inout)5 .分号6 .结构描述方式,行为描述方式,数据流描述方式7 .门级原语,已建立好的电路模块8 . wire连线型,reg寄存器型,memory存储器型9 . wire类型10 . reg类型 二、问答题 1.答案:在实际电路系统中,经常会遇到总线,比如地址总线、数据总线等,它们具有多位数据 线。用Verilog来描述n位总线信号为wire型变量的格式如下: wiren-l :0信号名1,信号名2,;例如:wire7:0 data;说明一个8位数据总线dat

12、a为wiie型用Verilog来描述n位总线信号为reg型变量的格式如下: regn-l:0信号名1,信号名2,;例如:reg7:0 a,b;说明一个8位数据总线a和b为leg型如果用Verilog来描述n位总线型的输入输出端口,则可以按如下格式定义: input n-l :0端口1,端口2,;/说明端口 1,端口 2,为n位输入端口output n-l :0端口1,端口2,;/说明端口 1,端口 2,为n位输出端口inout n-l :0端口1,端口2,;/说明端口 1,端口 2,为n位双向端口例如:input3:0 data;说明一个4位的输入端口 dataoutput7:0. q;ino

13、utl:0 OUT;说明一个8位的输出端口 q说明一个2位的双向端口 OUT2 .答案wire连线型相当于组合逻辑电路中的各种连接线,其特点是输出的值紧随输入值的变化 而变化,不能暂存。verilog HDL模块中的输入输出信号类型默认定义为wire型。程序模 块中引用实例元件的输出信号变量以及用“assign”语句赋值的变量,一般地都定义为wire 型。【eg类型定义的是一种能暂存数据的变量,对应的是具有状态保持作用的电路元件,如触 发器、寄存器等。程序模块中需要在always过程语句中赋值的变量都须定义为reg型变量。reg型变量与wue型变量的根本区别就在于:reg型变量在定义时默认的初

14、始值为不定值 x,在设计时要求放在always过程语句内部通过过程赋值语句赋予明确的值。如果寄存器变 量没有得到新的赋值,它将一直保持原有的值不变。3 .答案在电路建模过程中如果使用if条件语句,当分支条件表达式值已将控制表达式的所有 可能取值都一一列出的话,则else语句项可以省略不写。但如果没有列出所有可能出现的 条件分支的话,在进行逻辑综合时编译器认为条件不满足从而引入一个触发器保持原值,在 进行组合电路设计过程中,应避免这种触发器的存在。为了保证包含所有的条件分支情况, 通常是在if语句最后加上else语句将没有罗列出来的情况统统包含进来。4 .答案一个case语句中只能有一个defa

15、ult语句项。如果分支表达式值已将控制表达式的所 有可能取值都一一列出的话,则default语句项可以省略不写。但由于每一个变量至少有4 种取值0、1、z和x,所以一般不可能列出所有的可能取值。如果没有列出所有条件分支的 话,在进行逻辑综合时编译器认为条件不满足从而引入一个触发器保持原值,在进行组合电 路设计过程中,应避免这种触发器的存在。为了保证包含所有的取值,通常都在case语句 的最后加上default语句。如果是用if条件语句建模的话,通常是在if语句最后加上else 语句将没有罗列出来的取值统统包含进来。5 .答案Verilog HDL支持采用自顶向下的结构化设计方法进行好杂电路系统

16、设计。将一个复杂 的系统设计分割成许多较小的、较简单的功能单元模块,这些小模块与大系统相比,设计更 容易、测试更简单。对这些小模块分别进行设计和验证通过后,再调用这些小模块嵌套在更 大的功能单元模块中进行设计和验证,最后组合为一个完整的电路系统。在Verilog HDL的层次化设计中调用小单元模块的方法有两种:一种是和调用门原语方 法类似的位置映射法;一种是将例化模块的端口名对应信号名的信号映射法。用位置映射法引用一个模块,需要先在引用语句前面写上这个模块的名字,然后在一个 空格后写上此模块引用的实例名,在其后圆括号内按模块端口顺序写上连接到各个端口的信 号线名。其引用的语法如下:模块名实例名

17、(连接端口 1的信号名,连接端口 2的信号名,);用信号映射法引用一个模块,不必严格遵守端口顺序,只需将所调用的模块端II逐一 对应到信号线上列出。信号映射法引用模块的语法如下:模块名实例名(.端口名1(连接端口 1的信号名),.端口名2(连接端口 2的信号名),);三、操作题1. (1)结构描述方式 module circuitl( A,B, C, D, F ); input A, B, C, D; output F; nand (Wl, A, B); and (W2, B, C, D); or(F, W1,W2); endmodule (2)数据流描述方式 module circuit2(

18、A, B, C, D, F ); input A, B, C, D; output F; assign F= C (A&B)|(B&C&D); endmodule(3)行为描述方式 module circuitl( A,B, C, D, F ); input A, B, C, D; output F; reg F;always (A or B or C or D) beginF=C(A&B)| (B&C&D); end endmodule2. module tri_circuit(IN,E,OUT);input IN, E;output OUT;

19、若E=l,则OUT=IN;若E=0,则OUT为高阻态assign 0UT=E?IN:r bz; endmodule3.module 7segLED( IN, OUT, );input3:0 IN; output6:0 OUT; always © (IN) begincase(IN)4'4'4'4'4'4'4'4'4'4'dO:OUT=7' dl:OUT=7, d2:OUT=7' d3:OUT=7' d4:OUT=7' d5:OUT=7' d6:OUT=7'

20、d7:OUT=7' d8:OUT=7' d9:OUT=7'bllllllO; bOllOOOO; bllOllOl; bllllOOl; bOllOOll; blOllOll; blOlllll; blllOOOO; blllllll; bllllOll;default:0UT=7' bx; endcaseend endmodule第三章组合逻辑电路一、填空题1. 两; 输入;reg: ifelse; case。2. alwavs: initialo3. 并行;顺序执行。4. reg; wireo5.(1) 0001 0000 0001(2) 0001 0011

21、(3) 01100110(4) 0100 0010(5) 0101 0110(6) 1000 01107 .电路当前的输出仅取决于当前的输入信号,输出信号随输入信号的变化而改变,与电路 原来的状态无关,这种电路无记忆功能。8 .=; <=。9 .共阴极;共阳极:静态显示;动态显示。二、判断题XVXVXXVXV三、问答题1. (1)4位;(2)寄存器类型;(3)会错,a应该为wire类型变量;(4)43001; (5) TbO;(6) m=330:2.基于硬件描述语言的组合逻辑设计方法如下:第一步,文字描述的逻辑命题,转换规格书。首先,分析事件的因果关系,确定输入和输出变量。一般总是把引起

22、事件的原因定为输入变 量,把事件引起的结果定为输出变量。然后,定义逻辑状态的含义。即确定0, 1分别代表输入、输出变量的两种不同状态。最后,画出电路的结构框图,并且定义好相关信号含义,写出电路规格书。第二步,根据规格书的要求,用RTL的硬件描述语言描述电路(一般需要通过仿真验证)。第三步,根据已有的库进行综合,得到可以与实际直接对应的网表并最终实现电路。第4章 时序逻辑电路设计一、填空题1 .同步电路、异步电路2 .非阻塞赋值3 .全局时钟(同步时钟)4 . Mealy型状态机、Moore型状态机5 .有限状态机6 . Mealyx Moore7 .时钟沿8 .有限状态机、Finite Sta

23、te Machine.,二、简答题9 .答案:(1)在用Verilog HDL进行数字逻辑设计时,只使用一个主时钟,同时只使用同一个时 钟沿(上升沿或下降沿)。(2)在FPGA设计中,推荐所有输入、输出信号均应通过寄存器寄存,寄存器接口当作 异步接口考虑。(3)当全部电路不能用同步电路思想设计时,即需要多个时钟来实现,则可以将全部电 路分成若干局部电路(尽量以同一时钟为一个模块),局部电路之间接口当异步接II考虑。(4)电路中所有的寄存器、状态机在上电更位时必须有一个确定的初始态。(5)电路的实际最高频率不应大于理论最高频率,应留有设计余地。10答案:异步更位是指在更位信号有效时,系统立即进行

24、复位,而不管时钟信号的状态,在用 Verilog HDL的always块描述异步复位时,always块中的敏感信号列表必须包括更位信号, 如 always® (posedge elk or posedge reset )o同步复位是指在更位信号和时钟信号同时有效时,系统才进行复位。在用Verilog HDL 的always块描述同步更位时,always块中的敏感信号列表不包含更位信号。11答案:触发器是时钟沿敏感的器件,而锁存器是电平敏感的器件,在项目设计中,锁存器会 带来诸多问题,如额外延时,DFT问题等,因此,在实际设计中必须尽量避免锁存器的出现。 4.答案:RS触发器是一种危险的触发器,

温馨提示

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

评论

0/150

提交评论