异步规约卸载:Fall-through FIFO 的脉冲锁定机制 (Push-Locking)

异步规约卸载:Fall-through FIFO 的脉冲锁定机制 (Push-Locking)
Fall-through FIFO 的脉冲锁定机制 (Push-Locking)1. 场景在实现异步规约卸载时,floo_reduction_unit需要使用影子 FIFO 来暂存操作数的元数据。为了降低延迟,这些 FIFO 采用了FALL_THROUGH模式(输入直接透传至输出)。在这种模式下,如果push_i直接由电平信号operands_valid_out驱动,且下游接收端ready_i为高,同一个操作数的元数据会在每个时钟周期被重复压入 FIFO。这会导致影子 FIFO 中的上下文序列与实际卸载到 FU 的数据流失配,最终导致结果路由错误。2. 核心逻辑引入脉冲锁定寄存器 (already_pushed_q):将“有数据”的电平信号转换为“执行压栈”的单周期脉冲。只有在锁定寄存器处于“未锁定”状态且有效信号到达时,才允许执行一次push,随后立即锁定,直到当前数据完成握手(Handshake)才释放锁,确保每个操作数仅被记录一次。3. 核心代码实现// [锁定逻辑] // 初始状态 1 (锁定),由 valid_operand_handshake 释放 (置 0) // 一旦 operan

最新新闻

日新闻

周新闻

月新闻