原创 OVL 使用说明 (Open Verification Library)

2010-10-10 11:12 7477 4 4 分类: FPGA/CPLD

2. OVL 官方网站: http://www.eda.org/ovl/  上面有简单的使用说明

OVL 是一个硬件验证的库,例如 现在想开发一个 AXI 的 master, ARM 提供了这个协议的基于 OVL 的验证代码, 也就是你这边 master 的信号全部接到ARM OVL 验证代码中去, 在 OVL 那个验证代码中,会看握手的时机对不对, 还有有些信号出现的时间点对不对等。具体的实现是: OVL 库提供接口,那边有一堆的 module 文件, 在OVL 验证文件中,针对具体的协议,调用这些接口,例如下面的文件:


 


assert_transition #(`OVL_ERROR, 4, `OVL_ASSERT, "hello, see me !! ") u_fsm_2 (tck, trst_n, state, `Test_Logic_Reset, `Capture_DR);



 

 


这个 assert_transition 是 OVL 库中的 moudule, 这个意思是: 从 Test_Logic_Reset 必须转到 Capture_DR, 这里:

 tck 时钟, trst_n 复位, state 测试状态机的状态, 后面2个是常数;

相当于在验证文件中,调用OVL库的 module 做检查, 类似 C语言的 assert 函数了,如果出错 会有一些信息打印出

说说怎么使用吧, modelsim 中建立自己的 work lib

在菜单 compile -> Compiler Options 里面针对自己的语言选,例如: Verilog 选项卡,加入如下的选项:

通过 Extension 加入:

+libext+.vlib

+libext+.v

通过 Macro 加入:

+define+OVL_ASSERT_ON

+define+OVL_MAX_REPORT_ERROR=2

通过include dir 加入:

+incdir+F:/Test/std_ovl

+incdir+F:/Test

通过 library search 加入:

-y F:/Test/std_ovl

本文中使用的 ver 2.5,  路径在 F:/Test/std_ovl

另外, 把 modelsim.ini 文件中:

; vopt flow
; Set to turn on automatic optimization of a design.
; Default is on
VoptFlow = 1          ; 改成0, 以免仿真的时候有些信号被优化掉了;

 that all~~ 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条