当前位置: 首页 > news >正文

12bit 100MHz pipelined SAR ADC模数转换器 设计 65nm工艺,电...

12bit 100MHz pipelined SAR ADC模数转换器 设计 65nm工艺,电源电压1.2V,ENOB=11.6 有详细教程原理文档 有工艺库,直接导入自己的cadence [绿圆]结构: 栅压自举开关 CDAC 两级动态比较器 第一级6位SAR ADC 余量放大器 第二级8位SAR ADC 同步和异步SAR logic都有 原理仿真讲解,文档里都有 适合入门pipelined ADC的拿来练手

在65nm工艺下折腾1.2V供电的ADC就像走钢丝——电源电压低到连阈值电压都要斤斤计较。咱们今天要聊的这个pipelined SAR结构有点意思,第一级6bit SAR和第二级8bit SAR中间夹着个余量放大器,刚好凑够14bit再砍到12bit,实际测出来ENOB 11.6也算对得起观众。

先看输入端的栅压自举开关,这货的Verilog-A模型得这么写:

`include "constants.vams"

module boot_switch (vin, vout, clk);

electrical vin, vout, clk;

parameter real vdd=1.2;

analog begin

@(cross(V(clk)-vdd/2, +1)) begin

V(vout) <+ V(vin); //采样瞬间的电荷注入

end

@(cross(V(clk)-vdd/2, -1)) begin

V(vout) <+ 0; //关断时自动复位

end

end

endmodule

这代码看着简单,实际操作时栅氧可靠性要老命。特别是当输入信号摆幅接近1.2V时,得盯着工艺库里的tox参数算栅压,别让场效应管长期工作在3MV/cm以上的电场强度。

CDAC阵列的匹配才是重头戏。拿65nm工艺的MIM电容来说,单位电容得选0.5fF以上才靠谱。在layout里玩马赛克式交叉耦合,代码里得这么设置匹配参数:

createfloorplan -sidelength 12u -unit_cap 0.5fF

setcapmatching( method=chess, dummy_ratio=0.2 )

两级动态比较器设计最骚的操作是在预放大级加了个正反馈锁存。仿真时得盯着延迟曲线看,当输入差小于200uV时,比较时间直接飙到500ps以上——这时候得手动调管子尺寸:

simWave comparator.tr0

plot tran voutp voutn

meas tran tdelay when voutp-voutn=0.6*vdd rise=last

说到SAR逻辑的状态机,同步模式下用verilog写个状态转移倒是不难,但真跑起来还是异步模式更带劲。注意在异步逻辑里插几个延时单元平衡时序:

always @(posedge comp_out) begin

state <= next_state;

#10ps dacctrl <= newcode; //等电荷稳定再切电容

end

余量放大器这个磨人的小妖精,得在20MHz带宽和80dB增益之间走平衡木。套用工艺库里的折叠共源共栅结构,偏置电流设到200uA刚刚好。实测闭环稳定性时,突然发现相位裕度只有45度——赶紧在补偿电容上并联个10kΩ电阻,把零点往前拽。

最后跑个整体仿真,眼瞅着FFT结果里的三次谐波冒头了。翻出工艺文档查了查,原来是MOM电容的电压系数在作妖。改用地阱隔离的MIM电容后,SFDR立马飙到78dBc。所以说啊,ADC设计就是和工艺偏差斗智斗勇的过程,有时候改个版图比调电路更管用。

这项目最爽的是自带全套工艺库,直接把PDK往Cadence里一扔,吃个午饭的功夫就能开搞。仿真文档里连蒙特卡洛分析脚本都准备好了,跑个五百次迭代看看良率,比相亲还刺激——总有那么几个corner case的DNL会突破±1LSB。不过对于练手来说,能把主通路调通已经算入门了,剩下的玄学问题留给流片后的啤酒解决吧。

http://www.jsqmd.com/news/84526/

相关文章:

  • LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」
  • 一、在freertos上使用esp01s模块并配置使用sta模式进行数据通信传输测试。
  • 鸿蒙原生应用深度实战:用 ArkTS + Stage 模型开发高性能跨端音乐播放器
  • Qt主窗体关闭与quit()的退出机制差异
  • 16、深入了解 Oracle Clusterware:功能、安装与管理
  • Ubuntu下Qt/C++程序终止全攻略
  • C++ 后端面试必刷大厂算法题(附代码实现)第一期
  • 前期工作总结
  • ComfyUI-SeedVR2视频超分辨率技术全面指南
  • 智能零碳管理系统功能与实现
  • 智乃的数字【牛客tracker 每日一题】
  • [UUCTF 2022 新生赛]ezpop
  • 17、RAC 环境下的应用开发技术解析
  • 生成式AI重构内容创作生态:人机协同成核心竞争力
  • GitHub中文排行榜终极指南:新手快速发现优质开源项目的完整教程
  • qt为什么转向用cmake放弃qmake
  • 盛水最多的容器(滑动窗口 双指针)
  • MAUI跨平台云同步终极指南:轻松实现多设备数据无缝流动
  • color
  • Qwen3-Embedding-4B:重新定义多语言文本检索的边界
  • 详细介绍:MySQL 数据增删改查
  • NNG 开源项目教程
  • 深度探究Span:.NET内存布局与零拷贝原理及实践
  • 【鸿蒙开发案例篇】拒绝裸奔!鸿蒙6实现PDF动态加密
  • 24
  • NNG协议
  • helm 部署 elasticsearch 栈
  • 低代码开发的“真香”定律:从排斥到离不开
  • 【开题答辩全过程】以 基于Java的保定理工科研信息管理系统的设计与实现为例,包含答辩的问题和答案
  • 光伏三相并网仿真 模型内容: 1.光伏+MPPT控制+两级式并网逆变器(boost+三相桥式逆...