|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
这几天一直在思考Cyclone 解复用的问题。我用的是Cyclone EP1C3T144-8器件。并行输入4bit数据线和时钟线,速率为200Mhz,数据线和时钟线都是lvds接口。在内部要对数据进行处理,显然如果直接用200Mhz的时钟,器件肯定达不到200Mhz。所以对数据进行解复用,变成16bit 50Mhz的数据,这样就可以进行处理。本来想用Alt_DDR接口,但发现不行,因为我的时钟只是在上升沿锁数据,不是象真正的ddr sdram,是在时钟正脉冲和负脉冲有数据。又想用其他办法,譬如先用200Mhz时钟产生100Mhz时钟和8bit数据,再用100Mhz时钟产生50Mhz时钟和16bit数据,但发现时序分析出了问题,因为100Mhz时钟和50Mhz是行波时钟,存在很大的clock skew。
最后想用fifo,即这边用200Mhz时钟分别写入4个4bit的fifo,在另外一边用50Mhz的时钟一次读取16bits的数据,但又发现问题,50Mhz的时钟必须由200Mhz产生,这又是一个行波时钟,因为如果50Mhz的时钟不由200Mhz时钟产生,两个时钟完全独立的话,50Mhz的时钟不一定是200Mhz时钟的1/4,时钟有频偏,造成fifo溢出或者空。在这里请教各位大侠,有没有很好的解决方法? |
|