我的verilog代码为8个通道生成DAC斜坡信号(通道,值)。我将此功能添加到已具有DAC控制器/通信器和相关FIFO的项目中。我想将所有8个通道同时生成的数据添加到现有的FIFO中。我很容易为单个频道完成此操作,但我不确定包含所有频道的最佳方式。
斜坡不是很快,所有时钟都是50 MHz。所以,我有很多时钟周期(约150 +)可供使用。但是,数据可能来自同一时钟周期中的多个通道。
我应该创建8个FIFO(只有几个指令足够大),每个通道1个?或者有更有效的方法吗?
如果我偶尔丢失数据点,这不会是一个大问题。
不确定这是否是简单的CDC fifo或其他什么,但这可以通过多种方式完成,如果您在下一个数据包到达之前有足够的时间,那么您可以:
如果需要某种更复杂的数据流管理您可能被迫使用8个单独的FIFO。