完整FPGA笔试题及答案总结推荐文档.docx

上传人:b****4 文档编号:590058 上传时间:2022-10-11 格式:DOCX 页数:16 大小:115.48KB
下载 相关 举报
完整FPGA笔试题及答案总结推荐文档.docx_第1页
第1页 / 共16页
完整FPGA笔试题及答案总结推荐文档.docx_第2页
第2页 / 共16页
完整FPGA笔试题及答案总结推荐文档.docx_第3页
第3页 / 共16页
完整FPGA笔试题及答案总结推荐文档.docx_第4页
第4页 / 共16页
完整FPGA笔试题及答案总结推荐文档.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

完整FPGA笔试题及答案总结推荐文档.docx

《完整FPGA笔试题及答案总结推荐文档.docx》由会员分享,可在线阅读,更多相关《完整FPGA笔试题及答案总结推荐文档.docx(16页珍藏版)》请在冰豆网上搜索。

完整FPGA笔试题及答案总结推荐文档.docx

完整FPGA笔试题及答案总结推荐文档

第 1 章 FPGA基础知识 

1.1 FPGA设计工程师努力的方向 

SOPC,高速串行I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。

随着芯片工艺的提高,芯片容量、集成度都在增加,FPGA设计也朝着高速、高度集成、低功耗、高可靠性、高可测、可验证性发展。

芯片可测、可验证,正在成为复杂设计所必备的条件,尽量在上板之前查出bug,将发现bug的时间提前,这也是一些公司花大力气设计仿真平台的原因。

另外随着单板功能的提高、成本的压力,低功耗也逐渐进入FPGA设计者的考虑范围,完成相同的功能下,考虑如何能够使芯片的功耗最低。

高速串行IO的应用,也丰富了FPGA的应用范围,象xilinx的v2pro中的高速链路也逐渐被应用。

 总之,学无止境,当掌握一定概念、方法之后,就要开始考虑FPGA其它方面的问题了。

1.2 简述FPGA等可编程逻辑器件设计流程 

系统设计电路构思,设计说明与设计划分,电路设计与输入(HDL代码、原理图),功能仿真与测试,逻辑综合,门级综合,逻辑验证与测试(综合后仿真),布局布线,时序仿真,板级验证与仿真,加载配置,在线调试。

 常用开发工具(Altera FPGA) 

HDL语言输入:

Text Editor(HDL语言输入),还可以使用Ultra Edit 原理图输入:

Schematic Editor IP Core输入:

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(检查设计可靠性)等。

 后端辅助工具:

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)、配置文件(.qsf、.tcl)、工程文件(.qpf)。

 

2. 编译过程中生成的中间文件(.eqn文件和db目录下的所有文件.tdf,.hdb,.xml等) 3. 编译结束后生成的报告文件(.rpt、.qsmg等) 

4. 根据个人使用习惯生成的界面配置文件(.qws等) 5. 编程文件(.sof、.pof、.ttf等)

1.4 IC设计流程 

写出一份设计规范,设计规范评估,选择芯片和工具,设计,(仿真,设计评估,综合,布局和布线,仿真和整体检验)检验,最终评估,系统集成与测试,产品运输。

 设计规则:

使用自上而下的设计方法(行为级,寄存器传输级,门电路级),按器件的结构来工作,做到同步设计,防止亚稳态的出现,避免悬浮的节点,避免总线的争抢(多个输出端同时驱动同一个信号)。

 

设计测试(DFT)强调可测试性应该是设计目标的核心,目的是排除一个芯片的设计缺陷,捕获芯片在物理上的缺陷问题。

 

ASIC设计要求提供测试结构和测试系向量。

FPGA等默认生产厂商已经进行了适当的测试。

 测试的10/10原则:

测试电路的规模不要超过整个FPGA的10%,花费在设计和仿真测试逻辑上的时间不应超过设计整个逻辑电路的10%。

1.5 FPGA基本结构 

可编程输入/输出单元,基本可编程逻辑单元,嵌入式块RAM,丰富的布线资源,底层嵌入式功能单元,内嵌专用硬核。

 

常用的电气标准有LVTTL,LCCMOS,SSTL,HSTL,LVDS,LVPECL,PCI等。

 

FPGA悬浮的总线会增加系统内的噪声,增加功率的损耗,并且具有潜在的产生不稳定性的问题,解决方案是加上拉电阻。

 

对于SRAM型器件,路径是通过编程多路选择器实现;对于反熔丝型器件,路径通过传导线(高阻抗,有RC延时)来实现的。

这两种结构都显著加大了路径延时。

1.6 FPGA选型时要考虑哪些方面?

 

需要的逻辑资源、应用的速度要求,功耗,可靠性,价格,开发环境和开发人员的熟悉程度。

1.7 同步设计的规则 

单个时钟域:

 

1、 所有的数据都要通过组合逻辑和延时单元,典型的延时单元是触发器,这些触发器被一

个时钟信号所同步; 

2、 延时总是由延时单元来控制,而不是由组合逻辑来控制; 

3、 组合逻辑所产生的信号不能在没有通过一个同步延时单元的情况下反馈回到同一个组

合逻辑; 

