vivado联合modelsim测试覆盖率

8 篇文章 0 订阅

(1)用vivado编译modelsim仿真库,并配置环境

         安装modelsim和vivado。点击vivado菜单栏中的tools,在下拉选项中选择compile simulation libraries。simulator选项选择:modelsim simulator。compile library location表示编译库存放的路径。simulator executable path:表示modelsim安装路径,即modelsim.exe所在的路径。如下所示:

根据计算机配置,编译时间大概在10分钟左右。

(2)配置modelsim.ini

        编译完modelsim的仿真库后,在编译库路径下找到modelsim.ini文件,将所有内容拷贝。再在modelsim安装目录下找到modelsim.ini文件,去掉只读属性后,将编译库路径下的modelsim.ini文件拷贝过来,保存后再选中只读属性。

                                                        编译库路径下的modelsim.ini文件

                                                    modelsim安装目录下的modelsim.ini文件

        如下所示,将编译库路径下modelsim.ini文件中的内容拷贝到modelsim安装目录下的modelsim.ini文件中,注意在vital2000 = $MODEL_TECH/../vital2000语句后开始粘贴。

(3)配置vivado环境

        这一步将vivado与modelsim联合起来。点击vivado菜单栏中的tools,在下拉菜单中选择setting,target simulator选择modelsim simulator ,compile library location选择刚才编译库的路径。再点击apply,最后点击ok。

(4)在vivado中开始仿真

        在vivado中建立工程后,创建源文件以及tb文件,点击simulation—>run behavior simulation。如下图所示:这一步骤将打开modelsim。

(5)在modelsim中设置覆盖率选项 

       (方法一)

        在vivado中点击simulation 后,将自动打开modelsim界面。此时,在modelsim中的library、project、覆盖率coverage界面中都没有内容,这是因为vivado将工程创建在xil_defaultlib默认的库下,在modelsim命令窗口中会看到这条命令:        

        这条命令拷贝如下:

vsim -voptargs=""+acc"" -L blk_mem_gen_v8_4_2 -L xil_defaultlib -L 
fifo_generator_v13_2_3 -L xbip_utils_v3_0_9 -L c_reg_fd_v12_0_5 -L 
xbip_dsp48_wrapper_v3_0_4 -L xbip_pipe_v3_0_5 -L xbip_dsp48_addsub_v3_0_5 -L 
xbip_addsub_v3_0_5 -L c_addsub_v12_0_12 -L xbip_bram18k_v3_0_5 -L 
mult_gen_v12_0_14 -L axi_utils_v2_0_5 -L cordic_v6_0_14 -L unisims_ver -L 
unimacro_ver -L secureip -L xpm -lib xil_defaultlib xil_defaultlib.tb xil_defaultlib.glbl 

        将上述命令中-voptargs=""+acc""删掉,这个选项表示优化设计;然后在命令的最后加上覆盖率的选项:-coverage -novopt
        整个命令如下:

vsim  -L blk_mem_gen_v8_4_2 -L xil_defaultlib -L 
fifo_generator_v13_2_3 -L xbip_utils_v3_0_9 -L c_reg_fd_v12_0_5 -L 
xbip_dsp48_wrapper_v3_0_4 -L xbip_pipe_v3_0_5 -L xbip_dsp48_addsub_v3_0_5 -L 
xbip_addsub_v3_0_5 -L c_addsub_v12_0_12 -L xbip_bram18k_v3_0_5 -L 
mult_gen_v12_0_14 -L axi_utils_v2_0_5 -L cordic_v6_0_14 -L unisims_ver -L 
unimacro_ver -L secureip -L xpm -lib xil_defaultlib xil_defaultlib.tb xil_defaultlib.glbl 
-coverage -novopt

        在modelsim命令行窗口中敲入上面修改后的命令,将在modelsim的instance或者sim 窗口中显示各个模块实例的覆盖率。如下所示

        在Modelsim菜单栏中点击view—>coverage—>instance coverage ,即可看到各个模块实例的覆盖率情况,点击view—>coverage—>code coverage analysis即可看到每个实例的语句覆盖情况。

        (方法二)

        通过vivado打开modelsim后,显示的命令行如下所示:

vsim -voptargs=""+acc"" -L blk_mem_gen_v8_4_2 -L xil_defaultlib -L 
fifo_generator_v13_2_3 -L xbip_utils_v3_0_9 -L c_reg_fd_v12_0_5 -L 
xbip_dsp48_wrapper_v3_0_4 -L xbip_pipe_v3_0_5 -L xbip_dsp48_addsub_v3_0_5 -L 
xbip_addsub_v3_0_5 -L c_addsub_v12_0_12 -L xbip_bram18k_v3_0_5 -L 
mult_gen_v12_0_14 -L axi_utils_v2_0_5 -L cordic_v6_0_14 -L unisims_ver -L 
unimacro_ver -L secureip -L xpm -lib xil_defaultlib xil_defaultlib.tb xil_defaultlib.glbl 

(1)删除第1行中的-voptargs=""+acc""
(2)将最后一行的 xil_defaultlib.tb删掉,再在最后一行添加如下命令:
 -coverage xil_defaultlib.tb -voptargs="+cover=bcesfx"。xil_defaultlib表示xilinx默认库,tb表示自己的顶层仿真模块名。

vsim  -L blk_mem_gen_v8_4_2 -L xil_defaultlib -L fifo_generator_v13_2_3 
-L xbip_utils_v3_0_9 -L c_reg_fd_v12_0_5 -L xbip_dsp48_wrapper_v3_0_4 
-L xbip_pipe_v3_0_5 -L xbip_dsp48_addsub_v3_0_5 -L xbip_addsub_v3_0_5 
-L c_addsub_v12_0_12 -L xbip_bram18k_v3_0_5 -L mult_gen_v12_0_14 
-L axi_utils_v2_0_5 -L cordic_v6_0_14 -L unisims_ver -L unimacro_ver 
-L secureip -L xpm -lib xil_defaultlib  xil_defaultlib.glbl 
-coverage xil_defaultlib.tb -voptargs="+cover=bcesfx"

(6)保存coverage

        保存覆盖率信息报告,在菜单栏中选择Tools-->Coverage Save-->保存为.ucdb文件格式。

(7)合并多个测试用例的覆盖率

        如果需要合并多个.ucdb文件,使用quit -sim退出仿真,点击菜单栏“File”—>“change dirctory”,切换到.ucdb保存的目录下(所有测试用例生成的ucdb文件放在同一目录下),在modelsim命令窗口使用“vcover merge  file_name.ucdb  *.ucdb”,*表示通配符。

  • 21
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
通过在Vivado平台中调用ModelSim,可以实现VivadoModelSim联合仿真。首先,将Vivado的库添加到ModelSim中,可以按照以下步骤进行操作。在ModelSim安装路径下找到modelsim.ini文件,并取消其只读属性,然后用记事本打开该文件。在文件中找到"modelsim_lib = $MODEL_TECH/../modelsim_lib"处,准备添加Vivado库的路径。 接下来,需要在Vivado进行设置,以使用ModelSim进行仿真。可以参考文档中的相关说明,其中介绍了如何在Vivado中设置和配置联合仿真。 通过这种联合仿真的方式,可以在Vivado中调用ModelSim进行仿真,从而获得更好的仿真体验和功能。希望这些信息对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vivado联合ModelSim仿真设置(附图步骤)](https://blog.csdn.net/yanchuan23/article/details/122512191)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [vivado联合modelsim仿真.docx](https://download.csdn.net/download/wenjia7803/16606186)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值