我正在设计VHDL中的Pilot插入模块,以便在作为OFDM系统一部分的FPGA上实现。对于来自调制分量的每48个字,导频插入将添加导频音和NULL以填充64信道IFFT的剩余信道。我正在尝试实现该系统的流操作,因此它将不断产生64个样本,以便以固定的延迟对IFFT进行串行输入。
我的方法是使用双端口RAM,一个端口用于接收调制字,另一个端口用于写入IFFT。每个端口都在一个独立的时钟上运行,在设备外部我有一个4/3时钟分频器,因此输出每48个时钟输入64个时钟。
我的问题是这是否是一个有效的设计策略,以及我应该注意哪些类型的陷阱。此外,如果有人对如何实现这一点有其他建议,我将不胜感激。
谢谢, 技术专家
答案 0 :(得分:1)
因此驱动48逻辑的时钟源自驱动64逻辑的时钟?如果是这种情况,那么您就知道您的时钟有一个保证的关系,您不必担心时钟漂移。这使您的工作更轻松。
您是否需要RAM?您是否需要能够无序访问RAM的值?如果可以,我建议使用FIFO,这将使您的工作更轻松。您无需跟踪读/写地址。
确保隔离两个时钟域。我建议将写入RAM或FIFO的所有逻辑放在一个文件中,并将读取的所有逻辑放入另一个文件中的RAM或FIFO中。 RAM / FIFO可以存在于实现两个较低级别组件的TOP级别。
这将帮助您确保在奇怪的地方没有交叉时钟域。 RAM / FIFO应该是两个域之间的唯一接口。