ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2,理解Verilog的四值逻辑

2022-01-16 20:30:49  阅读:166  来源: 互联网

标签:输出 逻辑 电路 电平 四值 阻态 Verilog 逻辑值


微信公众号:FPGA动力联盟

博主微信号:fpga_start

微信公众号原文链接:理解Verilog的四值逻辑

在《数字电路》或《数字电子技术》教材里,通常说数字电路的理论基础是“二值(0或1)”逻辑的布尔代数。但是我们在学习verilog时,接触的都是“四值”逻辑,分别为:

  • 0:逻辑低电平,条件为假

  • 1:逻辑高电平,条件为真

  • z:高阻态,浮动

  • x:未知逻辑电平

值“0”和“1”不难理解。如下图1所示为5V的TTL电平,当输出电压高于VOH时,认为输出是逻辑值“1”;当输出电压低于VOL时,认为输出为逻辑值“0”;当输入电压高于VIH时,认为输入是逻辑值“1”;当输入电压低于VIL时,认为输入为逻辑值“0”;

图片

图1:TTL电平及逻辑值判断

那么这些“V”的高低之间的区域算什么呢?在真实电路之中,这些区域的电平既可能被认为是“0”,也可能被认为是“1”,也就是不确定值。

在verilog语言的仿真里,不存在这种模棱两可的东西,于是“x”这个第三者出现了,标记信号为未知状态。

未知逻辑电平“x”出现主要有两种可能。第一个就是触发器不满足时钟采样的时序要求,时钟沿采集到信号的边沿;另一个就是信号未被“赋初值”。

未知逻辑电平“x”只在电路仿真中存在,但是高阻态“z”却是在电路系统中真实存在的一种电平状态。

高阻态是数字电路里常见的术语,指的是电路的一种输出状态,它既不是高电平,也不是低电平。

如果高阻态输出到下一级电路,则对下级电路无任何影响,和没接一样。此时我们如果用万用表测量高阻态输出的电压时,既可能是高也可能是低电平,由它后面接的电路而定。

进行电路分析时,高阻态可当做开路处理。我们可以把它看做输入/输出电阻非常大,极限状态就是悬空(开路)。也就是说,理论上高阻态不是悬空,它是对地或电源电阻极大的状态。而在实际应用中,它与管脚悬空几乎是一样的。

举个例子:当门电路的输出上拉晶体管导通而下拉晶体管截止时,输出为高电平。反之,上拉晶体管截止而下拉晶体管导通就是低电平。但是当上拉和下拉晶体管都截止时,输出端就相当于悬空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制。

输出高阻态可以利用名字叫“三态门”的器件实现,其符号和真值表如下图2所示:

图片

图2:三态门电气符号与真值表

高阻一般都会在输入/输出管脚处使用,例如FPGA的IOBUF就包含一个典型的三态门,如下图3所示:

图片

图3:FPGA的IOBUF

今天的博文就到这里了,有问题请给博主公众号留言,谢谢!

标签:输出,逻辑,电路,电平,四值,阻态,Verilog,逻辑值
来源: https://blog.csdn.net/fpga_start/article/details/122528162

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有