打印

MOS管级别逻辑电路的实现

[复制链接]
1168|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qbwww|  楼主 | 2022-5-27 07:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qbwww 于 2022-5-27 07:59 编辑

CMOS逻辑电路,分两部分,上拉部分,下拉部分。上拉部分由PMOS管电路构成,下拉部分由NMOS管电路组成,如下。上下拉,形成互补。
由前面的基础可知,CMOS只能实现基本逻辑的非,比如或逻辑,与逻辑,如果不加反相器,CMOS只能实现或非,与非逻辑。原因就是上拉逻辑只能用PMOS实现,下拉逻辑只能由NMOS实现,而PMOS的导通需要输入信号为0,NMOS导通需要输入信号为1。

既然如此,我们在用CMOS实现逻辑电路时,一般可以照如下顺序去做:
1. 可以先将其整体先加上一个非,作相应的逻辑转化。
2. 上拉逻辑中各个PMOS,与操作为并联,或操作为串联。
3. 下拉逻辑中各个NMOS,与操作为串联,或操作为并联。

比如我们想从CMOS层去实现逻辑 OUT = D+A*(B+C) (减号“-”表示取反(非)操作,“+”表示或,*表示与)。

设计过程如下:
1. OUT = - ( -(D+A*(B+C)) )
2. OUT1 = -(D+A*(B+C))
3. OUT = -OUT1
对于OUT1 = -(D+A*(B+C)),正好是逻辑整体上带了个非。
故对于上拉逻辑:
或操作为串联,从而输入B,C接到的PMOS之间为串联。

与操作为并联,故输入A接到的PMOS跟B,C或逻辑之间为并联。

或操作为串联,故D与A*(B+C)的PMOS逻辑为串联。

对于下拉逻辑与上拉逻辑正好相反:
或操作为并联,从而输入B,C接到的NMOS之间为并联。

与操作为串联,故输入A接到的NMOS跟B,C或逻辑之间为串联。

或操作为并联,故D与A*(B+C)的NMOS逻辑为并联。

从而得到 OUT1 = -(D+A*(B+C)) 的CMOS实现如下:

OUT = -OUT1,故得最终答案如下:

当然,在MOS管级别还可以做一些优化,比如MOS管级别的逻辑优化,MOS管栅源共用,晶体管尺寸调整,重新安排各个输入的上下顺序等等,都可以在MOS管级别使得电路的时序与面积功耗等得到优化,但这不是我们的重点,一般对于全定制IC设计会从MOS管级开始考虑电路的实现。这里我们只是对其做一个了解。

使用特权

评论回复

相关帖子

沙发
qbwww|  楼主 | 2022-5-27 07:59 | 只看该作者
CMOS只能实现基本逻辑的非,比如或逻辑,与逻辑,如果不加反相器,CMOS只能实现或非,与非逻辑。原因就是上拉逻辑只能用PMOS实现,下拉逻辑只能由NMOS实现,而PMOS的导通需要输入信号为0,NMOS导通需要输入信号为1。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

733

主题

4517

帖子

14

粉丝