为什么需要“输出锁存”

它的目的可以一言以蔽之:将组合逻辑产生的输出信号"同步"到时钟节拍上,从而大幅提升电路的稳定性和可预测性。

  1. 消除毛刺(Glitch Filtering)

• 组合逻辑输出(如 po_cola_comb 和 po_money_comb )在电平跳变时可能产生瞬态毛刺。

• 通过在时钟上升沿采样并锁存输出,可以滤除这些毛刺,确保输出信号的稳定性。

  1. 时序同步(Timing Synchronization)

• 状态机的组合逻辑输出可能因路径延迟不同而出现亚稳态(Metastability)风险。

• 锁存器在时钟边沿统一更新输出,使信号变化与系统时钟同步,满足建立/保持时间要求。

  1. 时序路径可控性

• 锁存后输出信号的延迟固定为一个时钟周期,便于静态时序分析(STA)。

• 若直接输出组合逻辑,时序路径可能跨越多个时钟域,增加时序收敛难度。

复杂可乐机例子

状态机输出

assign po_cola = ((current_state == TWO_HALF) && (key_half || key_one)) ||

((current_state == THREE) && (key_half || key_one));

assign po_money = (current_state == THREE) && (key_half || key_one);

解决

主模块解决

always @(posedge sys_clk or negedge sys_rst_n) begin

if (!sys_rst_n) begin

po_cola <= 1'b0;

po_money <= 1'b0;

end else begin

po_cola <= po_cola_comb; // 锁存组合逻辑输出

po_money <= po_money_comb;

end

end

相关推荐
szxinmai主板定制专家16 小时前
柔宇柔性显示屏+x86、arm显示解决方案,还有库存
arm开发·人工智能·fpga开发
CHY_12817 小时前
JESD204B 协议解析(5)ILA序列
fpga开发·jesd204
yang)20 小时前
PLL之鉴相器PFD
fpga开发
FPGA_无线通信1 天前
RRU CFR算法
fpga开发
国科安芯1 天前
AS32系列MCU芯片TIM模块的捕获和比较
单片机·嵌入式硬件·fpga开发·架构·risc-v
kk哥88991 天前
高性能计算 FPGA 开发:Quartus Prime 18.0 下载安装教程 高带宽内存(HBM2)支持
fpga开发
FPGA_无线通信1 天前
RRU 1588同步
fpga开发
燎原星火*2 天前
FMC接口定义
fpga开发
CHY_1282 天前
JESD204B 协议解析(4)Subclass2 时序分析
嵌入式硬件·fpga开发·jesd204