0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从零开始反相器的verilog设计

冬至子 来源:ExASIC 作者:陈锋 2023-10-09 15:33 次阅读

反相器的晶体管级电路

反相器,是数字集成电路最基本的电路之一。由一个pmos和一个nmos组成,输入信号IN接到pmos和nmos的栅极,输出信号OUT由漏极引出,如下图。

图片

假设VDD=3.3V,VSS=0V,mos管的开启电压Vt=0.7V:

  • 当IN=3.3V时,
    • nmos的栅源电压Vgs>Vt,nmos导通,导通后漏源间的电阻Rds变得很小(比如0.1Ω),所以nmos漏极电压Vds就被拉到接近地。
    • pmos的Vgs=0V,小于开启电压Vt,pmos关断,所以pmos的漏极电压由nmos决定。
    • 综上,OUT≈0V。
  • 当IN=0V时,
    • nmos的Vgs=0V,nmos关断,输出由pmos决定。
    • pmos的Vgs=-3.3V,大于开启电压Vt,pmos导通,Rds变得很小,pmos的输出被拉到接近VDD。
    • 综上,OUT≈3.3V。

我们把输入输出关系整理如下表:

1.jpg

反相器的数字逻辑关系

数字集成电路不太关心电源和地的具体电压值,只关心输入输出逻辑关系。通用把接近VDD的电压称为高电平,用数字1表示,而接近VSS的电压称为低电平,用数字0来表示。

所以,反相器的输入输出电压关系用逻辑电平可表示为:

1.jpg

反相器的数学表示法

20世纪初,英国科学家香农指出,布尔代数(一种用来推理的数学)可以用来描述电路:布尔代数的运算法则正好与组合逻辑电路里的“与”、“或”和“非”相同。

交集(与):OUT = IN1 · IN2
并集(或):OUT = IN1 + IN2
差集(反相):OUT = 图片

所以,非逻辑就对应反相器。

反相器的电路符号

在画反相器的门级电路符号时可以抽象成下面的符号。输出端的圆圈表示逻辑上相反。

图片

verilog描述

verilog,全称Verilog HDL,一种硬件描述语言,由美国gateway公司1983年创立。因为verilog从C语言里借鉴了一些语法规则,看起来与C语言有点像,所以在工程中得到广泛地推广和应用,因此成为了IEEE标准,IEEE1364。

我们来用verilog描述这个反相器电路的形为(也称为形为级描述):

图片

1.jpg

第1行:注释
第2行:定义一个电路模块,电路模块的名字是inv
第4~5行:定义这个电路模块的输入和输出端口
第8行:描述了输出和输入之间的逻辑关系
第10行:结束这个电路模块的定义和描述

把这段verilog代码变成电路

用verilog写出来的这段代码,只是描述了电路模块端口和内部的逻辑。然后,使用逻辑综合工具,把verilog映射成由若干个提前设计好的基本单元电路(即工厂提供的标准单元库)连线而成的复杂电路。这种自动化的设计方法不再需要像模拟电路一样手工设计晶体管级的电路了,不仅大大加快了设计效率,也使得设计超大规模集成电路成为可能。

我们把上面的verilog用综合工具(比如synopsys dc)综合一下,得到下面的网表:

图片

可以看到,综合工具把verilog描述的逻辑表达式自动替换成了由标准单元组成的电路了。(注:这里端口的定义格式稍有不一样,是采用的verilog95的风格。)

我们可以用网表查看工具自动绘制出门级电路图:

图片

总结

本文从数字集成电路设计角度阐述了反相器的原理、数字逻辑表示方法、verilog语言的描述、再到把verilog代码转换回电路的方法和过程。后面会继续用这种思维带领大家学习和设计数字集成电路中的常用电路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 反相器
    +关注

    关注

    6

    文章

    240

    浏览量

    42707
  • Verilog
    +关注

    关注

    28

    文章

    1326

    浏览量

    109302
  • 晶体管
    +关注

    关注

    76

    文章

    9054

    浏览量

    135212
  • NMOS管
    +关注

    关注

    2

    文章

    115

    浏览量

    5228
  • PMOS管
    +关注

    关注

    0

    文章

    79

    浏览量

    6367
