亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> VHDL

掌握VHDL std_logic:状态、分辨函数与波形分析

在VHDL中,std_logic类型是表示物理线上单比特的基石。不同于早期教程用的简单integer类型,std_logic提供更丰富的值集,更准确建模真实数字信号行为。

数字引脚通常只有逻辑高('1')或逻辑低('0'),但物理信号也可能呈高阻态、弱态或未定义状态。std_logic类型捕获所有这些可能性,使其成为VHDL设计中最常用类型。

本文属基础VHDL教程系列。

std_logic信号可取的完整值列表:

'1'逻辑1
'0'逻辑0
'Z'高阻抗
'W'弱信号;不定0或1
'L'弱0(下拉)
'H'弱1(上拉)
'-'不关心
'U'未初始化
'X'未知(多驱动器)

多数教程聚焦主要值'1'和'0',偶尔用'U'和'X'突显设计错误。其余状态为高级特性,用于建模I2C等协议或创建三态总线。

当多个进程驱动同一std_logic信号时,语言用分辨函数决定结果值。此机制防止仿真编译期或运行时错误,由分辨表定义,如下所示。

U X 0 1 Z W L H -
U X X 1 1 1 1 1 X 1
U X 0 X 0 0 0 0 X 0
U U U U U U U U U U
U X X X X X X X X X
U X 0 1 Z W L H X Z
U X 0 1 W W W W X W
U X 0 1 L W L W X L
U X 0 1 H W W H X H
U X X X X X X X X -

练习

本视频教程演示声明std_logic信号并在波形仿真中可视化。

本练习产生的最终VHDL代码如下:

library ieee; use ieee.std_logic_1164.all; entity T10_StdLogicTb is end entity; architecture sim of T10_StdLogicTb is signal Signal1 : std_logic := '0'; signal Signal2 : std_logic; signal Signal3 : std_logic; begin process is begin wait for 10 ns; Signal1 <= not Signal1; end process; -- Driver A process is begin Signal2 <= 'Z'; Signal3 <= '0'; wait; end process; -- Driver B process(Signal1) is begin if Signal1 = '0' then Signal2 <= 'Z'; Signal3 <= 'Z'; else Signal2 <= '1'; Signal3 <= '1'; end if; end process; end architecture; 

ModelSim按运行并放大时间线后的波形窗口:

掌握VHDL std_logic:状态、分辨函数与波形分析

光标放在重复信号周期另一部分的波形:

掌握VHDL std_logic:状态、分辨函数与波形分析

分析

本练习演示VHDL分辨函数实际作用。通过检查波形而非仅靠文本输出,更清晰地看到多驱动器如何在std_logic信号上交互。

Signal1由单进程切换,值在'0'和'1'间干净交替。由驱动器A和B驱动的信号按前述表分辨。

信号驱动器A驱动器B结果
Signal2'Z''Z''Z'
Signal2'Z''1''1'
Signal3'0''Z''0'
Signal3'0''1''X'

掌握VHDL std_logic:状态、分辨函数与波形分析

要点

进入下一教程 »

VHDL

  1. 3D打印工作流瓶颈TOP 6与验证修复方案
  2. 汽车冷却系统常见故障及诊断指南
  3. 发动机起重机安全操作指南:职场最佳实践
  4. 起重机事故高发成因与预防实战指南
  5. 释放IoT数据价值:业务规则管理驱动企业级增值
  6. A286 合金:油气、航空、涡轮、深冷四大核心领域的关键材料
  7. 用VHDL受保护类型和访问指针实现动态链表
  8. 利用进程内过程简化VHDL状态机设计
  9. 使用VHDL不纯函数提升FSM可读性与可维护性
  10. 掌握VHDL函数:高效设计实战指南
  11. 在VHDL中使用过程:用可复用代码简化设计
  12. 掌握VHDL端口映射实例化实战指南