袁儒明,陈迎春,汪杨,陈绍辉
(合肥工业大学,安徽合肥,230009)
验证工作起始于设计规格书或者需求书。从架构的设计,行为级的系统建模到RTL建模的设计,甚至到最后的网表设计和后端的详细布局,验证工作贯穿在芯片设计的整个过程中[1]。因此,对硬件电路的仿真和验证就成为了影响项目进度的瓶颈,往往占整个IC开发周期70%左右的时间[2]。
传统的验证语言存在抽象建模能力不足,不易扩展和维护,缺少带约束的随机激励,仿真速度慢等缺点[3],已经远远不能满足当前验证的需要。UVM是Accellera公司于2011年推出的基于systemverilog语言的通用验证方法学,其主体来源为OVM,同时又采纳了Synopsys在VMM中的寄存器解决方案RAL[4]。UVM克服了OVM和VMM各自的缺点,成为目前最主流的验证方法学,指引了验证方法学的发展方向。
本文通过重用验证组件、继承验证场景和重用验证序列,实现了不同模块的功能验证,缩短了验证周期,提高了验证效率。
为了解决多个主设备同时竞争总线的控制权的问题,应当采用总线仲裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得了总线控制权的设备,才能开始传送数据。
本模块采用主设备控制模式,对总线有控制权,信息的传送是由主设备启动的,仲裁框图如图1所示。

图1 总线仲裁框图
工作流程:
(1)主设备发送请求信号;
(2)若多个主设备同时需要使用总线,总线控制器根据仲裁逻辑、判优按一定的优先等级顺序确定可以使用总线的主设备;……