为什么需要“输出锁存”

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

  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

相关推荐
aprilaaaaa2 小时前
(TC397 学习笔记)二、ICU和TIM的时钟计算
笔记·学习·fpga开发
X_xcccc5 小时前
2026高端FPGA开发平台权威评测与选型指南
fpga开发
威嵌神州5 小时前
军工加固计算机七大核心特性解析|国产化、宽温、强加固工程实现
嵌入式硬件·计算机网络·fpga开发
FPGA小迷弟5 小时前
高云半导体深度解读:国产FPGA车规赛道的领跑者
fpga开发
努力搬砖的小H5 小时前
FPGA应用技巧之Block Design基本使用方法
功能测试·fpga开发·zynq·block design
ALINX技术博客5 小时前
【黑金云课堂】FPGA技术教程FPGA 基础:HDMI视频输入与环路输出实验
fpga开发·音视频
hahaha60167 小时前
HLS高层次综合设计--axi之burst纠偏
开发语言·算法·fpga开发·c#
珞光电子USRP SDR软件无线电平台1 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
FPGA小迷弟1 天前
【硬核通俗】FPGA实现SDR软件无线电完整技术解析(原理+架构+实战)
fpga开发·dsp开发·sdr·无线电
Eloudy2 天前
HSB FPGA 架构总体
fpga开发·架构