微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > MMAV NFI VIP Trial-run

MMAV NFI VIP Trial-run

时间:10-02 整理:3721RD 点击:
Trial Run NFI MMAV VIP . 开贴。

1 Feature :
1.1 支持多家Vendor 的产品。
1.2 支持多种验证语言: SV,Verilog,VHDL,SC,OpenVera.
1.3 有预先埋好用和可以自己实现的Callback。
1.4 用户可以在Simulation 阶段, 控制 Message 。

MMAVNFI 的Callback 主要有两种:
1 Interface Transaction Callback。
2 Memory Transaction Callback。
从字面意思理解, 一个是 对 Interface 上的Transaction 埋入入 Callback。 一个是对Internal 的 Nand Flash Memory 埋了Callback。

Error Injection 的方式 :
1 使用 PLIFunction : mmerrinject/mmfault;
2 使用 Callback, 直接修改Packet 的信息。

使用 Pureview Debug Memory:
1 SupportInteractive &post-processing.
2 Interactive :
2.1 pureview -simdb filename -instance instance_name;
3 Post-process 可以使用如下方式产生 simdb Database 用于 Post-process。
3.1 .denalirc : SimulationDatabase simdb
3.2 mmtcleval("mmsimulationdatabase simdb_filename");

MMAV Co-Sim with Seamless[codelink]
Support share SDRAM,DDR,Flash,SRAM etc
在.denalirc 里面增加如下两行:
DenaliOwn /tb/rams/sdram ;
DenaliOwnClass sdram;
就可以Support在Seamless 的 环境里面 使用 Pureview 来Debug Memory。

MMAV Memory 的 初始化方法:
1 在.denalirc 里面 使用 InitialMemoryValue 0/1/X/U/randomNoUpdate/randomWithUpdate
2 使用 PLI/VHPI $mmsetfillvalue ,会把除了写过的Address之外的地址 初始化成Fill Value。
3 从文件Load 进来Memory Content: $mmload("mem_inst","load_file");
load_file 格式 : start_addr[:end_addr]/data;
data format : 'b/'o/'d/'h prefix
coment: # comment

1 Reset Memory Content:
$mmreset("memory_inst");
2 R/W Memory :
$mmreadword/$mmreadword2/$mmreadword3
$mmwriteword/$mmwriteword2/$mmwriteword3

Dynamic 的修改 SOMA File 的 configuration Parameter:
1 只修改 部分 对需要修改的 Parameter使用: $mmsomaset ("instance_name","parameter_name","parameter_value","parameter_units");
2 如果修改的Parameter 比较多,并且有已经保存好的 SOMA file 使用:
$mmsomaload("instance_name","soma_file_name");

YUKon API主要是用来和Simulator 之间进行通信用的。
DDV API主要是用来 和 SOMA FILE Testbench 之间 提供给用户PLI 来进行 更深入的控制。

顶下,支持

请问, 那里可以下载 pureview?我需要它根据已下载的DDR soma 文件产生 一个 Verilog Shell 文件.好用它在上层文件中例化DDR model.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top