CDC
2016-05-09 20:02
183 查看
CDC中最重要的问题是metastability问题。
加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定。
MTBF:mean time between fail,数值越大越好,MTBF=1/(Fclk*Fdata*X)。
在频率越高的情况下,MTBF越小,而且clock周期也短,此时可以考虑4级Sync。
在sending clock domain,先将数据用reg打一拍,消除glitch,而且减小了Fdata的频率,这样做CDC时,效果会更好。
从一个slow clock domain到一个fast clock domain,通常不会出现问题。
从一个fast clock domain到一个slow clock domain中时,可能会出现signal没有被采样到的情况。
在这样的情况下,可以:
1)open-loop;
如果要确保信号能被下一级未经sync采样到,信号必须stay 至少3个destination clock。
如果下级有做sync处理,信号stay1.5个destination clock即可。
2)close-loop;
由于req/ack的两级同步处理,会导致通信效率不高。
多比特(Multi-bit)的CDC处理:
1)尽量减少到1bit来进行处理;
2)使用不同的load signal来进行传输;
3)使用gray code;
4)FIFO;
由于sync的存在,第一级的sync很可能造成setup/hold的violation,所以此处在simulation的过程中
应该关掉check。
几种方法:
1)关掉timing check。
2)将lib中的FF的setup和hold time的值都改为0。
3)copy modify FF,指定sync单元使用修改过的FF。
4)手动或脚本修改sdf中指定路径的setup和hold的值。
5)使用多个sdf文件,在一个文件中修改,在分别读入两个sdf文件,用后一个覆盖前一个。
6)使用verdor提供的支持synchronizer的cell,0-setup,0-hold。
simulation model的建立
其中synthesis控制DC综合的流程。
加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定。
MTBF:mean time between fail,数值越大越好,MTBF=1/(Fclk*Fdata*X)。
在频率越高的情况下,MTBF越小,而且clock周期也短,此时可以考虑4级Sync。
在sending clock domain,先将数据用reg打一拍,消除glitch,而且减小了Fdata的频率,这样做CDC时,效果会更好。
从一个slow clock domain到一个fast clock domain,通常不会出现问题。
从一个fast clock domain到一个slow clock domain中时,可能会出现signal没有被采样到的情况。
在这样的情况下,可以:
1)open-loop;
如果要确保信号能被下一级未经sync采样到,信号必须stay 至少3个destination clock。
如果下级有做sync处理,信号stay1.5个destination clock即可。
2)close-loop;
由于req/ack的两级同步处理,会导致通信效率不高。
多比特(Multi-bit)的CDC处理:
1)尽量减少到1bit来进行处理;
2)使用不同的load signal来进行传输;
3)使用gray code;
4)FIFO;
由于sync的存在,第一级的sync很可能造成setup/hold的violation,所以此处在simulation的过程中
应该关掉check。
几种方法:
1)关掉timing check。
2)将lib中的FF的setup和hold time的值都改为0。
3)copy modify FF,指定sync单元使用修改过的FF。
4)手动或脚本修改sdf中指定路径的setup和hold的值。
5)使用多个sdf文件,在一个文件中修改,在分别读入两个sdf文件,用后一个覆盖前一个。
6)使用verdor提供的支持synchronizer的cell,0-setup,0-hold。
simulation model的建立
其中synthesis控制DC综合的流程。
相关文章推荐
- linux下HttpGet、HttpPost的C++实现
- 【HTML】2.head标签
- 可重入函数与线程安全
- iOS UICollectionView 总结
- 第十周第十一周项目1阅读程序(1)
- Redis和Memcache的区别
- Android—菜单
- 存储类、作用域、生命周期、链接属性的笔记
- python property
- Linux基础(vi,我的最爱)
- Linux IO模式及 select、poll、epoll详解
- 测试人员最应该关注的性能指标
- 日期及时间问题-日历问题
- IO模型之阻塞、非阻塞、IO多路复用、异步
- ACM--归并排序&&树状数组--nyoj 117--求逆序数
- poj--1815--Friendship(最小割点集)(枚举求最小字典序)
- 【Yii框架 一 】PHP框架,Yii概述
- Ubuntu搭建Java开发环境
- 菜刀ASP 文件重命名抓包
- HDU 2552 三足鼎立