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

理解Verilog延时控制:时序技术与最佳实践

两类时序控制

Verilog含延时控制和事件控制。延时控制:仿真器遇到语句到实际执行间插入延时。事件控制:延迟至仿真事件发生(网络/变量值变化隐式事件、显式命名事件触发)。门/网络内部延时模型也推进仿真时间。

延时控制详解

延时表达式为X/Z视为零延时;负值视为同位宽时间变量的2补无符号整数。支持常数、变量、表达式、十六进制、时间单位(如10ps)等多种形式。$realtime显示高精度时间。

事件控制

隐式事件:变量值变化触发。posedge(向1变化:0→X/Z/1、X/Z→1)、negedge(向0变化:1→X/Z/0、X/Z→0)。仅能检测向量信号LSB的边沿。同状态到同状态非事件。
命名事件:event声明,->触发,@等待。无数据、无持续时间、可任意时刻发生。支持数组(如event b_event[5])。可同步多并发进程。

事件或操作符

or或逗号,等待列表中任一事件触发。示例展示posedge a or posedge b、posedge a, negedge b、a, b三种敏感列表的触发时序差异。

隐式事件表达式列表与 @* 简化

敏感列表遗漏信号是常见功能错误源。Verilog提供@*或@(*)自动包含过程块读取的所有网络/变量,消除维护负担。示例对比手工维护敏感列表与@*等效性。

电平敏感事件控制

wait关键字实现条件满足前阻塞。条件为假则阻塞后续语句,为真则继续。示例:等待计数器非零、等待计数器达4值。

Verilog

  1. Verilog 入门:数字电路设计完整教程
  2. 掌握 Verilog 拼接操作:实用指南
  3. 深入理解 Verilog 赋值语句:类型、语法与最佳实践
  4. Verilog阻塞与非阻塞赋值:关键区别详解
  5. 掌握Verilog控制流:if-else、case、循环语句全解析
  6. 掌握Verilog函数:高效RTL设计的复用利器
  7. 理解Verilog任务:函数vs任务、语法与用法全解析
  8. 深入理解 Verilog 中的赋值间延迟与赋值内延迟
  9. 深入理解 Verilog 门延迟:精准时序助力可靠数字设计
  10. Verilog 时钟发生器设计与实现指南
  11. 掌握 Verilog 数学函数:高效硬件设计的利器
  12. 掌握 Verilog $timeformat:精度控制与显示格式化