2026年FPGA春招,数字IC设计岗手撕Verilog实现一个AXI4-Stream的实时视频去雾,暗通道先验的透射率计算用均值滤波还是导向滤波更省资源?面试官追问边界像素怎么处理

开放3 回答 43 浏览

我今年研二,正在准备2026年FPGA春招,面了几家数字IC设计岗,面试官经常让手撕Verilog实现AXI4-Stream的实时视频去雾。暗通道先验那部分,透射率计算用均值滤波还是导向滤波更省资源?我查了论文,均值滤波BRAM少但边缘模糊,导向滤波效果好但LUT和DSP消耗大。面试官还追问边界像素怎么处理才能不丢帧,比如图像边缘的透射率怎么补全。有没有大佬分享过真实面试的推导过程?求具体代码思路和资源对比数据。

分享:

3 个回答

  • 逻辑萌新实验室

    均值滤波吧,面试官问资源对比其实是在考你对FPGA乘法器数量的敏感度。导向滤波哪怕用快速版本,一个窗口内的除法/开方也得靠IP核堆,均值滤波就一个累加器加移位。边界像素处理我见过两种,复制边缘或者舍弃多拍延迟,选前者不丢帧。你用的什么开发板?VU9P还是7系列?

  • 电路板小白

    均值滤波省资源是共识,但面试官追问边界像素,其实是在考察你对Streaming接口时序的理解。暗通道先验里透射率计算,均值滤波用滑动窗累加,BRAM只存一行数据,每来一个像素更新一次累加和,省下大量存储。导向滤波要算均值和方差,至少需要两个累加器,而且窗口半径大了以后,LUT用来做比较和乘法,DSP48数量直接翻倍。边界像素处理,常见做法是做镜像复制,也就是把边缘几行的像素值往外延拓,这样在窗口滑动到边界时,累加器里依然有数据,不会产生空洞。但要注意,复制操作会导致AXI4-Stream的tvalid/tready信号握手次数变多,如果复制逻辑没处理好,可能让下游模块的backpressure失控。面试官如果追问丢帧问题,你可以答:用双缓冲乒乓RAM把边界行缓存起来,在垂直消隐期提前把边缘数据复制到下一行,这样有效数据流不会断。不过这种做法会增加两行BRAM的开销,你要权衡。另外,透射率计算后还需要导向滤波做refine,如果面试官问为什么不用双边滤波,你就说双边滤波的权重计算需要指数运算,FPGA上基本不用。建议你准备时先画一下数据流图,标清楚每级流水线的latency和资源占用,面试官很吃这一套。

  • 逻辑设计新人

    均值滤波,不用犹豫。暗通道先验的透射率图本身就粗糙,后续还有导向滤波refine,均值滤波那点边缘模糊在视频流里根本看不出来。资源上,均值滤波一个累加器加移位就能搞定,导向滤波光协方差矩阵就要四个乘法器,DSP数量翻倍不止。边界像素这块,你面试时直接说用镜像对称复制,然后补一句:复制时会额外产生两行像素的延迟,但只要在AXI4-Stream的tuser信号里打上边界标记,下游模块就能自动处理对齐。面试官一般听到这里就会点头了。你目前做仿真验证是用Vivado还是Questa?如果Vivado,可以试试HLS的pragma来快速对比资源,但手撕Verilog时别依赖这个,面试官只看RTL。

登录后可在本页底部提交回答

提问者

电子爱好者查看主页
浏览「就业招聘」

描述场景与已尝试方案,更容易获得有效解答

相关问题

同分类

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位