0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA常见面试题总结

FPGA设计论坛 来源:未知 2023-09-07 12:35 次阅读


点击上方蓝字关注我们

1 数字ICASIC)设计流程:

IC设计分为前端和后端。前端设计主要将HDL语言-->网表,后端设计是网表-->芯片版图。

前端主要有需求分析与架构设计、RTL设计、仿真验证、逻辑综合、STA、形式验证。后端主要包括DFT、布局规划、布线以及版图物理验证。

2 MCU结构:

它是由CPU系统、程序存储器(ROM)、数据存储器(RAM)、各种I/O端口、基本功能单元(定时器/计数器等)组成。

3 低功耗技术:

功耗可用公式描述:Power = KFCV^2,即功率等于常数系数*工作频率*负载电容值*电压的平方。

故从以下几个方面降低功耗方式:

a.控制工作频率:降低频率增大数据路径宽度,动态频率调整,门控时钟(时钟使能有效时钟才进入寄存器时钟输入引脚)

b.减少电容负载:使用几何尺寸更小的逻辑门,其电容负载较小,功率也随之减少。

c.降低工作电压:动态改变工作电压、零操作电压(直接关闭系统中一部分的电源)。

4 MOS管基本概念及画图:

MOS中文意思是金属氧化物半导体场效应管,由栅极(G)、漏级(D)、源级(S)组成。分为PMOS和NMOS两种类型,区别在于G级高电平时,N型管导通,P型管截止。两者往往是成对出现的,即CMOS。只要一只导通,另一只则不导通,现代单片机主要是采用CMOS工艺制成的。

画图一般需要根据一个简单的逻辑表达式,画出CMOS电路图结构。需要掌握常用逻辑门的实现方式。

总体来看还是挺好记的,与非门和或非门都是上下各两个MOS管,且上面是PMOS,下面是NMOS。不同之处在于与非是“上并下串”,或非是“上串下并”。

5 FPGA内部结构及资源:

FPGA主要由可编程单元、可编程I/O单元及布线资源构成。

可编程逻辑单元(可配置逻辑单元,CLB)由两个SLICE构成,SLICE主要包括实现组合逻辑的LUT和实现时序逻辑的触发器。FPGA内部还包含专用存储单元BRAM,运算单元DSP Slice,及专用内嵌功能单元,如:PLL、Serdes等。

6 FPGA内部LUT实现组合逻辑的原理:

LUT相当于存放逻辑表达式对应真值表的RAM。软件将逻辑表达式所有可能结果列出后存放在RAM中,输入作为RAM地址,输出为逻辑运算结果。如使用LUT模拟二输入“与”逻辑。列出真值表:00 -- 0,01 -- 0,10 -- 0,11 -- 1。此时将00 01 10 11作为地址线,依次将结果0 0 0 1存放在RAM中。当输入00时及输出0&0=0.

7 常用逻辑表达式化简公式:

左右关系为*变+,+变*

交换律:A*B = B*A A+B = B+A

结合律:(A*B)*C = A*(B*C) (A+B)+C = A+(B+C)

分配率:A(B+C) = AB+ACA+BC = (A+B)(A+C)

特殊定律:

8 FIR滤波器与IIR滤波器函数表达式、特点及结构:

FIR(有限冲激响应)滤波器:非递归,具有线性相位。IIR(无限冲激响应)滤波器:递归结构,非线性相位。相同阶数FIR和IIR滤波器,IIR滤波器滤波效果较好,但会产生相位失真。

FIR滤波器:

对N个采样数据进行加权和平均处理。

表达式:

结构图:

IIR滤波器:

包含递归部分也包含非递归部分。

表达式:(具有N个前馈系数和M-1个反馈系数)

结构图:

9 N位二进制数所能表示的数据范围,两个Nbit数相加相乘后需要多少bit?(多在计算题中间接提问)

有符号数:(补码)-2^(N-1) ~ 2^(N-1)-1 如N = 8,则表示范围是:-128 ~ 127.

无符号数:0~2^N-1 如N = 8,则表示范围是:0~255.

定点数:3Q13 范围是:-4~4-2^(-13) 精度是:2^(-13)

相加相乘后需要的数据位宽若无已知数据范围,按照基本规律:相加位宽+1,相乘位宽*2.若已知操作数范围,根据运算操作数所能表示数的绝对值最大值求出运算结果极限值。

问:例如两个8bit有符号数相乘,其结果需要的位宽是多少?

答:8bit有符号数补码所能表示的数据范围是:-128到127,具有最大绝对值的数是-128,所以极限情况下是-128*(-128) = 16384 = 2^14. 15bit有符号数所能表示范围是:-2^14到2^14-1,并不能表示2^14。综上,需要16bit位宽。正好位宽扩大一倍。

