FPGA笔试题汇总.doc

上传人:sk****8 文档编号:2329245 上传时间:2019-05-06 格式:DOC 页数:29 大小:125.78KB
下载 相关 举报
FPGA笔试题汇总.doc_第1页
第1页 / 共29页
FPGA笔试题汇总.doc_第2页
第2页 / 共29页
FPGA笔试题汇总.doc_第3页
第3页 / 共29页
FPGA笔试题汇总.doc_第4页
第4页 / 共29页
FPGA笔试题汇总.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、=第 1 章 FPGA 基础知识=1.1 FPGA 设计工程师努力的方向 SOPC,高速串行 I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。随着芯片工艺的提高,芯片容量、集成度都在增加,FPGA 设计也朝着高速、高度集成、低功耗、高可靠性、高可测、可验证性发展。芯片可测、可验证,正在成为复杂设计所必备的条件,尽量在上板之前查出 bug,将发现 bug 的时间提前,这也是一些公司花大力气设计仿真平台的原因。另外随着单板功能的提高、成本的压力,低功耗也逐渐进入 FPGA 设计者的考虑范围,完成相同的功能下,考虑如何能够使芯片的功耗最低。高速串行 IO 的应用,也丰富了 FPGA 的应

2、用范围,象 xilinx 的 v2pro 中的高速链路也逐渐被应用。 总之,学无止境,当掌握一定概念、方法之后,就要开始考虑 FPGA 其它方面的问题了。1.2 简述 FPGA 等可编程逻辑器件设计流程 系统设计电路构思,设计说明与设计划分,电路设计与输入(HDL代码、原理图) ,功能仿真与测试,逻辑综合,门级综合,逻辑验证与测试(综合后仿真) ,布局布线,时序仿真,板级验证与仿真,加载配置,在线调试。 常用开发工具(Altera FPGA) HDL 语言输入:Text Editor(HDL 语言输入) ,还可以使用 Ultra Edit原理图输入:Schematic Editor IP Co

3、re 输入:MegaWinzad 综合工具:Synplify/Synplify Pro,Qaustus II 内嵌综合工具 仿真工具:ModelSim 实现与优化工具:Quartus II 集成的实现工具有Assignment Editor(约束编辑器) 、LogicLock(逻辑锁定工具) 、PowerFit Fitter(布局布线器) 、Timing Analyzer(时序分析器,STA分析工具) 、Floorplan Editor(布局规划器) 、Chip Editor(底层编辑器) 、Design Space Explorer(设计空间管理器) 、Design Assistant(检查

4、设计可靠性)等。 后端辅助工具:Assembler(编程文件生成工具),Programmer(下载编程工具) ,PowerGauge(功耗仿真器) 调试工具:SignalTap II(在线逻辑分析仪) ,SignalProbe(信号探针) 。系统级设计环境:SOPC Builder,DSP Builder,Software Builder。1.3 Quartus 文件管理 1. 编译必需的文件:设计文件(.gdf、.bdf、EDIF 输入文件、.tdf、 verilog 设计文件、.vqm、.vt 、VHDL 设计文件、. vht) 、存储器初始化文件(.mif、.rif、.hex) 、配置文

5、件(.qsf、.tcl) 、工程文件(.qpf ) 。 2. 编译过程中生成的中间文件(.eqn 文件和 db 目录下的所有文件.tdf,.hdb,.xml 等) 3. 编译结束后生成的报告文件(.rpt、.qsmg 等)4. 根据个人使用习惯生成的界面配置文件(.qws 等) 5. 编程文件(.sof、.pof、.ttf 等)1.4 IC 设计流程 写出一份设计规范,设计规范评估,选择芯片和工具,设计, (仿真,设计评估,综合,布局和布线,仿真和整体检验)检验,最终评估,系统集成与测试,产品运输。 设计规则:使用自上而下的设计方法(行为级,寄存器传输级,门电路级) ,按器件的结构来工作,做到

