2022年FPGA经典面试题 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年FPGA经典面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年FPGA经典面试题 .pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGA 与 CPLD 内部结构区别?CPLD 以 altraMAX7000这种 PLD 为例,可分为三块结构: 宏单元(Marocell) ,可编程连线( PIA)和 I/O 控制块。宏单元是PLD 的基本结构,由它来实现基本的逻辑功能。可编程连线负责信号传递,连接所有的宏单元。I/O 控制块负责输入输出的电气特性控制, 比如可以设定集电极开路输出, 摆率控制,三态输出等。这种基于乘积项(实际就是与或阵列) 的 PLD 基本都是由 EEPROM 和 Flash工艺制造的,一上电就可以工作,无需其他芯片配合。布线方式是全局的,所以延时可预测。 CPLD 适合做逻辑设计。FPGA FPGA 基于
2、 LUT,LUT 本质上就是一个 RAM ,每一个 LUT 可以看成一个有4 位地址线的 16x1 的 RAM 。这也是为什么 FPGA 需要外接一个 rom 来上电配置。以 xilinx 的 Spartan-II为例,主要包括 CLBs,I/O 块,RAM 块和可编程连线。在 spartan-II中,一个 CLB 包括 2 个 Slices,每个 slices 包括两个 LUT,两个触发器和相关逻辑。Slices 可以看成是 SpartanII 实现逻辑的最基本结构。FPGA 的制造工艺确定了 FPGA 芯片中包含的 LUT 和触发器的数量非常多,往往都是几千上万, PLD 一般只能做到 5
3、12 个逻辑单元,而且如果用芯片价格除以逻辑单元数量, FPGA 的平均逻辑单元成本大大低于PLD。 所以如果设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 中使用到大量触发器, 例如设计一个复杂的时序逻辑, 那么使用 FPGA 就是一个很好选择。2.Latch和 Register区别?行为描述中Latch 如何产生?本质的区别在于:latch是电平触发,reg 是边沿触发。时序设计中尽量使用reg 触发。行为描述中,如果
4、对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出latch 。比如: always( a or b) /缺少 else 语句beginif(a=1)q = b;end3. 对竞争冒险的理解,以及如何消除?在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。4. 用 Verilog设计一个 5 分频器。5 分频,奇数分频都可以类似这么做,只需要改 div1 和 div2 的参数。div1为奇数分频除 2 的余数。采用上升延和下降
5、延分别触发不同波形,最后叠加的方式产生奇数分频。module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 15 页 - - - - - - - - - input clk; input rst; output clk1x; output clk1xpose; output clk1xnege; output2:0 coutpose; o
6、utput2:0 coutnege;reg clk1xpose; reg clk1xnege; reg2:0 coutpose; reg2:0 coutnege;parameter div1 = 2 , div2 = 4; / div1 5 / 2, div2 = 5 - 1assign clk1x = clk1xpose | clk1xnege;always(posedge clk or negedge rst) begin if(!rst) clk1xpose = 0; else if(coutpose = div1) clk1xpose = clk1xpose; else if(cout
7、pose = div2) clk1xpose = clk1xpose; else clk1xpose = clk1xpose; endalways(negedge clk or negedge rst) begin if(!rst) clk1xnege = 0; else if(coutnege = div1) clk1xnege = clk1xnege; else if(coutnege = div2) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15 页 - -
8、- - - - - - - clk1xnege = clk1xnege; else clk1xnege = clk1xnege; endalways(posedge clk or negedge rst) begin if(!rst) coutpose = 0; else if(coutpose = div2) coutpose = 0; else coutpose = coutpose + 1; endalways(negedge clk or negedge rst) begin if(!rst) coutnege = 0; else if(coutnege = div2) coutneg
9、e = 0; else coutnege = coutnege + 1; endendmodule1、FPGA 结构一般分为三部分:可编程逻辑块(CLB)、可编程 I/O 模块和可编程内部连线。2 CPLD 的内部连线为连续式布线互连结构,任意一对输入、输出端之间的延时是固定;FPGA 的内部连线为分段式布线互连结构,各功能单元间的延时不定(不可预测 )。3 大规模可编程器件主要有CPLD 和 FPGA 两类,其中 CPLD 通过可编程乘积项逻辑实现其逻辑功能。基于 SRAM 的 FPGA 器件,每次上电后必须进行一次配置。 FPGA 内部阵列的配置一般采用在电路可重构技术,编程数据保存在静态
10、存储器 (SRAM) ,掉电易失。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 15 页 - - - - - - - - - 4 目前世界上有十几家生产CPLD/FPGA 的公司,最大的两家是:Altera,Xilinx 。5 硬件描述语言 (HDL) 是 EDA 技术的重要组成部分,是电子系统硬件行为描述、结构描述、数据流描述的语言, 它的种类很多, 如 VHDL 、Verilog HDL、AHDL 6 WHEN_ELSE 条件信号赋值语句和 IF_ELSE 顺序语句
11、的异同WHEN_ELSE 条件信号赋值语句中无标点,只有最后有分号;必须成对出现;是并行语句,必须放在结构体中。IF_ELSE 顺序语句中有分号;是顺序语句,必须放在进程中7 可编程逻辑器件设计输入有原理图输入、硬件描述语言输入和波形输入三种方式。原理图输入方式是一种最直接的设计描述方式,硬件描述语言的突出优点是:* 语言与工艺的无关性; 语言的公开可利用性, 便于实现大规模系统的设计;* 具有很强的逻辑描述和仿真功能,而且输入效率高, 在不同的设计输入库之间的转换非常方便,用不着对底层的电路和PLD 结构的熟悉。波形设计输入适用于时序逻辑和有重复性的逻辑函数。8 用 VHDL/Veilog
12、HDL 语言开发可编程逻辑电路的完整流程:文本编辑 功能仿真 逻辑综合 布局布线 时序仿真。* 所谓综合,就是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等 ),将设计输入转换成满足要求的电路设计方案,该方案必须同时满足与其的功能和约束条件。 综合的过程也是设计目标的优化过程,其目的是将多个模块化设计文件合并为一个网表文件,供布局布线使用, 网表中包含了目标器件中的逻辑单元和互连的信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 15 页 - - -
13、- - - - - - *布局布线就是根据设计者指定的约束条件(如面积、延时、时钟等 )、目标器件的结构资源和工艺特性, 以最优的方式对逻辑元件布局, 并准确地实现元件间的互连,完成实现方案(网表)到使实际目标器件 (FPGA 或 CPLD)的变换。9 基于 EDA 软件的 FPGA / CPLD 设计流程为:原理图 /HDL 文本输入 功能仿真 综合适配时序仿真 编程下载 硬件测试。* 综合是 EDA 设计的关键步骤,综合就是将电路的高级语言转换成低级的,可与 FPGA/CPLD 相映射的功能网表文件。为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。10 构成一个完整的
14、 VHDL 语言程序的五个基本结构:实体(ENTITY) 、 结构体 (ARCHITECURE) 、 配置(CONFIGURATION) 、库(LIBRARY) 、 程序包 (PACKAGE) 。*实体的由实体说明和结构体两部分组成。实体说明部分用于描述所设计系统的外部端口信号和参数的属性和设置,而结构体部分则定义了设计单元的具体功能、行为、数据流程或内部结构。*结构体的三种描述方式,即行为级描述、数据流级描述和结构级描述。结构体通常由结构体名称、定义语句和并行处理语句构成,*程序包用于存放各设计模块能共享的数据类型、常数、子程序等。*库用于存放已编译的实体、结构体、程序包和配置,可以通过其目
15、录进行查询和调用。在 VHDL 语言中,可以存在多个不同的库,但是库与库之间是独立的,不能互相嵌套。它可由用户生成或由ASIC 芯片制造商提供,以便于在设计中为大家所共享。常用库: (1)IEEE 库名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 15 页 - - - - - - - - - IEEE 库主要包括 std_logic_1164、numeric_bit、numeric_std等程序包,还有一些程序包非 IEEE 标准,但并入 IEEE 库,如 std_log
16、ic_arich、std_logic_unsigned、std_logic_signed。使用 IEEE 程序包,必须声明。(2) std 库包含 standard textio 程序包。 Std 库符合 IEEE 标准,应用中不必声明。(3) work 库用户的 VHDL 设计先行工作库。(4) vital 库包含时序程序包 vital_timing 和 vital_primitives 。设计开发过程通常不用每个设计实体都必须有各自完整的库说明语句和use语句。Use语句的使用将使说明的程序包对本设计实体部分全部开放,即是可视的。11 VHDL 的数据对象包括常量 (constant)、变
17、量(varuable) 和 信号(signal) ,它们是用来存放各种类型数据的容器。12 在 VHDL 的端口声明语句中, 端口方向包括in 、out 、buffer 、inout、linkage “BUFFER ” 为缓冲端口,与OUT 类似,只是缓冲端口允许实体内部使用该端口信号,它可以用于输出,也可以用于端口信号的反馈。当一个结构体用“BUFFER ” 说明输出端口时,与其连接的另一个结构体的端口也要用BUFFER 说明。以“LINKAGE ”定义的端口不指定方向,无论哪个方向的信号都可以连接。13 VHDL 的 PROCESS(进程)语句是由顺序语句组成的,但其本身却是并行语句。名师
18、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 15 页 - - - - - - - - - 14 VHDL 的子程序有过程(PROCEDURE) 和 函数(FUNCTION) 两种类型,具有可重载性特点。15 图形文件的扩展名是.bdf ;矢量波形文件的扩展名是.vwf ;使用 VHDL 语言,文本设计文件的扩展名是.vhd ;自建元件图形符号文件的扩展名.bsf;资源分配说明文件扩展名 .qsf,用文本打开它可以修改引脚编号;逻辑综合会生成 edf 文件;双击 .qpf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年FPGA经典面试题 2022 FPGA 经典 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内