FPGA工程师面试——基础知识

文章详细阐述了FPGA的设计流程,包括从电路构思到布局布线的各个阶段,以及选型时需要考虑的逻辑资源、速度、功耗和成本等因素。同时,提到了FPGA的底层资源如CLB、BlockRAM和I/O端口,以及外围电路如通信接口和电源管理。此外,讨论了不同类型的存储器SRAM、DRAM和FlashMemory,以及逻辑电平标准和同步异步逻辑的概念。最后,文章涵盖了状态机设计和三态门等主题。
摘要由CSDN通过智能技术生成

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

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

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

答:需要的逻辑资源、应用的速度要求,功耗,可靠性,价格,开发环境和开发人员的熟悉程度。
1) FPGA平台选择:根据应用的需求和算法复杂度等因素,选择合适的FPGA芯片。不同的FPGA芯片具有不同的资源和性能特征,因此需要根据应用要求进行权衡。
2) 开发工具选择:选择可编程逻辑开发工具,如Xilinx Vivado或Intel Quartus Prime等,以实现设计、调试和验证。
3) 接口标准支持:根据应用需要,选择与外部组件通信所需的接口标准,例如PCI Express、Ethernet、USB等。
4) 系统架构设计:根据应用的需求和算法复杂度,设计FPGA系统架构,并选择合适的IP核和算法实现方法。
5) 性能评估与测试:通过性能评估和测试,验证FPGA原型的正确性和性能是否符合预期,并针对性地进行优化。评估和测试的方式包括仿真、实验室测试和现场测试等。
6) 电源管理和散热设计:由于FPGA芯片功耗较高,在系统设计中需要考虑电源管理和散热设计等问题,以确保FPGA原型稳定运行。
7) 成本和时间预算:在选择FPGA平台和开发工具以及进行系统设计时,需要考虑成本和时间预算等问题。这些问题涉及到硬件和软件开发的成本、成品率、生产周期和市场前景等因素。

3. FPGA中底层资源有哪些?

答:FPGA的底层资源主要有CLB基本逻辑单元、Block RAM、Distributed RAM(分布式)、Dedicated Multipliers(专用乘法器)、DCM(数字时钟管理单元)、I/O端口。

4. FPGA的外围电路由哪些?

答:基础类外围接口:LED、拨码开关、按键;
显示类外围接口:字符LCD、VGA接口;
通信类外围接口:UART、USB2.0;
电源、时钟和复位电路:

5. 你知道那些常用逻辑电平?TTL与CMOS电平可以互联吗?其中高速的逻辑电平有哪些?

答:常用的逻辑电平标准有TTL、CMOS、LVTTL、ECL、PECL、GTL;RS232、RS422、LVDS。
TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的,CMOS输出接到TTL是可以直接互连。
高速逻辑电平:LVDS、GTL、PGTL、CML、HSTL、SSTL等。
TTL:0.3~3.6V LVTTL: CMOS:5V或者12V

6. 简要描述SRAM、Flash Memory、DRAM的区别;以及nor flash和nand flash的区别。

答:
1) RAM又分为SRAM和DRAM:
SRAM(静态随机存储器)存取速度快,价格昂贵,一般用在CPU一二级缓冲,掉电资料消失,持续供电时资料一直存在,不需要动态刷新。
DRAM(动态随机存储器)存取速度比SRAM慢,但快于ROM,价格稍微便宜,掉电资料丢失,供电时需要刷新电路(因为栅极会漏电)
SDRAM(同步动态随机存储器)比DRAM多一个同步时钟。
FLASH(闪存)结合了ROM和RAM的优点,电子可擦除,断电不丢失数据,读取速度快,如U盘、MP3等
2) FLASH主要分NAND FLASH和NOR FLASH。(NOR和NAND是两种非易失闪存):
 NOR的读速度比NAND稍快一些。
 NAND的写入速度比NOR快很多。
 NAND的4ms擦除速度远比NOR的5s快。
 norflash数据线和地址线分开,能够实现ram一样的随机寻址功能。能够读取不论什么一个字节。可是擦除仍要按块来擦。
 nandflash相同是按块擦除,可是数据线和地址线复用,不能利用地址线随机寻址。读取仅仅能按页来读取。

7. 什么是同步逻辑和异步逻辑?

答:整个设计中只有一个全局时钟成为同步逻辑;多时钟系统逻辑设计成为异步逻辑。

8. 什么是竞争和冒险,并举例说明竞争和冒险怎样消除?

答:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。

9. 多时域设计中,如何处理信号跨时域?

答:建立和保持时间如果数据发生变化,就可能发生亚稳态现象。一般来说,在单一时钟域的设计中只要系统电路的fmax能够保证,就可以避免亚稳态的发生;但是在跨时钟域的时钟的相位是异步的,亚稳态将无法避免。
此时,在跨时钟设计时的解决亚稳态的思想是:虽然亚稳态无法避免,但可以对不同的时钟域之间信号进行同步处理,防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响。使得在发生亚稳态后系统仍然可以稳定地工作。
单根信号下,对第2个时钟用D触发器打2拍就可以将亚稳态的影响减少到可以忽略的地步。
多根信号下:握手,速度太慢;异步FIFO;多相位/高频时钟多次采样数据。