6、同步设计,防止亚稳态的出现,避免悬浮的节点,避免总线的争抢(多个输出端同时驱动同一个信号) 。 设计测试(DFT)强调可测试性应该是设计目标的核心,目的是排除一个芯片的设计缺陷,捕获芯片在物理上的缺陷问题。 ASIC 设计要求提供测试结构和测试系向量。FPGA 等默认生产厂商已经进行了适当的测试。 测试的 10/10 原则:测试电路的规模不要超过整个 FPGA 的 10%,花费在设计和仿真测试逻辑上的时间不应超过设计整个逻辑电路的 10%。1.5 FPGA 基本结构 可编程输入/输出单元,基本可编程逻辑单元,嵌入式块 RAM,丰富的布线资源,底层嵌入式功能单元,内嵌专用硬核。 常用的电气标准有

7、 LVTTL,LCCMOS,SSTL,HSTL,LVDS,LVPECL,PCI 等。 FPGA 悬浮的总线会增加系统内的噪声,增加功率的损耗,并且具有潜在的产生不稳定性的问题,解决方案是加上拉电阻。 对于 SRAM 型器件,路径是通过编程多路选择器实现;对于反熔丝型器件,路径通过传导线(高阻抗,有 RC 延时)来实现的。这两种结构都显著加大了路径延时。1.6 FPGA 选型时要考虑哪些方面? 需要的逻辑资源、应用的速度要求,功耗,可靠性,价格,开发环境和开发人员的熟悉程度。1.7 同步设计的规则 单个时钟域: 1、 所有的数据都要通过组合逻辑和延时单元,典型的延时单元是触发器,这些触发器被一个

8、时钟信号所同步; 2、 延时总是由延时单元来控制,而不是由组合逻辑来控制; 3、 组合逻辑所产生的信号不能在没有通过一个同步延时单元的情况下反馈回到同一个组合逻辑; 4、 时钟信号不能被门控,必须直接到达延时单元的时钟输入端,而不是经过任何组合逻辑; 5、 数据信号必须只通向组合逻辑或延时单元的数据输入端。 多个时钟域: 把通过两个不同时钟作用区域之间的信号作为异步信号处理 1.8 你所知道的可编程逻辑器件有哪些? PAL/GAL,CPLD,FPGA PLA:可编程逻辑阵列,一种用于大规模的与阵列和或阵列的逻辑器件,用于实现布尔逻辑的不同组合。PLA:可编程阵列逻辑,一种逻辑器件,由大规模的与

9、阵列和规模小且数量固定的或门组成,可用于实现布尔逻辑和状态机。 PAL:很短的交货时间、可编程的、没有 NRE(非循环工程)费用门阵列:高密度性、能实现许多逻辑函数、速度相对较快 1.9 FPGA、ASIC、CPLD 的概念及区别 FPGA(Field Programmable Gate Array)是可编程 ASIC。 ASIC 专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低

10、、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。 FPGA 采用同步时钟设计,使用全局时钟驱动,采用时钟驱动方式在各级专用布线资源上灵活布线,ASIC 有时采用异步逻辑,一般采用门控时钟驱动,一旦设计完成,其布线是固定的。FPGA 比 ASIC 开发周期短,成本低,设计灵活。 CPLD(Complex Programmable Logic Device)是复杂可编程逻辑器件。CPLD 开关矩阵路径设计的一个优点是信号通过芯片的延时时间是确定的。设计者通过计算经由功能模块、I/O 模块和开关矩阵的延迟就可以 任何信号的延迟时间,并且信号沿金属线传递所引起的延迟是可忽略的。1.

11、10 锁存器(latch)和触发器(flip-flop)区别? 电平敏感的存储器件称为锁存器,可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。 由交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。 锁存器对脉冲电平敏感,在时钟脉冲的电平作用下改变状态。锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。 锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号

12、变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。 应用场合:数据有效迟后于时钟信号有效。这意味着时钟信号先到,数据信号后到。在某些运算器电路中有时采用锁存器作为数据暂存器。 缺点:时序分析较困难。 不要锁存器的原因:1、锁存器容易产生毛刺,2 、锁存器在 ASIC 设计中应该说比 ff 要简单,但是在 FPGA 的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和 ff 来组成锁存器,这样就浪费了资源。 优点:面积小。锁存器比 FF 快,所以用在地址锁存是很合适的,不过一定要保证所有