10 FPGA详细设计流程(面试提问)

与数字IC设计流程类似,以xilinx vivado工具为例,主要有以下步骤:系统规划、RTL输入、行为仿真、逻辑综合、综合后仿真(可选)、综合后设计分析(时序及资源)、设计实现(包括布局布线及优化)、实现后设计分析(时序及资源)、板级调试、bitstream固化。

11 时序约束相关

有哪几种时序路径:

input paths:外部引脚到内部模块路径

register-to-register paths:系统内部寄存器到寄存器路径

output paths:内部模块到外部引脚的路径

port to port paths:FPGA输入端口到输出端口路径(不常用)

创建时序约束的关键步骤:

a baseline约束:create clocksdefine clocks interactionsb I/O约束:set input and output delaysc 例外约束:set timing execptions(set_max_delay/set_min_delay、set_multicycle_path、set_false_path)

设计初期可先不加I/O约束,但baseline约束要尽早建立。

input delay和output delay计算:

input delay:

a 系统同步:min_delayTco min + Trce min

max_delay Tco max + Trce max

b 源同步:min_delay Tco min

max_delay Tco max

output delay:

min_delay Trce min - Th

max_delay Trce max + Tsu

其中input delay的源同步模式下,DDR采样多采用示波器测量延迟的方式。

Tsu和Th与Tco T Tdata的关系:

T≥Tco+Tdata+Tsu

Th≤Tco+Tdata

12 异步信号同步方式

单比特数据,打两拍后检测打拍后信号变化沿。若快时钟域信号进入慢时钟域,则先扩展位宽再打两拍。

多比特数据,使用异步FIFO桥接。在数据量不大,带宽要求不高的场合可以采用握手同步方式(利用单比特握手信号打两拍同步方式找到数据稳定时刻,保证上游握手信号拉高时数据稳定不变)。

13 SRAM和DRAM的区别

SRAM是静态随机访问存储器,由晶体管存储数据,无需刷新,读写速度快。DRAM是动态随机访问存储器,由电容存储数据,由于电容漏电需要动态刷新,电容充放电导致读写速度较SRAM低。但DRAM成本较低,适合做大容量片外缓存。

14 逻辑设计中竞争与冒险概念,如何识别和消除?

竞争:在组合逻辑电路中,信号经过多条路径到达输出端,每条路径经过的逻辑门不同存在时差,在信号变化的瞬间存在先后顺序。这种现象叫竞争。

冒险:由于竞争而引起电路输出信号中出现了非预期信号,产生瞬间错误的现象称为冒险。表现为输出端出现了原设计中没有的窄脉冲,即毛刺。

常见的逻辑代数法判断是否有竞争冒险存在:只要输出逻辑表达式中含有某个信号的原变量A和反变量/A之间的“与”或者“或”关系,且A和/A经过不同的传播路径,则存在竞争。解决办法一是修改逻辑表达式避免以上情况,二是采样时序逻辑,仅在时钟边沿采样,三十在芯片外部并联电容消除窄脉冲。

15 格雷码特点及其应用

连续的格雷码之间只有单比特信号变化,多用在异步时钟域处理上,如异步FIFO中地址指针的索引就采用格雷码编码。

分析:只有单比特信号跨时钟域时,我们能通过双触发器构成的同步器在另一个时钟域内得到有效脉冲,但多比特信号若采用同样的方法,会出现各个比特更新时刻不一致导致数据错误的情况。而在异步FIFO设计中,两侧信号属于不同时钟域,FIFO必须通过对比来自不同时钟域的读写地址指针数值给出空满指示信号,地址指针需要多个比特信号才能代表FIFO深度。格雷码的单比特变化特性正好适用于这一场合,使用单比特信号同步策略完全适用于格雷码。

16 亚稳态的产生原因及消除方式

在异步系统中,寄存器建立保持时间不满足引起亚稳态。典型的场合为数据跨时钟域传输和异步复位电路。在异步传输过程中,通过单比特信号双寄存器同步,多比特信号FIFO桥接的方式消除亚稳态(实际上异步信号同步方式即为异步传输过程中亚稳态的消除方式)。通过异步复位,同步释放可消除异步复位引起的亚稳态。

17 如何利用C语言编写带有多个返回值的子函数

常见的有两种方式:一是利用全局变量,子函数在执行过程中修改多个全局变量即可达到与多个返回值同样的效果。二是利用数组指针作为函数参数,通过地址传递改变多个实参本身。

18 时钟抖动和时钟偏移的概念及产生原因,如何避免?

