关于抖动时钟的模型

在 IC 设计(如 ADC 电路等)中,有时候要考虑时钟抖动(clock jitter)的影响,通过在设计初期加入带有抖动的时钟模型可以较快的判定其影响。

关于 clock jitter 具体的仿真模型,J.Baker 的混合信号书中提到的方法是利用 spice 中的 SFFM 模型,即单频率频率调制源(Single-Frequency-Frequency-Modulation):
SFFM (Vo Va ...)
也即为如下的函数:
Vsffm(t)=Vo+Va*sin[2*pi*Fc*t+MDI*sin(2*pi*Fs*t)]
在这里,调制率 MDI 决定了峰峰值相位偏移,即 2*MDI=2*pi*dt/Ts=2*pi*dt*Fs, (Ts=1/Fs)
故而,可以简单的认为 peak-peak jitter:dt=MDI/(pi*Fs)
在得到此抖动的正弦信号后,通过理想判决器(比较器)可以将其转换为我们所需的抖动时钟信号

这种方法的问题主要在于:得到的 clock jitter并非随机;J.baker 也在书中也提出通过设置 Fs 与仿真时间来使其更接近实际情况。

事实上,通过 Verilog-A 工具可以更容易的仿真时钟抖动的影响,一个简单的想法是利用 verilog-A 中的 transition 语句在 delay 中引入随机(利用 $rdist_normal 函数),可参考的部分 Verilog-A 代码如下:
继续阅读

关于 Cascode 补偿以截断前馈的理解

之前写过cascode补偿的一些内容,最近看到一些相关的讨论,这里试着从另外的角度来做些分析。

众所周知的,对基本的 miller compensation (米勒补偿)的两级运放,由于存在前馈通路,会引入一个右半平面的的零点,从而使得频率响应的稳定性变差。一般除了常用的加 nulling resistor(调零电阻)的方法之外,cascode compensation 也是常用的消除 miller 补偿的右半平面零点的方法。

下图所示是就一个利用 cascode 补偿的电路
cascode补偿
电路中,通过将补偿电容Cc的一端由X点移到Y点,将补偿从一般的miller补偿变为cascode补偿,并利用cascode将由X点经由电容Cc到输出的前馈通路截断。

继续阅读

MOSFET 的 C-V 曲线仿真方法

在电路设计中,常见到利用 MOS 电容做去耦电容(也有利用来做miller补偿的电容),因此对 mosfet 的 c-v 特性曲线有必要进行确认。

关于具体的 c-v 曲线的仿真方法,首先可以从电容的定义(或者说特性)来确定测试方法,这也是 ee240 里面提到的仿真方法。

下图是实现 MOSFET C-V 曲线的仿真的具体电路(图中加上的电容 C1 仅为方便比较)
mosfet c-v曲线仿真电路

在输入节点加入一个电压,做 AC 分析,同时扫描其 DC 值,考虑电容特性:ac 下 i/v=2*pi*f*C;如果令交流电压 v ac=1,选择频率 2*pi*f=1,这时得到的交流电流大小就是电容值,相应的 smart-spice 脚本如下:

vin in 0 ac 1
.ac DEC 10 '0.05/3.14159265' '0.5/3.14159265' sweep vin -2.5 2.5 0.05
.measure ac i_nmos find i(V1) at '0.5/3.14159265'
.measure ac i_cap find i(V3) at '0.5/3.14159265'

注:AC 分析似乎没法对单独的频率点进行分析,所以上面还是对一段频率扫描,最后只取了我们所要的频率点的结果

继续阅读

CMRR 与 PSRR 的仿真

共模抑制比(CMRR:comon-mode-rejection-ratio)和电源抑制比(PSRR:power-supply-rejection-ratio)是运放性能的重要指标,关于他们的具体仿真方法,在Allen书中都有相关的介绍。
最近发觉对这些仿真电路的原理有点模糊(主要还是对于CMRR的仿真电路),在这里拿出来重新温习一下

下图是共模抑制比仿真电路,通过AC小信号分析(两个Vcm相同,都取 AC 1),分析Vo输出的信号

共模抑制比仿真电路
由电路分析看到: Vout=Adm*(V1-V2)+Acm*(V1+V2)/2
代入: V1=Vcm; V2=Vout+Vcm
可以推出:Vout/Vcm=Acm/(1+Adm-Acm/2),近似为:Acm/Adm=1/CMRR
故此,在前述的仿真,输出Vout的倒数即为CMRR

继续阅读

Inverting OPAMP 的反馈分析

之前在论坛看到有谈到inverting opamp的反馈结构,以及其GBW随反馈电阻的变化,觉得有些可以在这记录一下

下面是简单的inverting opamp的结构
inverting OPAMP

对这样的反相放大结构, 很容易可以看出其环路增益 Vo/Vin=-A*B1/(1+A*B2)
其中:A为运放OPAMP的增益, B1=Rf/(Rs+Rf), B2=Rs/(Rs+Rf)

我们可以对比一般的反馈结构,如下面所示:
反馈回路示意
对此一般反馈结构,有Vo/Vin=A/(1+A*Beta)

对比之前的inverting 结构可以看出反馈因子为 Rs/(Rs+Rf),而不是通过考虑虚短虚断得到的环路增益的倒数Rs/Rf,这是由于反馈的求和点(summing point)并不在电压输入节点.

继续阅读

wordpress 点滴–6 升级后权限问题以及更换新的模板

之前wordpress更新到前一个版本之后出现的一个问题,就是在后台点击更新到最新的wordpress或者是更新/添加插件的时候,会返回提示:“没有足够的权限(You do not have sufficient permissions)”,自己也查过账号和文件的权限,但是一直也没有找到问题的根源所在.

最近抽空研究了一下这个问题,最后在这里才找到问题原因的说明,应该是因为之前从很低的版本直接跨越升级,wordpress的数据库中wp_user_roles的参数缺失造成的,同样在这里也给出了解决的办法,不过自己对数据库的操作还是不太熟悉,还是用了笨办法直接重新安装wordpress了,还好有wordpress的导入导出功能…看来以后还是老老实实一个一个版本升级的好.

之后一切运行正常,在添加插件/模板之类时也没有’没有足够的权限‘这样的问题出现。

另外, 说到模板, 之前一直用的是 SpotLight  的模板, 个人也比较喜欢这种简约的风格, 不过久了之后还是想换其他的尝试下, 现在这款 Mystique 的模板据说使用人数非常多的了(之前完全不知道,真是 out 很久了…),  装上之后发现确实挺强, 可以定制的东西不少, 而且集成了相关文章和 light-box 的功能, 也省去了这些插件.  里面我觉得比较特别的算是可以在日志/页面里直接调用 wordpress 或是模板自己的 ’widget class‘  来实现不同的功能,我现在用的存档页面就是直接在页面里加入对应的 widget- class 实现的. 感觉确实不错,要是有时间研究下他的 css 的话,可以当做通用的模板框架了