微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 数据稳定性

数据稳定性

时间:10-02 整理:3721RD 点击:
大家经常提到数据的稳定性,特别是处理器与存储器接口的数据稳定性,这种数据不稳定的原因是什么?如何保证数据的稳定?

数据稳定性
大家有什么经验请谈一谈吧

数据稳定性
因为数字电路中的两个基本概念就是‘延时’和‘建立/保持时间’,所以我想考虑数据稳定性也要从这两个方面入手。

数据稳定性
还应该考虑消除多时钟域或异步采集时造成的亚稳定性

数据稳定性
还有clock skew。

数据稳定性
那末clock skew怎么解决呢?只能增加设计的时间余量吗?

数据稳定性
clock skew对于ASIC来说,就是要在做时钟树时来尽量解决了,也就是通过EDA的P&R软件来重复优化。使得clock skew尽可能小吧。当然,对于前端设计来说,尽量做到自己的设计时间冗余大些吧。

数据稳定性
在做fpga时经常遇到clock skew,但不知如何解决?咨询过Altera的代理骏龙公司,他们给我的方案,我没怎没看懂,大家讨论讨论。
数据稳定性还有亚稳态,即不同的时钟域之间的数据传输,我也没想到一个好的解决方法!

数据稳定性
yu,关于不同时钟域之间的数据传输,在本版下面的贴子里有过讨论,有几篇比较经典的上传文章,你可以找找。
Altara的方案是怎样的?

数据稳定性
没错,数据的稳定性一般体现在接口和异步逻辑之间;
异步逻辑一般使用synchronizer(带握手和不带握手),也就是消除metastable;
对于同步逻辑,一定要满足clock skew,一般的同步设计走global buffer(当然fanout不是太大)应该不会有太大的问题吧,不然FPGA有点烂了;一般的clock skew应该存在于不能走global资源的clock,哪就走LOWSKEWLINE(Xilinx)和Fast global Signals(Altera), 另外,在UCF中一定加MAXSKEW的constraint;
接口之间的数据稳定性可以通过
1.减少延时(PCB delay固定,IOB/IOE使用register);
2.异步转内部同步(这个地方一定要多下功夫),
3.有时候输出使用latch也可以解决部分问题,
如果有具体设计可以拿出来大家讨论讨论!

PLL 输出的clock, clock skew 很大, 是不是fanout太大造成的?应该怎么办呢?

先查一查时钟有没有走global资源。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top