serdes

(转)xilinx 高速收发器Serdes深入研究-Comma码

柔情痞子 提交于 2020-03-09 17:32:18
一、为什么要用Serdes 传统的源同步传输,时钟和数据分离。在速率比较低时(<1000M),没有问题。 在速率越来越高时,这样会有问题 由于传输线的时延不一致和抖动存在,接收端不能正确的采样数据,对不准眼图中点。 然后就想到了从数据里面恢复出时钟去采样数据,即CDR 这样就不存在延迟不一致的情况,有轻微的抖动也不会影响采样(恢复的时钟会随着数据一起抖动)。 二 、为什么要用8b10b,64b66b? 1 提供足够的跳变来恢复时钟 这样还有问题,收发两端必须共地,但往往很难实现。 于是采样差分信号传输,为了防止共模电压在接收端导致电流过大,使用电流驱动模式。看到接收端有电容进行交流耦合,隔直流。这样又带来一个问题,需要DC平衡。所以有了下面另一个原因。 2 DC平衡,即0和1的数量要相等。 3 run length,0和1连续出现的最大长度 AGC自动增益控制需要交流分量才能实现放大 4 comma码,K码 在serdes上面的高速串行流在接收端需要重新串并转化成多字并行,怎么找到字的边界进行对齐呢? 这就需要一个特殊的序列,这就是comma码。 传输过程中需要的一些控制,最好不要和数据冲突了,这就是K码。 基于以上四个原因,就有了8b10b,64b66b的出现。 三 、8b10b编码 8b10b编码一句话概括起来就是把8bit的数据变成10bit的数据

什么是ASIC芯片?与CPU、GPU、FPGA相比如何?

◇◆丶佛笑我妖孽 提交于 2020-02-07 15:11:52
http://www.elecfans.com/d/672204.html 继4月初 联发科 宣布扩大 ASIC 产品阵线,推出业内首个7nm 56G PAM4 SerDes IP之后,4月24日,在联发科深圳办公室,联发科举行了一场小型的媒体会,联发科副总经理暨智能设备事业群总经理 游人杰及联发科智能显示暨客制化芯片事业部行销处处长彭建凯首次揭秘了联发科的ASIC业务。 什么是ASIC芯片? 近年随着以 比特币 为代表的虚拟货币市场的火爆,催生了一大批生产“挖掘”虚拟货币设备的“矿机”厂商,其中最为知名的要属比特大陆了。而比特大陆之所以能够在矿机市场异军突起,则主要得益于其自主设计的针对比特币矿机的ASIC芯片。因为相对于 CPU 、 GPU 来说,采用专用的ASIC芯片来“挖矿”更具效率。以比特大陆的Antminer S9矿机为例,其内部集成了189个 ASIC芯片(BM1387),而且采用的是台积电16nm FinFET制程。同样,目前主流的矿机厂商都采用的是定制的ASIC芯片。这也使得ASIC芯片开始被大众所熟知。但是ASIC芯片并不仅仅能被用于“挖矿”,还被用于包括人工智能在内等众多领域。 那么什么才是ASIC芯片?它与我们常见的CPU、GPU等通用型芯片相比又有何不同? 早在1981年3月,Sinclair公司推出了一款8位个人电脑ZX81

Kafka Streams开发入门(1)

怎甘沉沦 提交于 2019-11-29 18:28:49
背景 最近发现Confluent公司在官网上发布了 Kafka Streams教程 ,共有10节课,每节课给出了Kafka Streams的一个功能介绍。这个系列教程对于我们了解Kafka Streams还是很有帮助的。为什么要了解Kafka Streams?其实我一直觉得国内对于Flink有点过于迷恋了。大厂使用Flink尚自合理,毕竟数据量大且需要整套的集群管理调度监控功能。但一般的中小公司业务简单体量小,何必要费时费力地搭建一整套Flink集群。有很多简单的流处理业务场景使用Kafka Streams绰绰有余了,更何况Kafka Streams在设计上特别是在消息精确处理语义上一点都不必Flink差,只是它的定位不同罢了。如果你对Kafka Streams感兴趣,不妨关注一下这个系列。不过有点令人不爽的是,该教程使用Confluent Kafka作为开发环境进行演示,而且大量用到了Avro进行消息的序列化/反序列化。Confluent Kafka默认提供Schema Regstry、avro-console-producer和avro-console-consumer工具可以很方便地把消息转换成Avro格式并进行测试,但是如果你使用原生的Kafka(也就是社区版的Apache Kafka),这些功能要自行开发,非常地不方便。 鉴于此,我打算对照着这系列教程中的例子