【问题标题】:Specman - error while connecting the monitor to scoreboardSpecman - 将显示器连接到记分牌时出错
【发布时间】:2018-06-08 06:04:12
【问题描述】:

我在我的项目中使用 e (specman)。 我为uart构建了验证环境。 我有一个类似于any_sequence_item 的结构,名为uart_frame_s.

我想为 uart 中的 tx 添加记分牌。 我在uart_tx_agent 中有以下实例:

uart_monitor: uart_tx_monitor_u is instance;

记分牌的定义:

unit uart_tx_scoreboard_u like uvm_scoreboard{
scbd_port frame_add : add uart_frame_s;
scbd_port frame_match : match uart_frame_s;
};

我尝试通过以下方式连接:

connect_ports() is also {
      uart_monitor.uart_frame_s_started.connect(tx_scb.uart_frame_s_add);
      uart_monitor.uart_frame_s_ended.connect(tx_scb.uart_frame_s_match);
};

在哪里: uart_scb (scoreboard) 是 uart_tx_agent 中的实例

监视器中 TLM 端口的定义:

uart_frame_s_started : out iterface_port of tlm_analysis of uart_frame_s is instance;
uart_frame_s_ended : out iterface_port of tlm_analysis of uart_frame_s is instance;

我收到以下错误: 错误:“uart_monitor”(“uart_tx_monitor_u”)没有“uart_frame_S_started”字段...... 错误:“uart_monitor”(“uart_tx_monitor_u”)没有“uart_frame_S_ended”字段

【问题讨论】:

    标签: verification uvm specman e


    【解决方案1】:

    根据您上面提供的信息,我可以得出以下结论:

    1.e 记分板带有预定义的 TLM 实现端口,您需要将监视器 TLM 输出端口连接到这些端口。您似乎没有在监视器中定义 TLM 端口。请在连接到记分牌时根据需要定义这些 TLM 端口(记分牌文档中有相关示例)。 我的建议是,一旦你完成从总线收集帧,发出一个通知帧已完成的事件(我猜你可以称之为“uart_frame_s_endded”),然后在该事件发出时,将收集到的帧发送到计分板通过监视器的 TLM 输出端口进行添加/匹配。 (我猜 'add' 适合 UART tx)。

    1. 如果端口已定义,请确保在代码中解析器将在端口定义之后读取的位置使用 connect_portS() 函数。

    仅供参考:

    1. 您似乎在代理中定义了记分牌。 (似乎 tx_scbd 和 uart_monitor 在同一层次结构下。 将系统级组件(记分板)放入 uVC(在本例中为 UART 接口组件)被认为是“不好的做法”。

    这有帮助

    【讨论】:

    • 1.我连接了端口(见connect_ports() is also) 2.为什么记分板不能也在代理中?
    • 1. Specman 认为没有具有这些名称的端口。因此它发出了上述错误。您可以在上面的问题(原始问题)中粘贴 TLM 端口定义吗? 2. eRM 的重点是编写可重用的代码。记分板是一个特定于应用程序的组件,它不仅服务于 UART 接口。 (例如,如果您有两个 interface ,每个都有不同的协议,并且您希望匹配进入一个和来自另一个的数据包。)记分板应该在两个接口 UVC 中连接到监视器,而不是在其中之一他们)。
    • 我添加了您所要求的内容。
    • 嗨,Sara,应该在“uart_monitor”中定义的 TLM 输出端口的声明怎么样?您可以在原始问题中粘贴这些端口的定义吗?
    • 我添加了你所要求的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2014-11-04
    相关资源
    最近更新 更多