信号的状态类型

  • verilog专用常见的信号状态有4种,分别是0、1、z、x,其中,0和1是数字电路本身的状态,它的本源是零电平和VDD电平。例如,将一根导线接地,它的电平就是0,可以用数字0表示,将一根导线接VDD电平,那么它传出的信号就是1。VDD是数字电源的常用标号,整个芯片的电源常称为VCC,芯片的地常标注为VSS。不同工艺和元器件库需要的电压VDD不同,例如0.9V、1.8V、3.3V等,而同一个元器件库中的所有元器件,其需要的供电电压VDD一般相同的,只有I/O器件等少数元器件,其输入端和控制端是比较低的电压,而输出端口确是较高的电压。数字0和1对应的电平不会特别严格,而是有一个浮动范围,通常信号电平低于VDD的30%,就被认为是0,高于VDD的70%,就被认为是1。数字设计师处理的对象是0和1,不会经常去联想其背后代表的电压含义。
  • z态是高阻态。高阻的名字虽然不好理解,但实际并不神秘。如果一颗芯片不通电,则它所有的引脚就都是高阻态。可见,高阻态的实际意义就是不会干扰到其它信号传播的状态。例如某信号A是高阻态,某信号B不是高阻态,那么信号 A叠加到信号B上(可以理解为两根线被拧在一起),结果仍然是B,而A没有任何效果。一般来讲,一个有着双传输功能的引脚,如果设置为输入模式,就可以认为这个引脚处于高阻态,意思是他对电板上与它相连的元器件没有任何影响,这些相连元器件如果要对本芯片输出0或1,就可直接顺着该高阻态引脚输入,而不会被干扰或阻挡。FPGA中会用inout语法来描述z态。在ASIC设计中,需要例化一个引脚模块,在代码中不会出现1'bz数值
  • x态的含义是未知态,有4种情况会产生未知态:
    1. 其一是芯片已上电但复位信号未进行复位的情况;
    2. 其二是双向引脚信号冲突,因为没控制好,导致有一路信号通过引脚输入,另一路信号通过相同的引脚输出;
    3. 其三是芯片中一个元器件的某个输入端为x态,于是输出就跟着变成了x态,这就是所谓x态的传播;
    4. 第四是触发器的时序不满足,产生了亚稳态,从而表示为x态。
  • 上述4种情况在仿真中都能看到,但实际中,第1种情况基本不会出现,除非模拟电路设计有误,其它3种在数字设计有缺陷时会出现,实际在测量其电压时会出现不稳定或非预期的问题。在可综合Verilog中,不会出现1'bx数值,因为没有一个设计会故意将一个错误引入RTL中,所有的错误都是意外发生的。该符号在仿真脚本和仿真波形中可能出现。
相关推荐
9527华安10 分钟前
技术总结:FPGA基于GTX+RIFFA架构实现多功能SDI视频转PCIE采集卡设计方案
fpga开发·架构·pcie·sdi·gtx·riffa
Bit流4 小时前
FPGA实现任意角度视频旋转(完结)视频任意角度旋转实现
fpga开发·fpga任意角度视频旋转·fpga视频图像旋转
hi948 小时前
Versal - 基础2(系统架构+各子系统框图+调试模块)
fpga开发·versal
yundanfengqing_nuc1 天前
PCIE模式配置
fpga开发
Bit流1 天前
FPGA实现任意角度视频旋转(二)视频90度/270度无裁剪旋转
fpga开发·音视频·fpga任意角度视频旋转·fpga视频图像旋转
移知1 天前
精通PCIe技术:协议解析与UVM验证实战
fpga开发·pcle·uvm验证
Terasic友晶科技1 天前
第25篇 基于ARM A9处理器用C语言实现中断<一>
c语言·fpga开发·中断·de1-soc开发板
怪小庄吖2 天前
翻译:How do I reset my FPGA?
经验分享·嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信·信号处理
海涛高软3 天前
FPGA同步复位和异步复位
fpga开发
FakeOccupational3 天前
fpga系列 HDL:verilog 常见错误与注意事项 quartus13 bug 初始失效 reg *** = 1;
fpga开发·bug