当前位置: 首页 > 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.rkmt.cn/news/94746.html

相关文章:

  • LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」
  • C++ 后端面试必刷大厂算法题(附代码实现)第一期
  • qt为什么转向用cmake放弃qmake
  • color
  • Qwen3-Embedding-4B:重新定义多语言文本检索的边界
  • 深度探究Span:.NET内存布局与零拷贝原理及实践
  • NNG 开源项目教程
  • helm 部署 elasticsearch 栈
  • 14、深入解析 Oracle Enterprise Manager 安装与配置
  • 手把手拆解10/100M以太网PHY设计:从PLL到均衡器的实战代码分析
  • 原神,启动!
  • 终极指南:Qwen3-30B-A3B多GPU分布式推理完整解决方案
  • 快速排序(Quick Sort)的“死穴”
  • 云屋音视频 SDK 凭何成为信创技术困局的 “破局者”?
  • 25、技术探索:数据查询、服务器管理与Python包管理
  • Day 38 - Dataset 和 DataLoader
  • Ansoft ANSYS Maxwell 有限元仿真:无线电能传输WPT、磁耦合谐振、多相多绕...
  • 【Spring框架】SpringMVC基本原理与配置
  • 地理信息与地图行业的新机会:从地图到空间智能
  • JavaScript 在 WebAssembly 时代的角色转变:作为 Wasm 模块编排层与高性能计算逻辑的共存模式研究
  • JavaScript 语言特性的未来演进:探讨可插拔语法扩展(Macros)对前端工具链(Babel/SWC)的底层重构潜力
  • 《智能世界2035》——华为预测十年以后智能世界的模样
  • 卷积神经网络中的自适应池化
  • RS-fMRI统计分析及作图入门
  • C++学习之旅【C++类和对象(下)】
  • 基于定子磁场矢量控制的异步电机磁链观测模型研究与应用
  • 告别CRUD Boy!Java缓存精要,是你突破技术天花板的“第一课”! - 详解
  • Petrel一体化软件平台压裂模块Kinetix与地应力模块Visage培训视频3套及模型文件
  • 虚幻引擎源码-剖析与改写Actor源码中的扫掠检测机制-避免物体移动穿墙
  • 2025人事系统/人事管理系统/人事考勤系统品牌TOP5推荐,优质公司权威榜单发布,赋能企业高效运营与人才发展 - 全局中转站