Verilog小白
简单说下我们的方案:用FPGA内部的Block RAM构建一个深度足够大的循环缓存。采样数据持续写入,写指针循环移动。触发检测模块并行工作,一旦触发,就产生一个‘冻结’信号,让写指针再走一段(存触发后数据)后停止。然后读指针可以从触发点向前偏移的位置开始,把一整段数据读出来送显示。FIFO主要用在两个地方:一是ADC数据接口,做跨时钟域处理;二是读取数据到显示端,匹配速度。重点是要算好时序,触发判断逻辑不能太复杂,否则延迟大,会丢掉触发点附近的關鍵数据。建议用状态机清晰管理缓存状态。资源允许的话,可以每个通道独立缓存,灵活性更高。