13、的 latch 信号源的质量,锁存器在 CPU 设计中很常见,正是由于它的应用使得 CPU 的速度比外部 IO 部件逻辑快许多。latch 完成同一个功能所需要的门较触发器要少,所以在 asic 中用的较多。 寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,它被广泛的用于各类数字系统和计算机中。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储 1 位二进制数,所以由 N 个锁存器或触发器可以构成 N 位寄存器。 工程中的寄存器一般按计算机中字节的位数设计,所以一般有 8 位

14、寄存器、16 位寄存器等。对寄存器中的触发器只要求它们具有置 1、置 0 的功能即可,因而无论是用同步 RS 结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器。一般由 D 触发器组成,有公共输入/ 输出使能控制端和时钟,一般把使能控制端作为寄存器电路的选择信号,把时钟控制端作为数据输入控制信号。 寄存器的应用 1. 可以完成数据的并串、串并转换; 2.可以用做显示数据锁存器:许多设备需要显示计数器的记数值,以 8421BCD 码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法。 3.

15、用作缓冲器; 4. 组成计数器:移位寄存器可以组成移位型计数器,如环形或扭环形计数器。1.11 JTAG 信号 TCK:测试时钟输入,用于移位控制,上升沿将测试指令、测试数据和控制输入信号移入芯片;下降沿时将数据从芯片移出。 TMS:测试模式选择,串行输入端,用于控制芯片内部的 JTAG 状态机。 TDI:测试数据输入,串行输入端,用于指令和编程数据的输入,在时钟上升沿,数据被捕获。TDO:测试数据输出,串行输出端,时钟下降沿,数据被驱动输出。TRST:测试复位输入(仅用于扩展 JTAG) ,异步、低电平有效,用于 JTAG 初始化时。1.12 FPGA 芯片内有哪两种存储器资源? FPGA

16、芯片内有两种存储器资源:一种叫 block ram,另一种是由 LUT配置成的内部存储器(也就是分布式 ram,distribute ram) 。Block ram 由一定数量固定大小的存储块构成的,使用 BLOCK RAM 资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM 资源是其块大小的整数倍。 1.13 FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项? 三种资源:block ram、触发器( FF) 、查找表(LUT) ; 注意事项: 1、在生成 RAM 等存储单元时,应该首选 block ram 资源;原因有二:使用 block

17、ram 等资源,可以节约更多的 FF 和 4-LUT 等底层可编程单元,最大程度发挥器件效能,节约成本; block ram 是一种可以配置的硬件结构,其可靠性和速度与用 LUT 和 register 构建的存储器更有优势。 2、弄清 FPGA 的硬件结构,合理使用 block ram 资源;3、分析 block ram 容量,高效使用 block ram 资源和分布式 ram 资源(distribute ram) 。 1.14 FPGA 设计中对时钟的使用?(例如分频等) FPGA 芯片有固定的时钟路由,这些路由能有减少时钟抖动和偏差。需要对时钟进行相位移动或变频的时候,一般不允许对时钟进行

18、逻辑操作,这样不仅会增加时钟的偏差和抖动,还会使时钟带上毛刺。一般的处理方法是采用 FPGA 芯片自带的时钟管理器如 PLL,DLL 或DCM,或者把逻辑转换到触发器的 D 输入。 1.15 Xilinx 中与全局时钟资源和 DLL 相关的硬件原语 常用的与全局时钟资源相关的 Xilinx 器件原语包括:BUFG, IBUFGDS, BUFG, BUFGP, BUFGCE, BUFGMUX, BUFGDLL, DCM 等。1.16 HDL 语言的层次概念? HDL 语言是分层次的、类型的,最常用的层次概念有系统与标准级、功能模块级,行为级,寄存器传输级和门级。1.17 查找表的原理与结构? 查找表(look-up-table)简称为 LUT,本质上是一个 RAM。目前FPGA 中多使用 4 输入的 LUT,所以每一个 LUT 可以看成一个有 4 位地址线的 16x1 的 RAM。 当用户通过原理图或 HDL 语言描述了一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。