本文主要是介绍芯片中PVT模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PVT 模块
芯片中会存在PVT模块用于检测芯片的Process Voltage Temperature。
Voltage Temperature好理解,检测电压和温度,但是对于process一直不是很懂,这篇笔记记录process是在芯片中是如何检测的。
首先什么是process?
process是指芯片中的cell比如buf从低/高电平到高/低电平所需的时间,一般指的是cell的延时。为什么会有延时呢?因为cell可以近似理解为一个电容,高低电平的变化相当于电容充放电的过程。一般电流越大,充电越快,那么需要的延时就会越短。(扩展一下,一般如何提高电流呢,一般会选择升压,这就是为什么对于高频电路,我们会选择升压的原因。)
那么对于这个延时我们在电路中怎么检测呢?
在芯片中,我们采用环形振荡器(Ring OSCillatior)来检测延时。
那么什么是环形振荡器呢?
环形振荡器的结构必须是有一串奇数个串联连接的反相器(Invertor)构成一个闭环回路(也就是最后一个输出恰好是最初的输入),如下图。如果初始触发时候给为“1”,那最后输出就是“0”,然后输入自然也就是“0”,然后输出又变成“1”,如此实现“0”和“1”的固定频率交替振荡输出。(不过通常我们在振荡器的输出端都会由于逐阶振荡导致输出信号减弱,所以我们需要在输出端增加两个反相器串联的单元电路,叫做缓冲器也叫做output driver
如果每个反相器的反应时间是tp,那么该振荡器的周期是2ntp (n就是反相器的个数)。
我们根据振荡器产生的时钟频率就可以得出当前的工艺延时。延时越大,频率越慢。
那么这个PVT有什么用呢?
因为在晶圆的不同位置,process是不一样的,代表不同的工艺角。在对于功耗要求高的芯片,如果测得process延时小,在ff区域,此时可能不需要这么高的电压就可以满足,那么我们可以降压使其降低功耗。
这篇关于芯片中PVT模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!