10. IC设计中同步复位与异步复位的区别?

答:同步复位在时钟沿采复位信号,完成复位动作。
异步复位不管时钟,只要复位信号满足条件,就完成复位动作。
异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。

11. 什么是同步逻辑和异步逻辑?

答:同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。

12. 同步电路和异步电路的区别?

答:电路设计可分类为同步电路和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟脉冲做同步,其子系统是使用特殊的“开始”和“完成”信号使之同步。由于异步电路具有下列优点–无时钟歪斜问题、低电源消耗、平均效能而非最差效能、模块性、可组合和可复用性–因此近年来对异步电路研究增加快速。
异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,其逻辑输出与任何时钟信号都没有关系,译码输出产生的毛刺通常是可以监控的。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。
同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入有无变化,状态表中的每个状态都是稳定的。
异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

13. 对于多位的异步信号如何进行同步?

答:对以一位的异步信号可以使用一位同步器进行同步,而对于多位的异步信号,可以采用如下方法:
(1) 可以采用保持寄存器加握手信号的方法(多数据,控制,地址);
(2) 特殊的具体应用电路结构,根据应用的不同而不同;
(3) 异步FIFO。(最常用的缓存单元是DPRAM)

14. PLL和DLL有什么区别?

答 :DLL是基于数字抽样方式,在输入时钟和反馈时钟之间插入延迟,使输入时钟和反馈时钟的上升沿一致来实现的。又称数字锁相环。
PLL使用了电压控制延迟,用VCO来实现和DLL中类试的延迟功能。又称模拟锁相环。功能上都可以实现倍频、分频、占空比调整,但是PLL调节范围更大。

15. Latch和Register区别?

答:本质的区别在于:latch是电平触发,register是边沿触发。
register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。时序设计中尽量使用register触发。

16. 锁存器Latch和触发器(flip-flop)区别?行为描述中Latch如何产生?

答:本质的区别在于:latch是电平触发,flip-flop是边沿触发。
1) latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。DFF由时钟沿触发,同步控制。
2) latch容易产生毛刺(glitch),DFF则不易产生毛刺。
3) 如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。
4) latch将静态时序分析变得极为复杂。一般的设计规则是:在绝大多数设计中避免产生latch。
行为描述中,如果对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出latch。
比如:always@(a or b) //缺少else语句
begin
if(a==1)
a <= b;
end

17. MOORE与MEELEY状态机的特征?

答:Moore状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化。Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关。

18. 状态机的编码方式有哪几种?

答:二进制,格雷码和独热码

19. 什么是三态门,简要描述两个三态门对接的示意图。

答:三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态——高阻状态的门电路。高阻态相当于隔断状态(电阻很大,相当于开路)。三态门都有一个EN控制使能端,来控制门电路的通断。可以具备这三种状态的器件就叫做三态门。
两个三态门的输出(特定条件下可以)直接连接在一起,特定条件就是当两个三态门有一个处于高阻抗输出状态时。

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 2 2. 什么是同步逻辑和异步逻辑? 2 3. 同步电路和异步电路的区别: 2 4. 时序设计的实质: 2 5. 建立时间与保持时间的概念? 2 6. 为什么触发器要满足建立时间和保持时间? 2 7. 什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 2 8. 系统最高速度计算(最快时钟频率)和流水线设计思想: 2 9. 同步复位和异步复位的有何区别? 3 10. 写出一段代码,用来消除亚稳态。 3 11. 写出一段代码,对时钟进行3分频。 4 12. 设计一个glitch free的时钟切换电路逻辑,比如从20m切到50m,讲明理由。 4 13. 如何跨时钟域同步多位信号?有哪些技术? 4 14. 异步FIFO为什么用格雷码 5 15. 时序约束的概念和基本策略? 5 16. 附加约束的作用? 6 17. 锁存器(latch)和触发器(flip-flop)区别? 6 18. FPGA 芯片内有哪两种存储器资源? 6 19. 什么是时钟抖动? 6 20. FPGA 设计中对时钟的使用?(例如分频等) 6 21. IC 设计中同步复位与异步复位的区别 6 22. MOORE 与 MEELEY 状态机的特征 6 23. FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项? 6 24. 什么是竞争与冒险现象?怎样判断?如何消除? 7 25. 查找表的原理与结构 7 26. 寄生效应在IC设计中怎样加以克服和利用 7 27. 设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零, 7 28. 数字IC(ASIC)设计流程: 8 29. SERDES的高速串行接口 8 30. 什么是状态编码技术? 解释一下。 8 31. FIFO简单讲解(*) 9 32. IC设计前端到后端的流程和EDA工具? 12 33. FPGA设计中如何实现同步时序电路的延时? 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值