2

我正在设计一个 VHDL 中的导频插入模块,以在作为 OFDM 系统一部分的 FPGA 上实现。对于来自调制组件的每 48 个字,导频插入将添加导频音和 NULL 以填充 64 通道 IFFT 的剩余通道。我正在尝试实现该系统的流式操作,因此它将不断产生 64 个样本,用于以固定延迟向 IFFT 的串行输入。

我的方法是使用双端口 RAM,一个端口用于接收调制字,另一个端口用于写入 IFFT。每个端口都运行在一个独立的时钟上,在设备外部我有一个 4/3 时钟分频器,因此输出每 48 个时钟接收 64 个时钟到输入。

我的问题是这是否是一种有效的设计策略,以及我应该注意哪些类型的陷阱。另外,如果有人对我如何实现这一点有其他建议,我将不胜感激。

谢谢,技术专家

4

1 回答 1

1

那么驱动 48 逻辑的时钟是从驱动 64 逻辑的时钟衍生而来的吗?如果是这种情况,那么您知道您的时钟具有保证关系,您无需担心时钟漂移。这使您的工作更轻松。

是否有理由需要 RAM?您是否需要能够乱序访问 RAM 的值?如果可以的话,我建议使用 FIFO,它会让你的工作更轻松。您不需要跟踪读/写地址。

只需确保隔离两个时钟域即可。我建议将所有写入 RAM 或 FIFO 的逻辑放在一个文件中,并将所有读取 RAM 或 FIFO 的逻辑放在另一个文件中。RAM/FIFO 可以存在于例化两个较低级别组件的顶层。

这将帮助您确保在陌生的地方没有跨越时钟域。RAM/FIFO 应该是您在两个域之间的唯一接口。

于 2013-10-16T15:09:43.177 回答