数字CMOS集成电路复习笔记:第六篇
动态逻辑电路概述
在前面,我们学习的都是使用CMOS搭建的静态逻辑电路,不含任何人为加入的电容等储能元件。
何为静态逻辑,何为动态逻辑?
静态逻辑门:
所有逻辑电平都是稳定的静态工作点,所有的输出电压都是由输入电压的改变经过一定延时后确定的。只要电源电压存在,输入信号不发生变化,输出电压会永远保持。
输出电压不需要刷新。需要的晶体管数量多,延时大。
动态逻辑门:
逻辑电平不是稳定的静态工作点,而是由节点上的寄生电容的电荷来暂时保持的。
输出信号由输入信号变化和时钟信号的改变确定,需要定时更新或者刷新,因为电荷会丢失,造成电压改变,信息丢失。
"In Figure 4, if the input A is 1 during precharge, contention will take place because both the pMOS and nMOS transistors will be ON. When the input cannot be guaranteed to be 0 during precharge, an extra clocke ...
一天一道简答题:模拟CMOS
加粗为考过的题目
第一章:绪论
随着集成电路工艺发展,器件宽度下降,有哪些因素对模拟IC设计不利?
答案电源电压下降、阵列器件失配更严重、MOS短沟道效应显著
列举出三种模拟IC产品。
答案电源管理芯片、模数转换(ADC)芯片、数模转换(DAC)芯片、锁相环(PLL)芯片
解释More Moore和More than Moore。
答案More Moore:进行结构优化和工艺微缩,继续缩小器件尺寸,延续摩尔定律
More than Moore:在现有的基础上,不缩小器件尺寸,但整合进更多的功能,实现更复杂的系统
数字CMOS集成电路复习笔记:第一篇
深N阱工艺是什么?有什么优缺点?
答案深N阱工艺:在P型衬底上,通过掺杂形成一个深N阱然后再形成一个P阱,制作NMOS,可以实现器件隔离的作用,因为其衬底独立。
深N阱增加了制造成本和芯片面积,但使得各NMOS衬底可以相互隔离,并且数字模块与模拟模块也可以隔离,减小串扰。
第二章:MOSFET概述
MOS管有哪些工作区?对于NMOS来说,不同的工作区各有什么独特的应用?
答案关断区、饱和区、线性区(三极管区 ...
一天一道简答题:数字CMOS
加粗为考过的题目
第一章:绪论
摩尔定律是什么?后人扩展的摩尔定律又是什么?
答案摩尔定律:芯片上的晶体管数目每隔18 个月或者24 个月翻一倍
扩展的摩尔定律:
工艺每三年升级一代
集成度每三年翻二番
特征线宽约 缩小 30% 左右
逻辑电路(以 CPU 为代表)的工作频率提高约 30%
请从设计方法学的角度简要分析模拟集成电路设计与半定制数字集成电路设计的区别。列举至少三点。
答案模拟:需要手动布局、自下而上的设计方法、特殊化定制、耗时长
数字:可以自动布局、自上而下的设计方法、使用现成的模块进行定制、耗时相对短
数字电路设计常用的抽象层次有哪些?列举三个,并写出对应的语言/EDA 工具。
答案
系统级:MATLAB
算法级:C/C++
寄存器传输级:VHDL/Verilog
门级:VHDL/Verilog
晶体管级:SPICE
数字系统设计复习笔记:第一篇
写出短沟道 PMOS 的线性区与饱和区分界点,以及饱和区电流公式。
答案(∣VGS∣−∣VTH∣)⋅Ec,pLp(∣VGS∣−∣VTH∣)+Ec,pLpID=12μpCoxWL11+∣VGS∣−∣ ...
数字CMOS集成电路复习笔记:第五篇
组合逻辑与时序逻辑
我们如何定义组合逻辑和时序逻辑?
组合逻辑 (Combinational Logic) :输出只由当前输入决定,电路没有存储单元;
时序逻辑 (Sequential Logic) :输出由当前输入和以前的输入(电路状态)决定,用来实现需要若干步骤问题的解决,同时电路中需要存储元件来保存以前输入形成的结果。典型例子便是状态机。
对于时序逻辑,我们又可以分为两类:
异步(Asynchronous)时序电路:没有时钟,存储单元输出的变化由输入信号决定
同步(Synchronous)时序电路:统一的时钟,存储单元输出的变化在时钟沿发生
这两类对应两种状态机:Mealy和Moore。
输出和当前状态及输入有关,则称为米利(Mealy)状态机
输出只和当前状态有关,则称为摩尔(Moore)状态机
双稳态电路
交叉耦合的反相器对可以构成一个双稳态电路。本质上是一个正反馈。
能量越低越稳定,因此中间的交叉点处是非稳态。只要有一点扰动,电压就会变化到1或者0,所以中间的交叉点是非稳态。
为了改变电路保存的状态,我们可以:
使用驱动强度更强的电路(强行覆盖)
断开反馈 ...
Cloudflare修改引用站点策略
感谢Cloudflare提供的免费服务,让本项目得以实现。
在此向Cloudflare致以最高的敬意。
前言
参考上一篇博客:使用 Cloudflare Workers 搭建随机图片 API,我搭建了随机P站图片API,结果博客上一直加载不出来。折腾了一个小时后搞定,记录一下方法。
问题
本地起Hexo服务器预览图片正常,本以为是缓存问题,强制刷新页面也没有用。
打开github.io托管版本是没有问题的,非常奇怪。
排查
请求分析
对比了一下图片的请求,发现:
来自blog.esing.dev的图片请求没有附带上自己的Referer,因此被workers内的请求头检测拦下;
来自zxis233.github.io的图片请求正常带上了自己的Referer,因此能正常显示。
这就很奇怪了,毕竟我访问blog-dsx.pages.dev时,图片也是能正常携带Referer的。问题可能出在HTTP的响应头上。
实际上Referer是Referrer的错误拼写。由于早期HTTP规范中的拼写错误,为了保持向下兼容,只好将错就错。
HTTP头中的Referrer-Policy以及JavaSc ...
使用 Cloudflare Workers 搭建随机图片API
感谢Cloudflare提供的免费服务,让本项目得以实现。
在此向Cloudflare致以最高的敬意。
前言
看了BlueSkyXN的博客后,准备自己搭一个二刺螈随机图片API(毕竟网上找到的都良莠不齐)。他的博客提到了这个库:BlueSkyXN/RandomIMGAPI: 业内最简的原创随机图API源码。自己在西雅图的服务器上部署了一下,效果不错,就是每次请求会很慢,毕竟线路很差。目光自然又转向了Cloudflare。能不能用Cloudflare Workers实现呢?
准备
功能正常的Cloudflare账号
一个托管在Cloudflare的域名
包含目标图片的GitHub库(比如我的:Zxis233/img2020S7: Pixiv 2020精选集 删除大量NSFW图片)
步骤
创建Cloudflare Workers
左侧栏找到“Workers与Pages”,点进去新建。模板直接选JS的Hello World就行 (注意不要选成Python的了)
部署完毕后编辑代码,将下面的代码粘贴进去:
1234567891011121314151617181920212223 ...
嵌入式系统设计道 堂堂连载!
痛,并快乐着~
数字CMOS集成电路复习笔记:第四篇
阈值损失
因为MOSFET的特性,导通时漏级始终比栅极有一个阈值电压的损失!
对于NMOS,低电平时无损失,高电平时会降低一个 VTN 输出,因此使用NMOS进行下拉;
对于NMOS,高电平时无损失,低电平时会升高一个 |VTP| 输出,因此使用PMOS进行上拉。
伪NMOS逻辑门
伪NMOS两输入或非门
若其中一个输入为高,则输出为低;若两个输入均为高,则输出更低。可看成两个NMOS并联,尺寸翻倍。
对于瞬态,相同尺寸的或非门和反相器相比,寄生电容更大,因此速度更慢!
伪NMOS两输入与非门
考虑工程近似,认为靠近输出的NMOS管无体效应,则可以将串联的NMOS管看成一个晶体管,尺寸减半。
多输入或非门可以将NMOS进行并联实现。下拉电流等于所有导通的NMOS管流过的电流之和。同理,多输入或非门可以将NMOS进行串联实现。
问:忽略PMOS管面积,两输入与非门的驱动能力与反相器相同时,与非门的面积与反相器相比是多少?
答案4:1。
晶体管串联,串联后尺寸减半,因此等效后和反相器的NMOS尺寸相同,为1,则减半前的两个管子各自尺寸为2。2x2=4。
离输出端近的晶体管速度快!在 ...
玩了几个晚上的墨水屏阅读器!
嘉立创的免费SMT贴片券真的是太香了!大爱嘉立创!
数字CMOS集成电路复习笔记:第三篇
延迟时间
传输延迟τPHL、τPLH定义为:在输入到输出波形的50%电压处(阈值电压)。
上升/下降时间τr、τf定义为10~90%的电压时间。
计算
长沟道CMOS
τPHL=Cloadkn(VDD−VT0,n)[2VT0,nVDD−VT0,n+ln(4(VDD−VT0,n)VDD−1)]τPLH=Cloadkp(VDD−∣VT0,p∣)[2∣VT0,p∣VDD−∣VT0,p∣+ln(4(VDD−∣VT0,p∣)VDD−1)]\begin{aligned}
\tau_{PHL}&=\dfrac{C_{load}}{k_n(V_{DD}-V_{T0,n})}\left[ \dfrac{2 V_{T0,n}}{V_{DD}-V_{T0,n}}+\ln\Big(\dfrac{4(V_{DD}-V_{T0,n})}{V_{DD}}-1\Big) \right] \\
\tau_{PLH}&=\dfrac{C_{load}}{k_p(V_{DD}-|V_{T0,p}|)}\left[ \dfrac{2 |V_{T0,p}|}{V_{DD}-|V_{T0,p}|}+\ln\B ...