并行通信源同步方式介绍
2023-09-11 14:20:41 时间
作者:一博科技
我们都知道源同步方式的典型代表是DDRx信号,下面就来介绍源同步方式是怎样改善系统同步的先天不足的。
源同步要解决的第一个问题是减少在芯片之间传输数据所需的I/O引脚数量。这通过将芯片#1的输出处的n位数据复用到k位互连(k <n),然后将芯片#2的输入上的互连的k位解复用到n位内部数据路径上来实现,如下图所示。所得到的系统只需要每个芯片上的k个I/O引脚,而不需要先前的n个引脚。
![](http://www.edadoc.com/upload/day_17-0502/gscx4-01.jpg)
源同步的第二个法宝就是在两个芯片之间的数据通路中增加了一个高速时钟,如下图所示。假设该时钟源提供的时钟频率略低于在芯片互连上对数据进行触发的时钟频率,每个芯片都使用PLL来产生这个频率倍数的时钟,所得到的时钟用于启动和捕获相应芯片中的数据。芯片#1中用于从该芯片启动数据的PLL的输出时钟也是该芯片的输出,芯片#2使用该时钟来捕获数据,这种方法称为时钟转发。
![](http://www.edadoc.com/upload/day_17-0502/gscx4-02.jpg)
我们还是来看看典型的例子吧,图中所示的时钟可以是单数据速率(SDR)或双倍数据速率(DDR)的时钟,如下图所示。SDR就是接收芯片在SDR时钟的每个上升沿(或每个下降沿)捕获数据; 而DDR则是接收芯片捕获DDR时钟的每个边沿(上升沿和下降沿)的数据。
![](http://www.edadoc.com/upload/day_17-0502/gscx4-03.jpg)
相关文章
- 【SG建模同步】基于system generator的QAM载波同步和时间同步FPGA建模
- 【FPGA教程案例77】通信案例3——数据组帧,帧同步、拆帧
- 监听器-java同步的基本思想
- 内核线程与用户线程区别、同步互斥的实现原理——详解
- 图解Kafka分区副本同步限流机制三部曲(源码原理篇+测试用例 )
- C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)(连着消息一起控制,牛)
- 同步和异步关注的是消息通信机制,阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态
- 【Docker】多个容器和宿主机之间如何进行数据同步和数据共享?容器数据卷从介绍到常用操作图文教程
- 多线程频繁上锁同步还不如用单线程
- 浏览器工作原理:浅析页面循环系统 - async/await原理解析 - 使用同步的方式写异步代码
- 使用读写锁实现同步数据访问
- MySQL同步状态双Yes的假象及 seconds_behind_master的含义
- axios 通过async和await实现同步