NoC 硬件实现:VC 链路抢占与死锁避免 (floo_vc_arbiter)在多虚拟通道(VC)共享单物理链路时,最严重的风险是链路占用僵局:某个 VC 已经赢得了仲裁并占用物理链路,但由于下游状态变化导致其无法发送数据。此时,该 VC 成了物理链路的“钉子户”,导致其他具有发送空间的 VC 无法访问链路,引发系统级死锁。floo_vc_arbiter通过动态掩码 (Dynamic Mask)机制实现强制抢占,确保物理链路的所有权能够快速转移。核心逻辑:从“占用”到“强制交出”与 Credit 机制(决定谁能申请)不同,抢占机制决定的是谁必须交出所有权:僵局检测:当vc_arb_req_out(已占用链路)且!vc_arb_gnt_in(物理链路无法完成传输)时,判定当前通道陷入僵局。强制剥夺:若此时其他通道~vc_arb_idx处于就绪状态,立即更新掩码mask_d = ~(1'b1 vc_arb_idx)。这相当于在硬件层面强制撤销当前 VC 的竞争资格。所有权转移:在下一个时钟周期,被屏蔽的 VC 无法进入仲裁树,物理链路的所有权被强制移交给其他就绪 VC。