4、 时钟信号不能被门控,必须直接到达延时单元的时钟输入端,而不是经过任何组合逻辑; 5、 数据信号必须只通向组合逻辑或延时单元的数据输入端。

 多个时钟域:

 

把通过两个不同时钟作用区域之间的信号作为异步信号处理 

1.8 你所知道的可编程逻辑器件有哪些?

 

PAL/GAL,CPLD,FPGA 

PLA:

可编程逻辑阵列,一种用于大规模的与阵列和或阵列的逻辑器件,用于实现布尔逻辑的不同组合。

PLA:

可编程阵列逻辑,一种逻辑器件,由大规模的与阵列和规模小且数量固定的或门组成,可用于实现布尔逻辑和状态机。

 

PAL:

很短的交货时间、可编程的、没有NRE(非循环工程)费用 门阵列:

高密度性、能实现许多逻辑函数、速度相对较快 

1.9 FPGA、ASIC、CPLD的概念及区别 

FPGA(Field Programmable Gate Array)是可编程ASIC。

 

ASIC专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。

根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。

与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。

 

FPGA采用同步时钟设计,使用全局时钟驱动,采用时钟驱动方式在各级专用布线资源上灵活布线,ASIC有时采用异步逻辑,一般采用门控时钟驱动,一旦设计完成,其布线是固定的。

FPGA比ASIC开发周期短,成本低,设计灵活。

 

CPLD(Complex Programmable Logic Device)是复杂可编程逻辑器件。

CPLD开关矩阵路径设计的一个优点是信号通过芯片的延时时间是确定的。

设计者通过计算经由功能模块、I/O模块和开关矩阵的延迟就可以 任何信号的延迟时间,并且信号沿金属线传递所引起的延迟是可忽略的。

1.10 锁存器(latch)和触发器(flip-flop)区别?

 

 电平敏感的存储器件称为锁存器,可分为高电平锁存器和低电平锁存器,用于不同时钟

之间的信号同步。

 

由交叉耦合的门构成的双稳态的存储原件称为触发器。

分为上升沿触发和下降沿触发。

可以认为是两个不同电平敏感的锁存器串连而成。

前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。

 

锁存器对脉冲电平敏感,在时钟脉冲的电平作用下改变状态。

锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。

 

锁存器不同于触发器,它不在锁存数据时,输出端的信号随输入信号变化,就像信号通过一个缓冲器一样;一旦锁存信号起锁存作用,则数据被锁住,输入信号不起作用。

锁存器也称为透明锁存器,指的是不锁存时输出对于输入是透明的。

 

应用场合:

数据有效迟后于时钟信号有效。

这意味着时钟信号先到,数据信号后到。

在某些运算器电路中有时采用锁存器作为数据暂存器。

 

缺点:

时序分析较困难。

 

不要锁存器的原因:

1、锁存器容易产生毛刺,2、锁存器在ASIC设计中应该说比ff要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和ff来组成锁存器,这样就浪费了资源。

 

优点:

面积小。

锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。

latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。

 

寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,它被广泛的用于各类数字系统和计算机中。

其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。

寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。

 工程中的寄存器一般按计算机中字节的位数设计,所以一般有8位寄存器、16位寄存器等。

对寄存器中的触发器只要求它们具有置1、置0的功能即可,因而无论是用同步RS结构触发器,还是用主从结构或边沿触发结构的触发器,都可以组成寄存器。

一般由D触发器组成,有公共输入/输出使能控制端和时钟,一般把使能控制端作为寄存器电路的选择信号,把时钟控制端作为数据输入控制信号。

 

寄存器的应用 

1. 可以完成数据的并串、串并转换; 

2.可以用做显示数据锁存器:

许多设备需要显示计数器的记数值,以8421BCD码记数,以七段显示器显示,如果记数速度较高,人眼则无法辨认迅速变化的显示字符。

在计数器和译码器之间加入一个锁存器,控制数据的显示时间是常用的方法。

 

3.用作缓冲器; 

4. 组成计数器:

移位寄存器可以组成移位型计数器,如环形或扭环形计数器。

1.11 JTAG信号 

TCK:

测试时钟输入,用于移位控制,上升沿将测试指令、测试数据和控制输入信号移入芯片;下降沿时将数据从芯片移出。

 

TMS:

测试模式选择,串行输入端,用于控制芯片内部的JTAG状态机。

 

TDI:

测试数据输入,串行输入端,用于指令和编程数据的输入,在时钟上升沿,数据被捕获。

TDO:

测试数据输出,串行输出端,时钟下降沿,数据被驱动输出。

 TRST:

测试复位输入(仅用于扩展JTAG),异步、低电平有效,用于JTAG初始化时。

 

1.12 FPGA芯片内有哪两种存储器资源?

 

FPGA芯片内有两种存储器资源:

一种叫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 ram等资源,可以节约更多的FF和4-LUT等底层可编程单元,最大程度发挥器件效能,节约成本; block ram是一种可以配置的硬件结构,其可靠性和速度与用LUT和register构建的存储器更有优势。

 

2、弄清FPGA的硬件结构,合理使用block ram资源;

3、分析block ram容量,高效使用block ram资源和分布式ram资源(distribute 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1