求职攻略| CPLD与FPGA的区别(大华FPGA岗解析)

首页-达尔闻    全部    求职攻略| CPLD与FPGA的区别(大华FPGA岗解析)

今天继续给大家分享大华FPGA岗的选择题(点这里:回看上期解析),本期的题目主要考察大家对概念的理解和应用。下面就让我们一起来看一下单选的题目和解析。

11)大规模可编程器件主要有CPLD和FPGA两类,下面对CPLD结构和工作原理描述中,不正确的是(    )

A CPLD中文全称是复杂可编程逻辑器件

B 基于SRAM的FPGA器件,每次上电须进行一次配置

C CPLD的触发器资源丰富

D CPLD信号通过芯片的延时时间是确定的

 

解析:本题主要考察了CPLD器件的特点

A选项CPLD的英文全称是:Complex Programable Logic Device,翻译成中文全称也就是:复杂可编程门阵列,所以A选项正确

由下面的表格可以知道FPGA内部SRAM的结构,一般采用外挂EEPROM或Flash存储程序所以每次上电后必须进行一次配置。所以B选项正确

CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。所以C选项错误

D选项可能是很多同学不太确定的,CPLD内部采用固定长度的金属线进行各逻辑块的互连,并且信号沿金属线传递所引起的延迟是可忽略的,CPLD的这种连续式布线结构决定了它的时序延迟是均匀的和可预测的,设计者通过计算经由功能模块、I/O模块和开关矩阵的延迟就可以计算任何信号的延迟时间。而FPGA通常包含三类可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O块完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。FPGA的这种分段式布线结构决定了其延迟的不可预测性。所以D选项正确。

所以答案选C。

 

12)下面关于FPGA的描述正确的是(    )

A FPGA全称为复杂可编程逻辑器件

B FPGA从一个输入管脚到一个输出管脚的延时是固定不变的

C 基于SRAM的FPGA器件,每次上电后必须进行一次配置

D FPGA和CPLD的内部结构大致一样,只是资源规模不一样而已

 

解析:本题主要考察了FPGA器件的特点

A选项FPGA的英文全称是:Field Programable Gate Array,翻译成中文全称也就是:现场可编程门阵列,所以A选项错误

该题的B选项对应上一题的D选项,所以错误。

和上一题的B选项是一样的,所以C选项正确。

虽然说一般情况下FPGA的资源要大于CPLD,但基于前面的了解和认识我们知道FPGA和CPLD的内部结构是不一样的,资源规模的大小并不是区别二者的依据。所以D选项错误

所以答案选C。

 

13)以下Verilog描述

always@(posedegclk)

begin

a <= b;

if(c)

a <= 1’b0;

end

被综合后可能是哪一种电路?(    )

A 带异步复位端的触发器 

B 不可综合

C 带同步复位端的触发器

D 组合逻辑或锁存器

 

解析:本题主要考察了Verilog代码映射的电路

我们可以先从选项入手,然后对照题干选择正确答案。首先A选项说的是“带异步复位端的触发器”,看一下代码,发现always的敏感列表中只有上升沿触发的时钟信号,说明不是异步复位,也不是组合逻辑或锁存器,所以A选项错误,D选项也错误。

B选项说“不可综合”,在Quartus中确实有种描述不可综合,那就是异步高复位的情况(详细请看“求职‘笔试经’第十五弹:FPGA设计中复位用法(华为硬件逻辑岗)”),此时综合工具会报错,因为题干的代码不是异步的,所以B选项也错误

C选项说的是“带同步复位端的触发器”,仔细观察题干确实符合要求。再从正面分析题目,可以发现该Verilog描述的是同步电路,信号c充当的其实是复位作用,并且是当信号c为高电平时将信号a赋值为0,从而也能判断C选项正确,综合后的RTL视图如下所示。

所以答案选C。

 

14)在Verilog HDL中实现c = a*b, 定义reg [7:0] a; reg[4:0] b; reg [N:0] c; 那么想要c的结果不溢出,N的值最小应该取(    )

A 10       B 11       C 12       D 13

 

解析:本题主要考察了乘法器的位宽特性

关于加法器和乘法器的位宽问题我们在“秋招‘笔试经’第七弹:华为硬件逻辑岗”第14题有详细的总结,得知两个数相乘后积的总位宽等于两个数各自的位宽之和,本题目a为8bit,b为5bit,相乘后积c的位宽应该为13bit,所以N的最小值应为12,否则会溢出。

所以答案选C。

 

15)FPGA设计优化主要考虑面积优化和速度优化,以下不属于面积优化的是(    )

A 流水线设计       B 逻辑优化

C 串行化            D 资源共享

 

解析:本题主要考察了FPGA设计中的优化方式

在FPGA设计中面积往往是指资源,速度往往是指性能。

A选项流水线设计需要更多的寄存器来缓存数据,也就是需要更多的资源,面积自然会更大,所以不属于面积优化。

B选项逻辑优化是将冗余的逻辑电路删减,能够减少资源的使用,所以属于面积优化

C选项将串行化是将并行的数据转化为串行的数据输出可以减少位宽,从而减少资源的使用,属于面积优化

D选项资源共享是将多次使用的逻辑电路合并到一起或者通过分时复用来节约资源,如一些IP中的Share Logic就是通过资源共享来节约资源,从而实现面积的优化。

面积和速度在FPGA中是一对相互制约的矛盾体,如果想要更小的面积自然会在Place和Route上有所限制,从而导致时序的难收敛;而如果想要在时序收敛的情况下拥有更高的速度,就需要更宽裕的Place和Route空间,从而就需要更多的资源也就是需要更大的面积。

面积和速度讲究的是平衡,不能无限制的追求单方面的面积和速度的极限,而是要在实现功能的情况下,结合成本、开发时间、功耗来一起考虑面积和速度的平衡关系,这样的设计才是最好的设计。

所以答案选A。

2021年2月22日 11:06
收藏