FPGA笔试题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=====================第1章FPGA基础知识=================== FPGA设计工程师努力的方向
SOPC,高速串行I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。随着芯片工艺的提高,芯片容量、集成度都在增加,FPGA 设计也朝着高速、高度集成、低功耗、高可靠性、高可测、可验证性发展。芯片可测、可验证,正在成为复杂设计所必备的条件,尽量在上板之前查出bug,将发现bug的时间提前,这也是一些公司花大力气设计仿真平台的原因。另外随着单板功能的提高、成本的压力,低功耗也逐渐进入FPGA设计者的考虑范围,完成相同的功能下,考虑如何能够使芯片的功耗最低。高速串行IO的应用,也丰富了FPGA 的应用范围,象xilinx的v2pro中的高速链路也逐渐被应用。总之,学无止境,当掌握一定概念、方法之后,就要开始考虑FPGA其它方面的问题了。
简述FPGA等可编程逻辑器件设计流程
系统设计电路构思,设计说明与设计划分,电路设计与输入(HDL代码、原理图),功能仿真与测试,逻辑综合,门级综合,逻辑验证与测试(综合后仿真),布局布线,时序仿真,板级验证与仿真,加载配置,在线调试。常用开发工具(AlteraFPGA)
HDL语言输入:TextEditor(HDL语言输入),还可以使用UltraEdit原理图输入:SchematicEditorIPCore输入:MegaWinzad
综合工具:Synplify/SynplifyPro,QaustusII内嵌综合工具仿真工具:ModelSim
实现与优化工具:QuartusII集成的实现工具有AssignmentEditor(约束编辑器)、LogicLock(逻辑锁定工具)、PowerFitFitter(布局布线器)、TimingAnalyzer(时序分析器,STA分析工具)、FloorplanEditor(布局规划器)、ChipEditor(底层编辑器)、DesignSpaceExplorer(设计空间管理器)、DesignAssistant(检查设计可靠性)等。后端辅助工具:Assembler(编程文件生成工具),Programmer(下载编程工具),PowerGauge(功耗仿真器)
调试工具:SignalTapII(在线逻辑分析仪),SignalProbe(信号探针)。系统级设计环境:SOPCBuilder,DSPBuilder,SoftwareBuilder。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等)
IC设计流程
写出一份设计规范,设计规范评估,选择芯片和工具,设计,(仿真,设计评估,综合,布局和布线,仿真和整体检验)检验,最终评估,系统集成与测试,产品运输。设计规则:使用自上而下的设计方法(行
为级,寄存器传输级,门电路级),按器件的结构来工作,做到同步设计,防止亚稳态的出现,避免悬浮的节点,避免总线的争抢(多个输出端同时驱动同一个信号)。
设计测试(DFT)强调可测试性应该是设计目标的核心,目的是排除一个芯片的设计缺陷,捕获芯片在物理上的缺陷问题。
ASIC设计要求提供测试结构和测试系向量。FPGA等默认生产厂商已经进行了适当的测试。测试的10/10原则:测试电路的规模不要超过整个FPGA的10%,花费在设计和仿真测试逻辑上的时间不应超过设计整个逻辑电路的10%。
FPGA基本结构
可编程输入/输出单元,基本可编程逻辑单元,嵌入式块RAM,丰富的布线资源,底层嵌入式功能单元,内嵌专用硬核。
常用的电气标准有LVTTL,LCCMOS,SSTL,HSTL,LVDS,LVPECL,PCI等。FPGA悬浮的总线会增加系统内的噪声,增加功率的损耗,并且具有潜在的产生不稳定性的问题,解决方案是加上拉电阻。
对于SRAM型器件,路径是通过编程多路选择器实现;对于反熔丝型器件,路径通过传导线(高阻抗,有RC延时)来实现的。这两种结构都显着加大了路径延时。
FPGA选型时要考虑哪些方面
需要的逻辑资源、应用的速度要求,功耗,可靠性,价格,开发环境和开发人员的熟悉程度。
同步设计的规则
单个时钟域:
1、所有的数据都要通过组合逻辑和延时单元,典型的延时单元是触发器,这些触发器被一
个时钟信号所同步;
2、延时总是由延时单元来控制,而不是由组合逻辑来控制;
3、组合逻辑所产生的信号不能在没有通过一个同步延时单元的情况下反馈回到同一个组
合逻辑;
4、时钟信号不能被门控,必须直接到达延时单元的时钟输入端,而不是经过任何组合逻辑;
5、数据信号必须只通向组合逻辑或延时单元的数据输入端。多个时钟域:
把通过两个不同时钟作用区域之间的信号作为异步信号处理
你所知道的可编程逻辑器件有哪些
PAL/GAL,CPLD,FPGA
PLA:可编程逻辑阵列,一种用于大规模的与阵列和或阵列的逻辑器件,用于实现布尔逻辑的不同组合。
PLA:可编程阵列逻辑,一种逻辑器件,由大规模的与阵列和规模小且数量固定的或门组成,可用于实现布尔逻辑和状态机。
PAL:很短的交货时间、可编程的、没有NRE(非循环工程)费用门阵列:高密度性、能实现许多逻辑函数、速度相对较快
FPGA、ASIC、CPLD的概念及区别
FPGA(FieldProgrammableGateArray)是可编程ASIC。