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

基于SMIC 13mmRF_1233工艺的锁相环电路(PLL)设计与实现:工作电压3.3V,性...

锁相环电路(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

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.cnnetsun.cn/news/9666.html

相关文章:

  • [Android] B站第三方电视TVapp BV_0.3.10
  • 【time-rs】 time-core crate 的 Cargo.toml 配置文件详解
  • 政府网站与政务新媒体考核指标有什么区别
  • FLUX.1 Kontext终极指南:重新定义AI图像编辑的边界
  • Java新手必看:System类为什么会出现安全警告?
  • 基于springboot的大学生实习就业管理系统
  • AXI-A7.4.1 Overview
  • V型翅片与六边形蜂窝翅片的散热性能差异
  • 以太网温湿度传感器五重告警方式如何协同工作?
  • COMSOL介电金属多层膜结构宽谱吸收器:文献复现与吸收特性研究
  • 【必看收藏】LangChain生态实战:LangGraph+LangSmith构建可追踪AI智能体全流程解析
  • 使用DeepSeek开发第一个RAG
  • Jetson Secure Boot 完整实战指南:从 Fuse Key → Boot Chain → 验签代码路径的源码级解析
  • 【LeetCode30_滑动窗口 + 哈希表】:三招搞定“串联所有单词的子串”
  • 以全栈AI能力重塑智能客服服务效能
  • 如何在PHP项目中嵌入Rust代码?5步实现毫秒级响应的高性能服务集成
  • 英伟达推出云端算力集群监管工具,自证GPU无后门
  • 如何用智能配色工具3步打造品牌视觉一致性
  • 【OD刷题笔记】- 分苹果
  • MCP SC-400从入门到精通,构建抗量子攻击防线的关键路径
  • Bigemap Pro水文分析三大核心功能详解:从DEM到精准河网提取
  • Java学习日志--常见类库(上)
  • 直播带货APP开发的核心流程:推流端、观看端与运营端后台搭建指南
  • Wan2.2-T2V-A14B生成火星殖民基地建设构想视频
  • TSF输入法框架开发全指南:从COM组件到拼音输入法落地
  • 在线考试软件哪个好用?
  • 在AWS Athena中使用json_extract_scalar函数对某个json字段进行过滤和分组统计
  • 力扣 22. 括号生成:C++ 实现回溯 + 动态规划双解法,面试高频题必掌握
  • 【开题答辩全过程】以 基于Django的大学生理财及记账系统设计与实现为例,包含答辩的问题和答案
  • Rust的移动语义