2026/4/18 17:37:32
网站建设
项目流程
模板网站如何做优化,装饰公司做网站,网站建设费用如何列支,张家港网站设计有吗10bit 20MHZ SAR ADC 设计#xff0c;smic180nm#xff0c;有设计文档原理解读
有工艺库#xff0c;直接导入自己的cadence就能运行#xff0c;有效位数ENOB为9.8#xff0c;适合入门SAR ADC
结构:
常用栅压自举开关Bootstrap
Vcm_Based开关时序
上级板采样差分CDAC阵列
两…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(i0; i10; ii1) 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。