摘要: 1,每个sequence都有一个body任务。当一个sequence启动后,会自动执行sequence的body任务,所以在sequence的class中,一定要有一个名为body的task。 此外,如果一个sequence中,还有pre_body与post_body,则这两个task,会分别在bo 阅读全文
posted @ 2018-08-09 00:54 宙斯黄 阅读(4840) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-08-01 20:07 宙斯黄 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 一个类,只定义了而没有实例化,是没有任何意义的,但也有特殊情况,对于一个静态类,即其成员变量都是静态的,不实例化也可以正常使用; 类要想和DUT通信,不能在类里定义接口,会报错,只能在类里定义虚拟接口;若直接基于sv的测试平台中是在new函数中调用接口,在UVM中则通过uvm_config_db:: 阅读全文
posted @ 2018-01-21 22:38 宙斯黄 阅读(2025) 评论(0) 推荐(0) 编辑
摘要: 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。1.形参变量只有在被调用时才分配内存单元,在 阅读全文
posted @ 2018-01-12 16:12 宙斯黄 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 最近在项目中使用gvim打开一个文件,发现对某个变量不识别。 后来发现是gvim中对{$comm_ver},带花括号的变量不识别。 类似这样:parameter memory_spec = " ${comm_ver}/soc_ver/sim/xxxx.soma " ; 但是此变量可以被VCS仿真器识 阅读全文
posted @ 2018-01-12 00:13 宙斯黄 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 最近在项目中,发现验证环境中的顶层的program(一般将program作为验证环境的入口),都是automatic的。 其实Program默认是static的,那么为什么需要把验证环境做成automatic呢? 原因如下: 如果不加automatic,则program中的变量是static,也就是 阅读全文
posted @ 2018-01-09 10:13 宙斯黄 阅读(2387) 评论(0) 推荐(0) 编辑
摘要: 概述: FIFO是电路设计中非常重要的一个基本电路。一般的超大规模集成电路中,都会用到FIFO。所以,FIFO是每个SOC设计和验证工程师必须掌握的一种核心电路。 FIFO电路又分为异步FIFO和同步FIFO。 同步FIFO:读写时钟为同一个时钟的FIFO,即为同步FIFO。 异步FIFO:读写时钟 阅读全文
posted @ 2017-12-28 10:48 宙斯黄 阅读(2821) 评论(0) 推荐(0) 编辑
摘要: AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片内互联总线协议。 1995 - AMBA1.0 APB外设总线及ASB系统总线发布。 1999 - AMBA2.0 AHB系统总线发布,APB总线升级为同步总线。 2003 - AMBA3 阅读全文
posted @ 2017-12-27 17:55 宙斯黄 阅读(6400) 评论(0) 推荐(0) 编辑
摘要: 我们知道,verilog语法标准中是没有program的,program是systemverilog语法标准新增的内容。 那么,为什么要新增一个program呢?主要考量是基于电路的竞争与冒险。 为避免仿真和设计竞争问题(race condition),systemverilog中引入了progra 阅读全文
posted @ 2017-12-27 11:38 宙斯黄 阅读(3120) 评论(0) 推荐(0) 编辑
摘要: 随着IC设计复杂度的提高,模块间互联变得复杂,SV引入接口,代表一捆连线的结构。 Systemverilog语法标准,新引入一个重要的数据类型:interface。 interface主要作用有两个:一是简化模块之间的连接;二是实现类和模块之间的通信; 接口(interface)为硬件模块的端口提供 阅读全文
posted @ 2017-12-27 11:29 宙斯黄 阅读(11917) 评论(1) 推荐(3) 编辑