热度 10| |||
SV和UVM是什么关系?
SV是一门语言,继承了许多C++的特性。UVM是一门方法学,科学合理的指导验证人员高效,快速的搭建验证平台,SV 是支撑UVM 方法学的语言(大致可以这样理解UVM的各种基类,函数就是SV写的库函数)。类比一下,如果把搭建验证环境类比为盖房子,UVM决定搭建一个两室两厅一厨一卫的房子, SV则提供水泥,沙子,混凝土等原材料。
UVM使用SV面向对象特性给自己建立了强大的库函数,基类。这就决定了验证人员无需从零开始,有人可能会说,我拿到一个要验证模块除了sepc就一无所有,这还不算从零开始?不使用UVM那应该就是从零开始,一旦使用,UVM则是“润物细无声”,想想看,生成的验证组件时的继承,各组件之间的配合关系,phase机制对环境运行的潜在控制,封装好的打印函数直接使用等都是UVM已经做好的,验证人员直接使用就行。
UVM方法学是透过验证现象看验证平台需求本质,把验证环境进行拆解,时序化,模块化,可继承而且非常的灵活多变。同一个模块搭建的验证平台和验证人员的验证方案,实现强相关。夸张点说就是“一万个验证人员,就有一万种验证平台”
《UVM 实战》这本书非常好,里面的有些技术类比及其形象,每次看都能有新的收获。
以上仅是本人浅薄的观点,如有错误请忽略。