2026年,FPGA工程师面试被问如何用Verilog实现一个支持AXI4-Stream的实时数据包重排序引擎,如何从滑动窗口和缓存管理角度设计?
最近面试一家做网络加速的AI芯片公司,面试官让我设计一个实时数据包重排序引擎,要求支持AXI4-Stream接口,能处理乱序到达的数据包并按序列号输出。我想到用滑动窗口加乒乓缓存,但面试官追问了缓存深度和窗口大小的关系,还有如何避免死锁。有没有大佬分享下实际工程中常用的Verilog实现方法?比如状态机如何划分,FIFO深度怎么计算,以及跨时钟域处理要注意什么?