【芯片设计- RTL 数字逻辑设计入门 4.2 -- 组合逻辑赋值 + 时序逻辑状态保持】
文章目录
- Overview
- 原语句分析
- 变量含义假设(根据命名推测)
- 状态更新逻辑详解
- 状态转移逻辑
- 举个实际例子
- 小结
Overview
本文将详细介绍 verilog rtl 中 assign reg_halt_mode_nx = halt_taken | (reg_halt_mode & ~halt_return)
;的作用,以及这里为何要使用 reg_halt_mode
, 在时序逻辑中会进行 reg_halt_mode = reg_halt_mode_nx
;
这条 Verilog 语句是 RTL 设计中很常见的一种 组合逻辑赋值 + 时序逻辑状态保持 结构。我们来逐步详细解释:
原语句分析
assign reg_halt_mode_nx = halt_taken | (reg_halt_mode & ~halt_return);
这是一条组合逻辑表达式,用于生成 “下一周期的状态值”(_nx
意为 next)
之后会有一条 时序逻辑(时钟沿)赋值:
always @(pos