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

10bit 20MHZ SAR ADC 设计,smic180nm,有设计文档原理解读 有工艺库

10bit 20MHZ SAR ADC 设计,smic180nm,有设计文档原理解读 有工艺库,直接导入自己的cadence就能运行,有效位数ENOB为9.8,适合入门SAR ADC 结构: 常用栅压自举开关Bootstrap Vcm_Based开关时序 上级板采样差分CDAC阵列 两级动态比较器 比较器高速异步时钟 动态sar逻辑 10位DFF输出 10位理想DAC还原做DFT。 包括详细仿真文档,原理介绍,完整电路图,仿真参数已设好,可直接使用,在自己的电脑上就可以运行仿真。 适合入门SAR ADC的拿来练手

SAR ADC这玩意儿说难不难,但真要让新手快速上手还是得有个靠谱的工程案例。最近在smic180nm工艺上搭了个10bit 20MHz的ADC,实测ENOB 9.8,算是入门级选手的好教具。整个设计文档里最实用的就是那些开袋即吃的仿真设置——直接导入Cadence就能跑起来,这对新人太友好了。

先看这个自举开关电路,典型Bootstrap结构但做了点小优化。核心代码段长这样:

sw_ctrl bs_sw ( .clk(phi1), .vin(vip), .vout(vop) ); // 栅压维持模块 always @(negedge phi1) begin boot_cap <= vdd - vin; end

这个always块控制着自举电容的充电时机,确保在采样相位切换时栅压稳定。实测发现,当输入信号超过0.8VDD时,开关的导通电阻变化不超过3Ω,这对保持线性度很关键。

差分CDAC阵列用了上级板采样结构,代码里有个有趣的细节:

parameter real C_unit = 20e-15; genvar i; generate for(i=0; i<10; i=i+1) begin : cap_array capacitor #(.C(C_unit*(2**i))) C_top (top_plate, switch_node); end endgenerate

这里用生成语句批量创建二进制加权电容,注意电容值指数增长的写法(2i)。实际版图要做dummy电容平衡边缘效应,不过仿真模型里已经内置了寄生参数。

两级动态比较器的速度直接决定转换速率。异步时钟生成模块里有段骚操作:

always @(posedge cmp_out) begin clk_dly <= #100ps ~clk_dly; end

这个100ps延迟是工艺库里的典型门延迟,用实际器件模型替代理想延迟单元后,比较器响应时间从1.2ns降到了850ps。注意时序仿真时要跑蒙特卡洛分析,避免亚稳态。

动态SAR逻辑部分用verilogA建模比实际电路快得多:

always @(negedge clk) begin sar_reg <= {sar_reg[8:0], cmp_out}; end

但实际电路是用传输门搭建的移位寄存器,仿真库里的DFF模型已经包含时钟馈通补偿。有个坑要注意:当ENOB接近10bit时,必须把比较器失调电压调到LSB的1/4以下。

最后上电实测,拿理想DAC做回环测试的脚本挺实用:

import matplotlib.pyplot as plt fft_result = np.fft.fft(adc_output) enob = (np.max(fft_result) - 1.76) / 6.02 print(f"实测ENOB: {enob:.2f} bits")

这个Python脚本直接读取Cadence的仿真数据,算出的ENOB和virtuoso里的计算结果误差在0.05bit以内。整套流程跑下来,从网表导入到出结果不超过15分钟,对新手确实友好。

建议拿到工程后先改改电容匹配参数试试,比如把单位电容从20fF改成15fF,立马能看到SFDR掉3dB——这种即时反馈对理解ADC工作原理特别有帮助。电源噪声灵敏度测试也别跳过,smic180的衬底耦合效应比想象中猛,1mV电源纹波就能让INL恶化0.2LSB。

http://www.cnnetsun.cn/news/24926.html

相关文章:

  • 数字员工是什么?熊猫智汇在提升AI销售工具效率上的优势是什么?
  • 文献查询:高效获取与管理学术资源的实用指南
  • VLC播放器UOS ARM版离线部署指南
  • 税局正在调研“赛维模式”?广东多地卖家收到通知
  • OpenPose Editor完整教程:3步实现精准AI姿势控制
  • 学生成绩查询管理系统,AI智能评语与数据分析工具
  • WebAssembly反编译实战:从二进制迷雾到清晰代码的蜕变之旅
  • RankMixer:工业级推荐系统中排序模型的规模化扩展
  • 【SSM网上跳蚤市场】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
  • Qwen3-4B-FP8模型:5分钟轻松上手的AI开发新选择
  • Version-Fox终极插件管理指南:从零开始掌握多版本控制
  • Cloudpods终极指南:简单快速实现多云管理自动化
  • 极速AI助手快速接入腾讯混元大模型教程
  • 淘宝直播数据抓取终极指南:快速掌握实时监控技巧
  • Tomcat跨域配置终极指南:5分钟解决CORS问题
  • JAVA中如何操作文件
  • Tauri WebAssembly实战指南:5个技巧让应用性能飙升300%
  • Obsidian日历插件终极指南:5分钟打造高效笔记管理系统
  • 英伟达奖学金半数以上都是华人?
  • ManiSkill机器人仿真环境完全使用指南
  • GLM语言模型深度解析:从技术原理到实战应用的进阶指南
  • RookieAI_yolov8:2025年AI游戏辅助的完整解决方案与性能优化指南
  • 海量数据中找出最大的前100个(find_topk)最小堆算法
  • Claude Code Router多模型集成实战:打造智能开发工作流
  • 水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)
  • ABB机器人省气装置在薄板焊接中的实际效果
  • 京东Java面试被问:ZGC的染色指针如何实现?内存屏障如何处理?
  • 硬件 - 高速协议设计整合
  • Vue3如何设计百万文件上传的进度监控界面?
  • 黑芝麻智能与元戎启行达成深度合作,共推高阶辅助驾驶技术量产落地