Dickson Charge Pump VerilogA建模

一.电路架构

二. 代码

 

`include "constants.vams"
`include "disciplines.vams"

module cp_model(vin,vclk,en,vout);
input vin,vclk,en;
output vout;
electrical vin,vclk,en,vout;
parameter real vout_max=21 from (0:inf];
parameter real deltv=0.3 from (0:inf];
parameter real vdd=3 from (0:inf];
parameter real iload=1.2u from [0:inf);
parameter real cstep=2p from [0:inf);
parameter real fclk=10M from [0:inf);
real vout_val;
analog begin
    @(initial_step)begin
        vout_val=V(vin);
        end

    @(cross(V(vclk)-vdd/2,1))begin
        if(V(en)==0)begin
            vout_val=0;
            end
        else begin
            if(iload==0)begin
                if(vout_val<vout_max)begin
                    vout_val=vout_val+deltv;
                    end
                else begin
                    vout_val=vout_max;
                    end
                end    
            else begin
                if(vout_val<vout_max)begin
                        vout_val=vout_val+deltv-(iload/(2*fclk*cstep));
                    end
                else begin
                        vout_val=vout_max-(iload/(2*fclk*cstep));
                    end
                end            
        end
    end
    V(vout)<+vout_val;
    end
endmodule

三. 仿真

1.testbench

2.仿真结果

 

 

 

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CP电荷泵是数字锁相环(Digital Phase-Locked Loop,DPLL)中的一个重要组成部分。它的作用是根据相位/频率检测器(PFD)的输出信号,通过控制电荷泵的电流来调整环路滤波器(Loop Filter)的输出电压,从而影响压控震荡器(Voltage Controlled Oscillator,VCO)的频率。在Verilog-A中,可以使用以下代码来实现CP电荷泵的功能: ```verilog module cp_charge_pump ( input clk, input reset, input pfd_out, output reg cp_out ); always @(posedge clk or posedge reset) begin if (reset) begin cp_out <= 0; end else begin if (pfd_out) begin cp_out <= cp_out + 1; // 增加电荷泵输出电流 end else begin cp_out <= cp_out - 1; // 减小电荷泵输出电流 end end end endmodule ``` 上述代码中,`clk`是时钟信号,`reset`是复位信号,`pfd_out`是PFD的输出信号,`cp_out`是电荷泵的输出电流。当PFD的输出信号为高电平时,电荷泵的输出电流增加;当PFD的输出信号为低电平时,电荷泵的输出电流减小。通过调整电荷泵的输出电流,可以实现对环路滤波器输出电压的调节,从而控制VCO的频率。 #### 引用[.reference_title] - *1* *3* [Verilog学习笔记](https://blog.csdn.net/qq_40964193/article/details/89529599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Dickson Charge Pump VerilogA建模](https://blog.csdn.net/leaf_under_moon/article/details/130273680)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值