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

这个12bit 100MHz的流水线SAR ADC设计真是新手入坑的好材料。咱们先拆开看它的双段式架构——前级6位SAR加余量放大,后级8位SAR,这种结构既保证了速度又能省功耗。特别是65nm工艺下用1.2V供电还能做到11.6位有效精度,说明架构优化得挺到位。

先看门面担当的栅压自举开关。这个模块直接决定了采样线性度,用verilogA建模时要注意电荷注入补偿。分享个实测参数:
`include "constants.vams"
module boot_switch (vin, vout, clk);
electrical vin, vout;
input clk;
parameter real vdd = 1.2;
analog begin
if (V(clk) > 0.6) begin
V(vout) <+ V(vin) * 1.05 - 0.025; // 自举增益补偿
end else begin
V(vout) <+ 0; // 关断状态
end
end
endmodule
这个5%的增益补偿实测能把THD提升3dB左右。注意工艺库中的MOS电容要选MIM类型,避免非线性寄生。

CDAC阵列是重头戏,单位电容取20aF左右比较合适。用Python做个电容比例计算:
cap_ratio = [32,16,8,4,2,1] # 前级6位权重
dummy_cap = sum(cap_ratio)/64 # 动态匹配校准
print(f"主阵列总电容: {sum(cap_ratio)*20e-15:.2f}fF")
特别注意后级ADC的权重需要与前级余量放大倍数匹配,这里放大32倍所以后级采用8位直接权重即可。

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

动态比较器的两级结构很有意思,第一级做粗放大,第二级锁存。仿真时要注意输入对管的gm值:
simulator lang=spice
.probe tran I(M1)
.tran 0.1p 2n
**** 调整尾电流使gm>5mS ****
实测当尾电流到50uA时,比较延时能从300ps降到120ps,但功耗会翻倍,这个平衡点需要自己把握。

SAR逻辑部分建议先玩转同步模式,用状态机实现更直观。Verilog代码片段:
always @(posedge clk) begin
case(state)
INIT: begin
dac_ctrl <= 6'b100000;
state <= COMPARE;
end
COMPARE: begin
if(comp_out) dac_ctrl[bit_cnt] <= 1'b0;
bit_cnt <= bit_cnt + 1;
state <= (bit_cnt==5)? DONE : COMPARE;
end
endcase
end
转异步逻辑时要注意用组合逻辑生成时钟信号,实测用NAND环做的异步控制器延时比同步模式低40%左右。

工艺库导入有个坑要注意:65nm PDK里的MOSFET模型默认是1.8V器件,需要在cadence里手动修改属性:
- 在Library Manager右键工艺库选"Attach Technology"
- 把Voltage选项从1.8V改成1.2V
- 重新生成CDF参数
流水线时钟对齐建议用verilogA做行为级仿真,这里分享个延时校准方法:
phase_err = cross(V(clk1), 0.6, 1) - cross(V(clk2), 0.6, 1);
if(abs(phase_err) > 0.05e-9) begin
$strobe("时钟偏移超过50ps!");
end
最后实测ENOB时记得加窗函数,汉明窗比矩形窗能提升0.3bit左右。新手常犯的错误是直接用tran噪声做FFT,结果误差能差2bit,必须用pss+pnoise联合仿真才准。
整套设计跑下来大约需要三个月(含泪的教训),但吃透之后基本能把SAR ADC的设计门道摸清。建议先拿前级6位ADC单独练手,把比较器时序和CDAC开关时序调明白了再搞流水线整合。遇到余量放大器震荡别慌,多半是相位裕度不够,在输出端加个2pF的补偿电容立马见效。

349

被折叠的 条评论
为什么被折叠?



