Ukawa 2023-06-17 12:56 采纳率: 0%
浏览 73
已结题

Modelsim仿真报错

#Modelsim仿真报错求助
用的是别人的代码,但是仿真报错是:Warning: read_during_write_mode_mixed_ports is assumed as OLD_DATA

Time: 0 Instance: tb_main.c1.d1.altsyncram_component.m_default.altsyncram_inst

有用到Ip核,不知道是什么原因。

  • 写回答

6条回答 默认 最新

  • PhoenixRiser 2023-06-17 13:04
    关注
    获得1.20元问题酬金

    TechWhizKid参考GPT回答:

    • 该警告是在使用ModelSim进行VHDL或Verilog仿真时,Altera IP核(在这种情况下是altsyncram)的一部分产生的。在这种情况下,RAM的读写时间模式冲突,即在同一时钟周期内,同时在同一个端口进行读写操作。

    “read_during_write_mode_mixed_ports”参数定义了同步RAM在同一时钟周期内同时读取和写入时的行为。参数可以设为:

    1. "new_data":当写入新数据时,同步读取操作会读取新写入的数据。
    2. "old_data":当写入新数据时,同步读取操作会读取旧数据。

    这个警告通常表明未明确设置这个参数,所以ModelSim假定其值为"old_data"。这不一定会导致仿真结果错误,但可能会影响其准确性。

    如果你想消除这个警告,你可以在创建RAM实例时,明确设置"read_during_write_mode_mixed_ports"参数的值。具体设置方法取决于你使用的是VHDL还是Verilog,也取决于你的RAM实例如何创建。

    如果你使用的是VHDL,你可能需要在RAM实例创建时设置这个参数,如下:

    ram_inst : altsyncram
        generic map (
            ...
            read_during_write_mode_mixed_ports => "old_data",  -- or "new_data"
            ...
        )
        port map (
            ...
        );
    

    如果你使用的是Verilog,设置方法可能如下:

    altsyncram ram_inst (
        ...
    )
    #(
        ...
        .read_during_write_mode_mixed_ports("old_data"),  // or "new_data"
        ...
    );
    

    上述代码只是示例,并不一定完全符合你的代码。

    评论

报告相同问题?

问题事件

  • 系统已结题 6月25日
  • 创建了问题 6月17日

悬赏问题

  • ¥18 help me! 希望大家来看看 吉~
  • ¥15 C++显示超限兔子集结
  • ¥15 sql server 2012的下载出错
  • ¥15 图像识别用户软件开发
  • ¥20 类原生rom lineageos
  • ¥15 有没有会做中专,云计算,卷子的,有偿一百块
  • ¥15 HC32串口DMA循环发送数据
  • ¥15 Uni-App实现飞书授权登陆
  • ¥50 Qt应用中如何通过代码打开开发者工具devtools
  • ¥20 mpp硬解码h264转为yuv