时钟抖动jitter:指时钟信号的跳变沿不确定,故是时钟频率上的不一致。

时钟偏移Skew:指全局时钟产生的各个子时钟信号到达不同触发器的时间点不同,是时钟相位的不一致。

jitter主要受外界干扰引起,通过各种抗干扰手段可以避免。而skew由数字电路内部各路径布局布线长度和负载不同导致,利用全局时钟网络可尽量将其消除。

19 CMOS和TTL电路区别是什么?

两者区别主要体现在三个方面:

a.结构:CMOS电路由场效应管构成,TTL由双极性晶体管构成。

b.电平范围:CMOS逻辑电平范围大(5~15V),TTL只工作在5V以下,因此CMOS噪声容限比TTL大,抗干扰能力强。

c.功耗与速率:CMOS的功耗比TTL小,但工作频率低于TTL。

20 信号3dB带宽的意义是什么?

3dB带宽通常指功率谱密度的最高点下降到1/2时界定的频率范围。

21 JTAG接口信号及功能

JTAG实际上使用的只有四个信号:时钟TCK、状态机控制信号TMS、数据输入信号TDI、数据输出信号TDO。


有你想看的精彩



至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询!
用FPGA进行基本运算和特殊函数定点运算
FPGA流水线设计





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:FPGA常见面试题总结

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21324

    浏览量

    593215
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102959

原文标题:FPGA常见面试题总结

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 104次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>常见</b>的图像算法模块<b class='flag-5'>总结</b>

    经典Linux面试题总结

    绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
    的头像 发表于 01-04 11:01 185次阅读

    总结常见电路面试题

    输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time。如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。
    的头像 发表于 01-02 16:03 190次阅读

    nginx常见面试题:负载均衡有哪些算法?

    正向代理是位于用户设备和互联网之间的服务器。它代理的是客户端,是站在用户一方的。其真实客户端对于服务器不可见。
    的头像 发表于 12-07 10:45 230次阅读
    nginx<b class='flag-5'>常见面试题</b>:负载均衡有哪些算法?

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 762次阅读
    硬件工程师经典<b class='flag-5'>面试题</b>详解

    30道Linux面试题总结

    如果你是一名开发人员、系统管理员,或是仅仅对 Linux 感兴趣,那么这个列表是为你准备的。它包含了类 Unix 系统管理或编程职位面试中涉及 Linux 相关的所有常见问题。
    发表于 10-27 15:29 764次阅读
    30道Linux<b class='flag-5'>面试题</b><b class='flag-5'>总结</b>

    c语言面试题集(完整版)

    电子发烧友网站提供《c语言面试题集(完整版).pdf》资料免费下载
    发表于 10-20 11:20 1次下载
    c语言<b class='flag-5'>面试题</b>集(完整版)

    面试射频工程师需要知道的基础知识

    大家好,这里是射频学堂,今天给大家整理了一下一些知名外企射频类岗位面试题集,这些外企包括:Apple, Qualcomm, MediaTek, Intel, Samsung, Skyworks, Keysight, pSemi, Qorvo, Anokiwave 等等。
    的头像 发表于 08-15 10:15 1076次阅读

    常见的嵌入式C语言面试题

    数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见面试题,仅供参考。目前有以下18道题目。
    发表于 07-18 10:46 597次阅读

    详解C/C++中的getMemory()函数

    如果你将面试一份 C/C++的工作,那么无论是笔试题或者面试题都有极大可能会被问到getMemory()的问题。当然这也是一道比较纠结的题目,本文就对这几道题目来做一个分析对比。
    发表于 07-17 17:35 407次阅读

    Redis常见面试题(2023 版本)

    Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)、HyperLogLog(基数统计)、GEO(地理信息)、Stream(流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。
    的头像 发表于 06-28 16:17 793次阅读
    Redis<b class='flag-5'>常见面试题</b>(2023 版本)

    iOS多线程面试题解析

    这是某大厂的面试原题,我当时第一问回答对了,然后第二问就凉凉了。
    发表于 06-15 10:28 304次阅读

    【经典面试题】请使用C语言编程实现对IPV4地址的合法性判断

    【经典面试题】请使用C语言编程实现对IPV4地址的合法性判断
    的头像 发表于 05-16 15:23 1137次阅读

    Spring事务在哪几种情况下会不生效?

    日常开发中,我们经常使用到spring事务。最近星球一位还有去美团面试,被问了这么一道面试题: Spring 事务在哪几种情况下会不生效?
    的头像 发表于 05-10 17:53 567次阅读
    Spring事务在哪几种情况下会不生效?

    分享10道有趣的嵌入式C语言面试题及答案

    10个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
    的头像 发表于 05-09 10:54 1716次阅读