FPGA 经典面试题目及答案汇总

这些经典题目,你刷到过几个?

做 FPGA 的都知道一句话:

简历能不能过,面试能不能稳,很多时候就卡在这些"老题"上。

本文整理了一批 FPGA 岗位高频、经典、反复出现的面试题目 ,涵盖
数字电路 / Verilog / 时序 / 综合 / 工程实践 等核心方向,适合:

  • FPGA 校招 / 社招

  • 笔试前集中刷题

  • 面试前快速自检

如果这些题你基本都能答清楚,说明基础已经过线


一、数字电路基础(必问)

1️⃣ 什么是时序电路?和组合逻辑的区别?

答:

  • 组合逻辑:输出只与当前输入有关

  • 时序逻辑:输出与**当前输入 + 历史状态(寄存器)**有关

    FPGA 设计中,绝大多数模块都是时序逻辑


2️⃣ D 触发器的作用是什么?

答:

在时钟沿到来时,对输入数据进行采样并保持,用于

  • 数据存储

  • 时序隔离

  • 构建状态机

FPGA 内部的基本存储单元就是 D 触发器。


3️⃣ 建立时间和保持时间是什么?

答:

  • 建立时间(Setup):时钟沿到来前,数据需要稳定的时间

  • 保持时间(Hold):时钟沿到来后,数据需要继续稳定的时间

违反会导致亚稳态


二、Verilog 语法与编码习惯

4️⃣ 阻塞赋值和非阻塞赋值的区别?

答:

  • = 阻塞赋值:按顺序执行,常用于组合逻辑

  • <= 非阻塞赋值:并行更新,必须用于时序逻辑

面试黄金原则:

always @(posedge clk) 中只能用 <=


5️⃣ always @(*) 有什么作用?

答:

自动包含所有右值信号,避免漏敏感信号导致锁存器推断


6️⃣ 什么情况下会推断锁存器?

答:

  • 组合逻辑中

  • if / case 没有覆盖所有条件

  • 输出在某些分支下未赋值

锁存器在 FPGA 设计中通常是错误的结果


三、时序与时钟相关(高频)

7️⃣ 什么是同步设计?

答:

所有时序逻辑由同一个时钟或已约束的时钟域 驱动,

是 FPGA 设计的基本原则。


8️⃣ 跨时钟域如何处理?

答:

  • 单 bit 控制信号:两级触发器同步

  • 多 bit 数据:

    • 异步 FIFO

    • 握手机制

直接跨域采样是严重设计错误


9️⃣ 时钟抖动和时钟偏斜有什么区别?

答:

  • 抖动(Jitter):时间上的不确定性

  • 偏斜(Skew):同一时钟到达不同寄存器的时间差

都会影响时序裕量。


四、FSM(状态机)

🔟 状态机一般有哪几种写法?

答:

  • 一段式

  • 两段式(推荐)

  • 三段式(工程最常用)

三段式:
状态寄存 → 状态跳转 → 输出逻辑


1️⃣1️⃣ Moore 和 Mealy 状态机区别?

答:

  • Moore:输出只与状态有关,稳定

  • Mealy:输出与状态 + 输入有关,响应快

FPGA 工程中 Moore 更常用


五、综合与实现相关

1️⃣2️⃣ FPGA 中的 RAM 是如何实现的?

答:

  • 小容量:寄存器

  • 中等容量:LUT RAM

  • 大容量:Block RAM

综合器会根据代码风格自动推断。


1️⃣3️⃣ 什么是资源利用率?

答:

FPGA 中 LUT、FF、BRAM、DSP 等资源的使用比例,

直接影响:

  • 是否能放得下

  • 是否还能扩展


1️⃣4️⃣ 为什么时序过不了?

答:

常见原因:

  • 组合逻辑路径过长

  • 时钟频率设置过高

  • 跨时钟域处理不当

优化手段:
流水线、逻辑拆分、降低扇出


六、工程与经验题(拉开差距)

1️⃣5️⃣ FPGA 调试常用手段?

答:

  • 仿真(功能正确性)

  • ILA / SignalTap(板级调试)

  • 分模块验证

不会用 ILA 的 FPGA 工程师,基本不过关。


1️⃣6️⃣ 为什么"仿真能跑,板子不行"?

答:

  • 复位不规范

  • 时钟不稳定

  • 跨时钟域问题

  • 未约束 IO 或时序

板级问题 80% 是时序和复位


七、总结

这些题目没有一个是"偏门",

每一个都是真实面试中反复出现的内容

如果你发现:

  • 能看懂题

  • 但说不清答案

  • 或者只能模糊描述

那说明 基础还需要系统补一轮

相关推荐
何时梦醒17 分钟前
第三篇:React 组件化开发 — 函数即组件的哲学与实践
react.js·面试·typescript
胡萝卜术22 分钟前
编译期与运行期的双重防线:从 TypeScript 类型之争到 LLM 输出的自动化择优
前端·设计模式·面试
用户8524950718431 分钟前
Harness 工程:用工程化手段驾驭 LLM,而不是迷信一次回答
面试
Dr.kangder34 分钟前
嵌入式面试总结(一)——嵌入式系统实时性
面试·职场和发展·架构·嵌入式·虚拟化
何时梦醒1 小时前
TypeScript 类型系统核心:type 与 interface 全方位深度对比(附实战案例)
前端·面试·typescript
书源1 小时前
AI 能写代码之后,前端工程师的价值在哪里?
前端·面试·程序员
退休倒计时1 小时前
【每日一题】LeetCode 88. 合并两个有序数组 TypeScript
算法·leetcode·职场和发展·typescript
玩嵌入式谁会脱发呀1 小时前
【FPGA】 verilog设计spi读写flash实现数据DMA搬运
fpga开发
吃饱了得干活2 小时前
Java并发安全:看这一篇就懂了!
java·后端·面试
早点睡9752 小时前
向量检索原理入门:从 ANN 到 HNSW
后端·面试