集成电路模拟设计——【基于Serdes 应用的 串化/解串器 时钟与数据恢复电路CDR】
串化/解串器 & 时钟与数据恢复电路CDR(可提供实现过程、仿真波形与具体参数细节
- 本文内容摘要
- 背景
- 串化/解串器
- 全速树形串化器
- 半速树形串化器
- 全速移位寄存器串化器
- 多级树形解串器
- PLL型CDR
- 整体架构
- 实现结果
- Bang-Bang型CDR
- 整体架构
- PS/PI型CDR电路
- PS电路设计
- PI电路设计
- 实现细节可联系交流
本文内容摘要
本文使用理想单元库和TSMC 28nm实现适用于串化/解串器和时钟与数据恢复电路CDR,电路与仿真通过cadence软件及配套virtuoso实现:
- 利用理想单元完成全速树形串化器、半速树形串化器、全速移位寄存器串化器,半速多级树形解串器电路及其仿真测试
- 利用TSMC 28nm工艺完成成:
1、PLL型CDR:包括压控振荡器VCO、分频器DIV、电荷泵CP、鉴频鉴相器PFD、环路滤波器LP、锁定检测电路、脉宽拓展电路等
2、Bang-Bang型CDR:半速率 Bang-Bang 鉴相器、对称异或门、V/I 转换器、正交 LC 压控振荡器电路等
3、PS/PI型CDR电路:PS电路设计、PI电路设计、CML到CMOS电路等
背景
摩尔定律(Moore’s Law)预测的IC上所集成的晶体管数目每两年就翻一番成为可能。根据Rent定律,所需的芯片I/O引脚数量也需要相应地增长, 尤其在近些年,越来越多的全球互联网用户,要求更快的通信和更丰富的媒体内容, 基本上每两年总的I/O带宽就会提高一倍。
在高速有线接口中,基于SerDes(Serializer/Desrializer)的串行接口技术具有更少引脚数,更小面积和更高速率等优势。
在高速串行链路中用SerDes来实现数据的发送和接收,其中串化/解串器和时钟数据恢复电路(CDR)是接收机(Receiver, Rx)中最主要的部分之一。
串化/解串器
全速树形串化器
树形级联串化器是将 2mux1 的并串转换单元以 1 : 2 : 4 : … :2^n的比例级联以实现多路并行信号串化的功能。每一个 2mux1 并串转换单元的电路图如下图中右上角框图内所示,由正相触发器、反相锁存器以及二选一选择器组成。
半速树形串化器
修改设计4mux1的半速树形串化器电路结构如下图所示。Half-rate架构消除了最后输出级的高速时钟和触发器,这样会造成关键路径上信号不再由触发器设置时间,且对占空比更见敏感,但减半了时钟速率要求,使得前几个阶段拥有更多的时间裕度。现在最后一级的2选1选择器需要交换输入数据,以防输出故障。按以上思路修改得到16mux1的半速率树形串化器。
全速移位寄存器串化器
移位寄存器串化器也是 SerDes 发射机中常用的串化器电路结构,下图中所示的是 4:1 移位寄存器串化器电路。WRT 写入信号是一个占空比为 25%、频率与并行输入信号一致的周期信号。
其中,所需的四分频与四相位及写信号产生电路如下图所示:
多级树形解串器
采用多级树形解串器,其仅需要半速率时钟,且不需要多相位产生。多级树形4dmux1解串器电路如下图所示。由3/2延迟和1单位时钟周期延迟的触发器组成。
PLL型CDR
整体架构
PLL型CDR是一个双环路结构,电路图如图所示。在电路工作的最初阶段,PLL 环路上电之后正常工作,直至电路的反馈时钟参考输入时钟的频率一致或者小于最初设计的偏差值后,电路中的锁定检测模块就会甄辨出这一状态,并输出一个信号控制电路切换到 CDR 环路工作
鉴相器的捕获范围是有限的,如果输入参考信号与反馈信号最初的频率差异较大,环路将无法准确锁定,事实是极大的可能最终会锁定在其谐波频率上。所以,为了使压控振荡器的输出能够准确且快速地锁定至最终频率点处,在电路工作的最初阶段,采用了一个使用鉴频鉴相器的的 PLL 环路,这个 PLL环路与 CDR 环路共用了电荷泵,环路滤波器以及压控振荡器模块。同时在电路中引入了一个锁定检测模块,它通过检测环路的的反馈时钟与参考时钟频率是否一致,来判断 PLL 环路的锁定情况,当检测到 PLL 环路已经锁定时,就会产生一个选择信号,控制电路切换到 CDR 环路,以最终实现时钟数据恢复的功能。
其中采用TSMC28nm工艺库和理想单元库设计完成所需的压控振荡器VCO、分频器DIV、电荷泵CP、鉴频鉴相器PFD、环路滤波器LP、锁定检测电路、脉宽拓展电路等。如有需要,可私下联系我
实现结果
外加参考时钟625MHz激励,并提供10GHz数据,得到仿真结果如图所示。可见,0.4μs后PLL频率接近10GHz,此时锁定检测模块输出高电平,切换输入给CP以及后面环路的输入来自CDR环路的HOGGE鉴相器,在经过30ns后达到稳定状态。
Bang-Bang型CDR
整体架构
BBPD 工作速度快,结构可靠,且不进行跳变选择,降低了电路设计复杂度,代价是引入了有限的时钟额外抖动。由于使用 BBPD,此种 CDR 又被称为 Bang-Bang CDR。
半速率 Bang-Bang CDR 结构如图所示,它与经典 CDR 的区别是 VCO 输出的是两路相互正交的差分时钟信号,同时 BBPD 的时钟输入也是正交时钟信号。
其中采用TSMC28nm工艺库和理想单元库设计完成所需的半速率 Bang-Bang 鉴相器、对称异或门(电流模)、V/I 转换器、正交 LC 压控振荡器电路。如有需要,可私下联系我
PS/PI型CDR电路
PS电路设计
PS电路的主要功能是从输入的八相时钟中选出四相时钟输出,本文通过设计MUX电路实现从四相时钟中选出两相时钟出来,将MUX级联在一起构成PS电路。MUX电路基于CML结构。
PI电路设计
相位插值电路的功能是实现在插值区间内的线性插值,本文设计的PS/PI电路中PI电路插值的区间为45°。PS电路选出的四相时钟outP1/outN1与outP2/outN2确定插值区间为outP1outP2与outN1outN2,插值后输出一对介于插值区间内的互补时钟interP/interN,图PI电路结构示意图,图中IC代表着两对差分对管的尾电流源。
实现细节可联系交流
相关文章:

集成电路模拟设计——【基于Serdes 应用的 串化/解串器 时钟与数据恢复电路CDR】
串化/解串器 & 时钟与数据恢复电路CDR(可提供实现过程、仿真波形与具体参数细节 本文内容摘要背景串化/解串器全速树形串化器半速树形串化器全速移位寄存器串化器多级树形解串器 PLL型CDR整体架构实现结果 Bang-Bang型CDR整体架构 PS/PI型CDR电路PS电路设计PI电…...

OpenWrt 编译入门(小白版)
编译环境 示例编译所用系统为 Ubuntu 22.04,信息如下 编译时由于网络问题,部分软件包可能出现下载问题,还请自备网络工具或尝试重新运行命令 编译步骤 下图为官网指示 编译环境设置(Build system setup) 这里根据我…...

嵌入式视频播放器(mplayer)
1.文件准备: MPlayer-1.0rc2.tar.bz2 libmad-0.15.1b.tar.gz 直接Git到本地 git clone https://gitee.com/zxz_FINE/mplayer_tarball.git 2.文件夹准备: src存放解压后的源码文件,target_Mplayer存放编译安装的目标文件 mkdir src targe…...

对房价数据集进行处理和数据分析
大家好,我是带我去滑雪,每天教你一个小技巧! 房价数据集通常包含各种各样的特征,如房屋面积、地理位置、建造年份等。通过对数据进行处理和分析,可以更好地理解这些特征之间的关系,以及它们对房价的影响程度…...

BERT的学习
BERT 1.前言 self-supervised learning是一种无监督学习的特殊形式,算法从数据本身生成标签或者目标,然后利用这些生成的目标来进行学习。(也就是说数据集的标签是模型自动生成的,不是由人为提供的。)例如࿰…...

数据结构OJ实验9-图存储结构和遍历
A. 图综合练习--构建邻接表 题目描述 已知一有向图,构建该图对应的邻接表。 邻接表包含数组和单链表两种数据结构,其中每个数组元素也是单链表的头结点,数组元素包含两个属性,属性一是顶点编号info,属性二是指针域n…...

20231226在Firefly的AIO-3399J开发板上在Android11下调通后摄像头ov13850
20231226在Firefly的AIO-3399J开发板上在Android11下调通后摄像头ov13850 2023/12/26 8:22 开发板:Firefly的AIO-3399J【RK3399】 SDK:rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBrick】 Android11.0.tar.bz2.ab And…...

0101包冲突导致安装docker失败-docker-云原生
文章目录 1 前言2 报错3 解决结语 1 前言 最近在学习k8s,前置条件就是要安装指定版本的docker,命令如下 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.62 报错 file /usr/libexec/docker/cli-plugins/docker-buildx fr…...
【力扣100】17.电话号码的字母组合
添加链接描述 class Solution:def letterCombinations(self, digits: str) -> List[str]:# 思路是使用回溯算法if not digits:return []phone {2:[a,b,c],3:[d,e,f],4:[g,h,i],5:[j,k,l],6:[m,n,o],7:[p,q,r,s],8:[t,u,v],9:[w,x,y,z]}def backtrack(con,dig):# 收获if le…...

2023。
一月 从头开始 二月 准备复试&初试成绩 三月 最开心 过了两个生日(这机率,幸运儿) 考研也成功上岸!nnuGISer! 四月 和室友去了趟武汉 五月 拍毕业照 六月 人生高光时刻 省创!上台领奖!考研…...
出现 Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value解决方法
目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 在驱动Springboot项目的时候,出现如下问题: org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql...

Linux--批量自动装机
实验环境 随着某公司业务不断发展,服务器主机的数量也迅速增长,对于功能变更或新采购的服务器, 需要重新安装CentOS7操作系统,为了提高服务器装机效率,要求基于PXE网络实现全自动无人值 守批量安装。 需求描述 > 服…...

病理HE学习贴(自备)
目录 正常结构 癌症HE 在线学习 以胃癌的学习为例 正常结构 1:胃粘膜正常结构和细胞分化 ●表面覆盖小凹上皮细胞(主要标志物:MUC5AC)以保护黏膜。 ●胃底腺固有腺体由黏液颈细胞(MUC6)、主细胞(Pepsinogen l)和壁细胞(Proton pump α-subunit)组…...
关于协同过滤算法在物联网的应用-基于用户行为数据和物联网设备数据,以此提供个性化的智能家居控制推荐服务
关于协同过滤算法在物联网领域的应用的一个案例是基于用户行为数据和物联网设备数据,为用户提供个性化的智能家居控制推荐服务。 具体实现如下: 数据收集:收集用户对智能家居设备的使用行为数据,包括设备的打开、关闭、调节等操…...

计算机网络(6):应用层
每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。 应用层的具体内容就是规定应用进程在通信时所遵循的协议。 应用层的许多协议都是基于客户服务器方式。即使是对等通信方式&#x…...

ESP32:整合存储配网信息和MQTT笔记
文章目录 1.给LED和KEY的所用IO增加配置项1.1 增加配置文件1.2 修改相应的c源码 2. 把mqtt\tcp的工程整合到一起2.1 在何处调用 mqtt_app_start() 3. 测试MQTT4. 完整的工程源码 有一段时间没有玩ESP32,很多知识点都忘记了。今天测试一下MQTT,做个笔记。…...

nginx源码分析-4
这一章内容讲述nginx的模块化。 ngx_module_t:一个结构体,用于描述nginx中的各个模块,其中包括核心模块、HTTP模块、事件模块等。这个结构体包含了一些模块的关键信息和回调函数,以便nginx在运行时能够正确地加载和管理这些模块。…...

【Unity美术】Unity工程师对3D模型需要达到的了解【二】
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...
《微信小程序开发从入门到实战》学习六十九
6.6 网络API 6.6.3 下载文件API 使用 wx.downloadFile 接口是可使小程序发起HTTPS GET请求,下载文件到手机端。 单次下载的最大文件为50MB。接受Obkect参,参支持属性如下: url(必填):下载文件的URL he…...

2022年全球软件质量效能大会(QECon北京站2022)-核心PPT资料下载
一、峰会简介 当前,新一轮科技革命和产业变革正在重塑全球经济格局,以云计算为代表的新一代信息技术创新活跃,与实体经济深度融合,推动泛在连接、数据驱动、智能引领的数字经济新形式孕育而生。 新兴技术的出现给测试乃至整个软…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...