收藏 人收藏

    评论

    相关推荐

    反相器构成的振荡该如何分析?

    在此cmos电路构成的振荡中,假设最开始输入为高电平,一级反相器输出为低电平,再经一级反相器输出为高电平,这个电路是如何实现振荡原理的?两个电阻的关系是如何确立的,电容在该电路中充当
    发表于 01-26 17:59

    从零开始学CPLD和Verilog HDL编程技术教程免费下载

    从零开始学系列之从零开始学CPLD和Verilog HDL编程技术非常不错,大家支持下下载地址:https://bbs.elecfans.com/jishu_264455_1_1.html
    发表于 02-06 16:42

    从零开始学电路基础》(从零开始学电子技术丛书)

    电气控制与PLC技术].刘建清.扫描版.pdf[从零开始学电子测量技术].李建清.扫描版.pdf[从零开始学CPLD和Verilog.HDL编程技术].李建清.扫描版.pdf[从零开始
    发表于 06-05 23:12

    labview从零开始

    怎么从零开始啊,哪位大神给个意见
    发表于 07-10 10:29

    [从零开始学CPLD和Verilog HDL编程技术]高清版

    ` 本帖最后由 zgzzlt 于 2012-8-15 21:51 编辑 [从零开始学CPLD和Verilog HDL编程技术]`
    发表于 08-15 08:39

    从零开始学系列电子书籍》大集合【值得收藏】!!!

    收藏! 该系列丛书有:1.从零开始学电路基础;2.从零开始学模拟电子技术;3.从零开始学数字电子技术;4.从零开始学单片机C语言;5.从零开始
    发表于 08-15 11:43

    反相器选型

    我想请教下反相器需要关注什么参数?
    发表于 04-28 17:52

    [从零开始学CPLD和Verilog.HDL编程技术].李建清.

    [从零开始学CPLD和Verilog.HDL编程技术].李建清.
    发表于 04-20 08:01

    从零开始学电子》丛书全套网盘分享

    ://pan.baidu.com/s/1jSiiNZWIVCrQCeMlBBOMhA提取码:6y3f【从零开始学电子丛书】从零开始学CPLD和Verilog+HDL编程技术链接:https
    发表于 06-28 18:45

    设计反相器如何解决PEX的问题?

    一个反相器的设计,LVS通过了,但是PEX的时候又碰到了问题怎么解决?
    发表于 06-24 06:47

    反相器的输出不对!

    这个电路的输出应该是低电平0V,但是用4V电压的反相器器件仿真结果正确,用下面那个6V电压的反相器器件的仿真结果输出就是2V多的电平,请问这是怎么回事?
    发表于 08-24 08:00

    反相器,反相器是什么意思

    反相器,反相器是什么意思  在电子线路设计中,经常要用到反相器  反相器是可以将输入信号的相位反转180度,这种电路应用在
    发表于 03-08 11:52 1.1w次阅读

    cmos反相器设计电路图

    本文开始介绍了CMOS反相器的定义和CMOS反相器工作原理,其次阐述了CMOS反相器传输特性与工作速度,最后详细介绍了CMOS反相器的电路图
    发表于 03-27 15:34 7.9w次阅读
    cmos<b class='flag-5'>反相器</b>设计电路图

    MOS反相器和CMOS反相器的详细资料说明

    本文档的主要内容详细介绍的是MOS反相器和CMOS反相器的详细资料说明包括了:MOS反相器,电阻负载NMOS反相器,采用晶体管作为负载器件的反相器
    发表于 03-20 08:00 36次下载
    MOS<b class='flag-5'>反相器</b>和CMOS<b class='flag-5'>反相器</b>的详细资料说明

    从一个反相器开始说时序

    看到文章的标题,我猜您也许会觉得反相器很简单,但其实反相器是所有数字设计的基本核心单元。
    的头像 发表于 06-27 11:45 1230次阅读
    从一个<b class='flag-5'>反相器</b><b class='flag-5'>开始</b>说时序