首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨越设备内的时钟域

跨越设备内的时钟域
EN

Stack Overflow用户
提问于 2013-10-16 15:01:43
回答 1查看 649关注 0票数 2

我正在设计一个在FPGA上实现的VHDL导频插入模块,它是OFDM系统的一部分。对于来自调制组件的每48个字,导频插入将添加导频音调和NULL以填充64信道IFFT的剩余信道。我试图实现这个系统的流操作,因此它将不断地产生64个样本,以便在固定延迟的情况下串行输入到IFFT。

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

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

谢谢,技术官僚

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-16 15:09:43

所以,驱动48逻辑的时钟是从驱动64逻辑的时钟中派生出来的?如果是这样的话,那么你就知道你的时钟有一个有保证的关系,你不需要担心时钟漂移。这样你的工作就容易多了。

你需要内存有什么原因吗?您是否需要能够按顺序访问RAM的值?如果可以的话,我建议使用FIFO,这样会使你的工作更容易。你不需要跟踪读/写地址。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19406895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档