ENGINEER INTERVIEW · FPGA设计 /
FPGA设计工程师面试,讲解Vivado ILA集成逻辑分析仪、MARK_DEBUG、在线触发条件、采样时钟及仿真与实际板卡差异排查。
面试回答,先讲核心结论
RTL功能仿真通过不代表板级时钟、复位、接口时序、约束和外部器件都正确。Vivado ILA能在FPGA内采样真实运行的指定信号,并按触发条件保存一段波形,用于定位偶发状态机跳转、握手失败或输入异常;但ILA受采样时钟、探针数量与片上存储深度限制。
01 / 先判断是功能问题还是板级约束问题
确认bitstream和.ltx探针文件对应同一实现版本,核对PLL lock、复位释放、时钟频率、IO Bank电平、约束文件和外部接口。
仅凭仿真中“波形都对”不能排除板上亚稳态、输入时序和不正确的外部器件连接。

02 / ILA采样与触发应该怎样设计
选择待观察的握手、地址、状态机编码、错误标志及相关计数器,确保采样时钟与被观察信号的实际时钟域关系正确。
将触发条件设置为事件发生瞬间,例如error_flag从0变1,或valid有效但ready长期无响应。合理分配触发前后采样深度,既保留原因也保留后果。
按工具流程将ILA IP/Probe加入设计、综合实现并下载正确的.bit/.ltx,然后连接Hardware Manager、运行触发并上传波形。
03 / 为什么ILA也可能看不到故障
01.探针插入会改变布局布线资源,极端情况下可能使时序发生变化;采样时钟不足或跨域不当可能漏掉窄脉冲。
02.因此ILA不代替静态时序分析、CDC检查及外部示波器。应根据问题性质选择片上逻辑分析和外部仪器配合。
面试中容易失分的地方
把ILA当作模拟示波器,或忘记探针文件与bitstream版本对应,只盯着ILA窗口也无法定位板外信号问题。
面试官可能继续追问
如果你怀疑一个只有几十纳秒的异步脉冲被采样漏掉,你会怎样修改观测方案?

扫码关注































