CMOS反相器的传输延时

最近了解了一下CMOS延时单元的设计,如下图所示,8bit DAC和9bit电容阵列一起控制输出脉冲的形状,输出信号的时钟沿延时一般都是通过改变反相器的电流和输出电容来改变的。
在这里插入图片描述
参考文献:W. Chang, P. Huang and T. Lee, “A Fractional-N Divider-Less Phase-Locked Loop With a Subsampling Phase Detector,” in IEEE Journal of Solid-State Circuits, vol. 49, no. 12, pp. 2964-2975, Dec. 2014, doi: 10.1109/JSSC.2014.2359670.

因此想要详细了解一下反相器输出信号的时延产生机制,顺便重新整理,作为个人笔记。


如下图所示的反相器,其传输延时是由NMOS和PMOS的等效电阻对负载电容 C l o a d C_{load} Cload(一般指下一级输入电容)充放电所消耗的时间决定的。
在这里插入图片描述
关于反相器中的一些时延定义如下:
在这里插入图片描述
定义 t p L H t_{pLH} tpLH V o u t V_{out} Vout 由低电平翻转至高电平的传输延时(以50%为参考),此时的CMOS反相器可等效为下表左图所示的电路。定义 t p H L t_{pHL} tpHL V o u t V_{out} Vout 由高电平至低电平翻转的传输延时,此时的 CMOS反相器可等效为下表右图所示的电路。统称为propagation delay。
t f t_{f} tf t r t_{r} tr 分别表示下降时延和上升时延,这里暂时不作讨论。

低转高等效电路:电容充电高转低等效电路:电容放电
在这里插入图片描述在这里插入图片描述

从电压角度列方程,传输时延的推导如下:
在这里插入图片描述
从电流角度看的话,就直接是RC电流充放电了,可以直观理解:电流越大,时延越小,电流越小,时延越大。

### ERNMOS反相器静态特性仿真工具与方法 ERNMOS(Enhanced Reverse-biased NMOS)是一种改进型的晶体管结构,其设计目标在于优化传统CMOS器件性能的同时降低功耗。对于ERNMOS反相器的静态特性仿真,可以采用类似于标准CMOS反相器的设计流程,但在具体实现上需考虑ERNMOS的独特物理特性和参数设置。 #### 使用Virtuoso进行ERNMOS反相器静态特性仿真的步骤说明 1. **启动EDA工具** 打开Cadence Virtuoso平台[^1],进入布局编辑器和电路图编辑器界面。如果已安装ERNMOS工艺文件,则加载对应的PDK(Process Design Kit),以便支持ERNMOS特定模型。 2. **创建ERNMOS反相器电路** 构建ERNMOS反相器的基本拓扑结构,通常由增强型NMOS和PMOS组成。注意调整ERNMOS的关键尺寸参数(如沟道长度L、宽度W等)。这些参数直接影响传输特性和阈值电压行为[^3]。 3. **定义电源条件与输入信号范围** 设置直流工作点分析所需的供电电压 \( V_{DD} \),以及扫描输入电压 \( V_{IN} \) 的变化区间。依据数字电路理论,\( V_{GS} \) 和 \( V_{DD} \) 存在映射关系,因此应合理规划两者间的比例约束。 4. **执行DC Sweep操作** 利用Virtuoso中的模拟环境ADE(Analog Design Environment),设定变量扫描模式为“Voltage DC sweep”。指定起始/终止电平及步长增量来获取完整的转移曲线数据集[^2]。 5. **观察输出响应波形** 转至结果可视化窗口,在菜单栏选取`Results->Direct Plot->Main Form`选项绘制所需节点上的瞬态或稳态轨迹图形。通过对比不同工况下的表现评估ERNMOS反相器的实际效能指标。 6. **提取关键性能参数** 基于所得图表计算诸如增益系数、噪声裕度、传播延迟时间之类的量化评价指数,从而验证所设计方案是否满足预期规格需求。 ```python # 示例Python脚本用于自动化处理部分仿真任务 import numpy as np from matplotlib import pyplot as plt def plot_transfer_curve(v_in, v_out): """ 绘制ERNMOS反相器传递函数 """ plt.figure(figsize=(8, 6)) plt.plot(v_in, v_out, label="Transfer Curve", color='blue') plt.title("ERNMOS Inverter Static Characteristics") plt.xlabel("$V_{in}$ (Volts)") plt.ylabel("$V_{out}$ (Volts)") plt.grid(True) plt.legend() plt.show() v_input = np.linspace(0, 5, num=500) # 输入电压从0到5伏均匀分布采样点 v_output = ... # 替代实际测量得到的数据序列 plot_transfer_curve(v_input, v_output) ``` 上述代码片段展示了如何利用Matplotlib库生成清晰直观的结果展示效果。 ---
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值