综合项目:可靠数据采集 FPGA 管线
约 14 分钟
构建一条从异步采样输入到缓冲、处理和主机输出的FPGA数据管线。课程可用仿真或低压开发板,重点是时钟复位、握手、存储、时序和验证证据,而非堆功能。
需求
定义采样率、数据宽度、最大突发、允许延迟、不得丢重、复位行为和错误上报。每条需求对应断言、测试或时序报告。
架构
输入域用握手或异步FIFO跨域,处理流水线支持背压,输出域有水位和超时。画时钟/复位域、数据流和控制流,列所有CDC。
约束
创建真实与生成时钟,声明异步组并约束同步器布局。只有经过结构证明的路径才设例外;检查未约束路径为零。
验证
随机时钟比、突发、背压、复位和溢出;记分板逐项核对顺序。写不丢、不重、容量和最终响应断言,并收集功能覆盖。
实现
综合后检查资源、RAM推断、最差路径和CDC报告;布局布线后做最终时序。板上增加版本、错误计数和可控触发,避免只有“灯亮”。
交付
提交规格、RTL、约束、测试、种子、覆盖、时序、CDC、板上记录与限制。
另一人应能从干净环境复现构建和至少一条随机回归。
可靠数字系统不是逻辑真值表的放大版,而是让数据在多个时钟、有限存储和异常事件中仍保持可证明的顺序与边界。
小纸条
FPGA项目为什么要把时序约束和CDC报告作为交付物?