PangoDesign Suite2020.3联合Modelsim仿真

一、概述

PDS支持仿真功能主要包括编译仿真库和启动运行仿真两部分

编译仿真库是指调用ModelSim或QuestaSim等第三方仿真工具编译GTP库和VOP库,GTP库应用于前仿(pnr前的仿真),VOP库应用于后仿(pnr后的仿真)

启动运行仿真是指调用ModelSim或QuestaSim等仿真工具对用户的design进行编译和仿真,分为run behavior simulation,run post synthesis simulation,run post pnr function simulation,run post pnr timing simulation等不同阶段的仿真,其中pnr之前的仿真可能要用到GTP库,而pnr后的仿真要用到VOP库。

PDS仿真功能可以方便地让用户启动第三方仿真工具如ModelSim或QuestaSim等进行仿真,验证功能或时序是否正确。一般仿真的流程包括:

1)创建一个test bench,编译仿真库library,对仿真运行进行相应设置;

2)如果是post synthesis simulation或者post pnr simulation则还需要运行Synthesis得到vm,或gen netlist得到sim.v和sdf;

3)启动仿真。

二、 编译仿真库

编译仿真库功能主要对仿真模型GTP和VOP,启动第三方工具如ModelSim或QuestaSim进行编译,形成仿真用的库文件。编译后的库名字分别为usim和vsim

其中usim是GTP前仿库,而vsim是VOP后仿库。除了输出编译的库,编译用的ModelSim或QuestaSim脚本也生成出来,运行脚本可以直接生成库而无需打开PDS。

三、 运行仿真

启动运行仿真包括:

1) run behavior simulation,是综合前行为级仿真

2) run post synthesis simulation,是综合后gtp仿真

3) run post pnr function simulation,是pnr后的功能仿真

4) run post pnr timing simulation,是pnr后带sdf的时序仿真

四、操作步骤

1、创建新工程和TestBench文件

由于PDS在创建IP时会自动生成IP核文件和IP_TestBench,所以这里以PLL为例创建工程仿真

创建PLL工程,并且添加IP核到工程中,锁相环的配置如下

右击Source目录下的Simlution,添加自动生成的TestBench文件pll0_tb,并设置top module

2、通过PDS生成Modelsim的编译库

菜单栏【Tools】按钮点【Compile Simulation Libraries】启动编译库

注:编译库的时候,工程有无TestBench都不影响结果,这一步的实际意义是PDS产生适配Modelsim编译仿真需要的库文件,与工程无关

点击后弹出向导界面,各选项含义如下: Simulator: 第三方仿真工具,目前支持ModelSim和QuestaSim; Language: 仿真库用的语言; Library: 选择usim则是前仿库,vsim则是后仿库,ALL则包括usim和vsim两个库; Compiled Library Location:编译出来的库的位置,默认是在当前工程下面; Simulator Executable Path:第三方仿真工具运行路径,ModelSim的话需要选择到根目录下的WIN64文件夹; Command:编译库对应的TCL命令,可在Console中运行。

配置完成后点击Compile,编译库完成提示成功如图所示:

 

3、替换ModelSim的ModelSIm_ini配置文件(不确定是否一定需要这一步)

完成编译库操作后,会在刚刚选择的文件夹pango_sim_libraries下生成modelsim.ini文件,即ModelSim的库配置文件,将该文件复制到ModelSim安装目录下,替换到原来的配置文件

右击top module或者在【Process】文件菜单下选择运行仿真:

这里由于没有编译,只能选择run behavior simulation进行综合前行为级仿真

随后PDS会自动运行TCL脚本,启动ModelSim输出仿真结果

仿真结果如下,可以看到CLKOUT1是25MHz时钟,CLKOUT2是延后180°的100MHz时钟

五、仿真错误解决

错误编码VOPT-7063 关键词GRS_INST

错误提示:Failed to find 'GRS_INST' in hierarchical name '/GRS_INST/GRSNET’

错误原因:PDS官方配置文件GTP_DRM9K中只调用了GRS_INST,没有定义

解决方式:只需要在仿真的激励文件中加入一段代码即可,如下所示(可直接复制使用):

//###############################

//GTP_GRS

//###############################

reg grs_n;

GTP_GRS GRS_INST(

.GRS_N (grs_n)

);

initial begin

grs_n = 1'b0;

#5000 grs_n = 1'b1;

end

错误编码vish-17 关键词modelsim.ini

错误提示:# ** Error: (vish-17) Recursive reference in 'others' clause in "C:\modeltech_10.1a\win32/../modelsim.ini" to "C:\modeltech_10.1a\win32/../modelsim.ini".

错误原因:配置文件modelsim.ini没有修改正确,多半是由于PDS编译库生成的配置文件错误

解决方式:打开安装根目录里的modelsim.ini,将[Library]里的others = $MODEL_TECH/../modelsim.ini删除,只删除第14行的内容即可

 

错误编码vlog-6 关键词Waiting for lock by

错误提示:Warning: (vlog-6) -- Waiting for lock by "Administrator@PC-202206301028……

错误原因:由于之前配置错误,生成了LOCK文件

解决方式:只需要删除对应的目录下的lock文件即可

错误编码 vopt-13130 关键词failed to find design unit

错误提示:error:(vopt-13130)failed to find design unit****

错误原因:由于TestBench或者工程源文件的语法错误,或者文件名错误等等原因导致ModelSim编译没有通过

解决方式:需要依次修改处理掉其他错误后才能有效解决

错误编码 关键词failed to find design unit

错误提示:Error:D/Microsemi/Libero_SoC_v11.8/Modelsim/win32acoem/vlog failed.

错误原因:由于TestBench或者工程源文件的语法错误导致ModelSim编译没有通过

解决方式:按照上面的错误提示进行修改即可,如下图中的错误vlog-2388意思是变量重复定义

 

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vivado 2019.2中联合ModelSim进行仿真,你可以按照以下步骤进行操作: 1. 打开Vivado软件,并打开你需要进行仿真的工程。 2. 在Vivado界面的顶部菜单栏中,点击"Tools",然后选择"Settings"。 3. 在弹出的对话框中,选择"Simulation"选项卡。 4. 在"Simulation Language"下拉菜单中,选择"ModelSim"作为你的仿真工具。 5. 在"Simulation Top"框中,指定你的顶层文件。这是你设计的主要模块或顶层实体。 6. 如果你之前已经编译了库文件,可以在"Compiled Library"框中指定库文件的路径。 7. 点击"Apply"按钮应用设置,然后点击"OK"按钮保存设置。 8. 现在你可以在Vivado中使用ModelSim进行仿真了。你可以在仿真窗口中点击"SIMULATION",然后选择"Run Behavioral Simulation"来启动仿真。 请注意,这些步骤是基于Vivado 2019.2版本的操作,如果你使用的是其他版本,请参考相应版本的用户手册或文档进行操作。引用提供了关于Vivado和ModelSim联合仿真的简单介绍,如果你需要更多帮助,可以参考该文档。引用也提到了使用ModelSim进行仿真的优势和流程。123 #### 引用[.reference_title] - *1* *3* [Vivado2020.2 联合 Modelsim2019.2进行仿真](https://blog.csdn.net/jh323410/article/details/120340318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [Vivado关联Modelsim进行仿真](https://blog.csdn.net/weixin_42837669/article/details/107829499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值