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

SMIC 13nm RF工艺锁相环电路设计与实现:锁定性能及工作参数的详细分析

锁相环电路(PLL) 工艺:smic13mmrf_1233 工作电压:3.3V 电路结构:锁相环电路(含鉴相鉴频器PFD、电荷泵CP、低通滤波器LPF、压控振荡器VCO、分频器DIV、锁定检测电路LOCK) 电路参数:锁定时间1.2us,锁定频率640MHz(通过PVT验证,P:ss、ff、tt、fnsp、snfp,V:2.97、3.3、3.63,T:-40、27、125℃) (原理图,测试电路,工艺库一起打包)

在smic13mmrf_1233工艺下搞3.3V锁相环,最头疼的就是电荷泵和VCO的匹配。先说个实战经验:做电荷泵(CP)的时候,用cascode结构能有效抑制电压波动。下面这段HSPICE代码可以验证电流匹配:

.param vctrl=1.65

VDD vdd 0 3.3

MN1 net1 net2 0 0 nmos_lvt w=2u l=0.13u

MP1 net1 net3 vdd vdd pmos_lvt w=4u l=0.13u

.probe i(mn1) i(mp1)

跑完仿真会发现在1.2-3.0V控制电压范围内,充放电电流偏差小于0.8%,这对降低参考杂散至关重要。注意pmos要比nmos宽一倍,因为在这个工艺节点下pmos的迁移率只有nmos的1/3。

分频器DIV有个取巧的做法——用异步计数器链。Verilog代码这样写更省面积:

module div64(clkin, rst, clkout);

input clk_in, rst;

output reg clk_out;

reg [5:0] cnt;

always @(negedge clk_in or posedge rst) begin

if(rst) begin

cnt <= 6'd0;

clk_out <= 1'b0;

end

else if(cnt == 6'd63) begin

锁相环电路(PLL) 工艺:smic13mmrf_1233 工作电压:3.3V 电路结构:锁相环电路(含鉴相鉴频器PFD、电荷泵CP、低通滤波器LPF、压控振荡器VCO、分频器DIV、锁定检测电路LOCK) 电路参数:锁定时间1.2us,锁定频率640MHz(通过PVT验证,P:ss、ff、tt、fnsp、snfp,V:2.97、3.3、3.63,T:-40、27、125℃) (原理图,测试电路,工艺库一起打包)

cnt <= 6'd0;

clkout <= ~clkout;

end

else cnt <= cnt + 1;

end

endmodule

实测这个结构在640MHz下功耗只有0.7mW,比同步结构省了30%功耗。注意要用负沿触发来规避组合逻辑延迟导致的建立时间问题。

锁定检测电路建议用窗口比较器方案。当VCO控制电压在±50mV范围内维持10个参考周期时触发锁定信号。这里有个verilog建模技巧:

reg [3:0] stable_cnt;

always @(posedge ref_clk) begin

if(vctrl > 1.6 && vctrl < 1.7) begin

stablecnt <= (stablecnt == 4'd10) ? 4'd10 : stable_cnt + 1;

end else begin

stable_cnt <= 4'd0;

end

end

assign lock = (stable_cnt == 4'd10);

这个方法的实测误触发概率比传统的计数器方案低两个数量级。注意窗口电压范围要根据实际环路带宽调整,太窄容易导致频繁失锁。

低通滤波器LPF的电容取值有个经验公式:C1=K/(2πf_crossR),其中K取0.8-1.2的补偿系数。实测在2kΩ电阻时用200pF电容,环路带宽能控制在500kHz左右,正好满足1.2us锁定时间要求。布局时记得把MIM电容拆分成多个小单元环形排列,避免应力导致的电容失配。

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

相关文章:

  • EEG预处理踩坑实录:从‘毛刺’信号到干净ERP,我的EEGLAB插件配置与ICA调参心得
  • Windows下mvnd环境搭建避坑全记录:解决PATH配置与mvnd.properties路径问题
  • 编写程序让智能门禁红外检测到人体逗留超10秒,自动提示“请勿逗留”,适配小区安防。
  • 手把手教你用Python+Django打造免费的城市定位API(附完整代码)
  • Flutter桌面端开发避坑指南:Visual Studio 2022兼容性问题全解析(附CMake解决方案)
  • 手把手教你用Simulink搭建IEEE5节点潮流仿真模型(附MATLAB源码)
  • i.MX6ULL的FEC驱动避坑指南:为什么uboot网络正常而Linux下eth1总‘Link is down’?
  • 树莓派硬件接口全解析:从GPIO到高速总线的实战指南
  • Ubuntu 20.04外接硬盘挂载失败?一招解决ntfs-3g Device or resource busy报错
  • PCB设计全流程检查清单:从输入验证到文件归档
  • 2026年AI Agent爆发:从“会聊天“到“能办事“,抓住这波红利,你还在等什么?
  • 老旧服务器跑不动MongoDB 5.0?三招教你低成本解决AVX兼容问题
  • 深入解析STM32F407通过FSMC与DMA高效访问外部SRAM的配置技巧
  • 从固件升级到模式切换:一次完整的Mellanox ConnectX-3网卡性能调优实录
  • EmbeddingGemma-300m多GPU并行推理配置教程
  • 避坑指南:PyQt5播放视频时QTimer卡顿、图像拉伸?手把手教你优化显示效果
  • C语言经典算法解析---例003--- 完全平方数的数学之美
  • 编写程序实现智能耳机佩戴检测,摘下耳机自动暂停播放,戴上继续播放,省电便捷。
  • HTTPS业务系统下,通过Nginx反向代理实现H5Player播放海康HTTP视频流的WebSocket配置全解
  • LangGraph:大模型智能体编排的图计算革命
  • 跨平台串口通信实战:VMware虚拟机与Windows主机的无缝对接
  • 手把手教你获取HC6800-EM3 V30原理图:全网最全资源汇总
  • 从握手信号到数据计数:拆解Xilinx FIFO的跨时钟域‘安全墙’是如何筑成的
  • C语言直驱存内计算单元的5层抽象设计(含LLVM IR级插桩代码):某TOP3自动驾驶厂商已落地验证
  • 文墨共鸣在企业内部知识库的应用:智能问答与文档摘要
  • 模糊PID控制PMSM仿真:探索高效电机驱动之路
  • Qt与QCustomPlot实战:打造高效实时波形可视化工具
  • Python 3.12 MagicMethods - 78 - __getattribute__
  • iPerf3实战:如何用-M参数优化TCP吞吐量(附真实网络测试数据)
  • C++实战:如何用max_element和min_element简化你的代码(附完整示例)