十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

191、基于FPGA的ISP流水线原型验证——Xilinx Zynq UltraScale+上的MIPI RX与ISP时序仿真

191、基于FPGA的ISP流水线原型验证——Xilinx Zynq UltraScale+上的MIPI RX与ISP时序仿真 191、基于FPGA的ISP流水线原型验证——Xilinx Zynq UltraScale+上的MIPI RX与ISP时序仿真上个月帮一个做车载方案的兄弟救火,他们用Zynq UltraScale+做前视摄像头ISP原型验证,MIPI RX进来RAW10数据,跑完自研的3A统计和降噪模块,输出到HDMI显示。现象很诡异——画面偶尔出现整行偏色,不是花屏,就是某一行RGB值整体偏移,像被谁偷偷加了个常数。他们查了三天,怀疑是DDR带宽不够,又怀疑是ISP内部行缓冲溢出,最后甚至把锅甩给传感器。我过去一看,MIPI RX的payload数据在进入ISP之前,经过了一个异步FIFO做时钟域转换,而FIFO的读侧用了almost_empty作为启动读的条件,写侧用了prog_full做反压。问题就出在这个prog_full的阈值设得太激进,导致FIFO在接近满的时候,写侧偶尔会丢一个cycle的写使能,而读侧还在按固定节奏读——结果就是整个line buffer里的数据错位了一个像素,但行同步信号没丢,于是ISP把错位的那一行当成了正常数据,偏色就这么来的。这种问题,在纯RTL仿真里几乎不可能被发现,因为你的testbench写数据永远是规规矩矩的,不会模拟传感器在极端光照下偶尔多burst一拍、少burst一拍的行为。这就是为什么我说,FPGA原型验证的核心不是把RTL跑通,而是把时序和握手协议的真实行为跑出来。先说MIPI RX这一侧。Zynq UltraScale+的MIPI CSI-2 RX IP,在配置成RAW10模式时
返回列表