我正在设计一个在FPGA上实现的VHDL导频插入模块,它是OFDM系统的一部分。对于来自调制组件的每48个字,导频插入将添加导频音调和NULL以填充64信道IFFT的剩余信道。我试图实现这个系统的流操作,因此它将不断地产生64个样本,以便在固定延迟的情况下串行输入到IFFT。
我的方法是使用两个端口RAM,一个端口用于接收调制的字,另一个端口用于写入IFFT。每个端口都运行在一个独立的时钟上,而在设备外部,我有一个4/3的分频器,因此输出接收到输入的每48个时钟中就有64个时钟。
我的问题是,这是否是一个有效的设计策略,以及哪些类型的陷阱,我应该知道。另外,如果有人对我如何做到这一点有其他的建议,我将不胜感激。
谢谢,技术官僚
发布于 2013-10-16 15:09:43
所以,驱动48逻辑的时钟是从驱动64逻辑的时钟中派生出来的?如果是这样的话,那么你就知道你的时钟有一个有保证的关系,你不需要担心时钟漂移。这样你的工作就容易多了。
你需要内存有什么原因吗?您是否需要能够按顺序访问RAM的值?如果可以的话,我建议使用FIFO,这样会使你的工作更容易。你不需要跟踪读/写地址。
只需确保隔离这两个时钟域即可。我建议将写入RAM或FIFO的所有逻辑放在一个文件中,并将读取到RAM或FIFO的所有逻辑放在另一个文件中。RAM/FIFO可以存在于顶层,实例化两个较低级别的组件。
这将帮助您确保没有时钟域被跨越在奇怪的地方。RAM/FIFO应该是两个域之间的唯一接口。
https://stackoverflow.com/questions/19406895
复制相似问题