TLM_FIFO

返回知识网络总入口 · 配置与通信

核心结论

FIFO 用缓存解耦生产与消费,让采样和检查按各自节奏运行;它不负责协议匹配,也不自动复制对象。

关键机制

  • uvm_tlm_fifo 提供 put/get,有界队列满时 blocking put 等待,空时 get 等待。
  • uvm_tlm_analysis_fifo 用不耗时 write 入队、get 消费,是无界缓存。
  • expected/actual 各一条 FIFO,适合有序数据由 task 等待比较。
  • 检查 used、连接和消费进度,结束与复位时处理残留。

小例子或流程

// env connect_phase
mon.ap.connect(actual_fifo.analysis_export);
// 检查task
actual_fifo.get(actual);

消费者等待不使 monitor 的 write 耗时,但长期跟不上时无界缓存持续增长。

易错点

  • FIFO 不自动支持乱序匹配。
  • 条目是句柄,要保证快照稳定。
  • flush 不能替代 driver/model/scoreboard 完整恢复。

关联知识

原文出处与已有面试题