cocotb的函数覆盖与约束随机化扩展

cocotb-coverage的Python项目详细描述


cocotb覆盖率

cocotb的函数覆盖和约束随机化扩展

Documentation StatusBuild StatusPyPI

此软件包允许您使用SystemVerilog或e中提供的CRV(约束随机验证)和MDV(度量驱动验证)方法中已知的约束随机化和功能覆盖技术。这样的扩展可以实现复杂项目的高级验证环境。

与硬件验证语言相比,实现的功能易于SystemVerilog用户理解,并提供了重要的扩展。

有一个选项可以将覆盖率数据库导出为可读的xml格式,并提供了一个允许合并此类文件的函数。

参考文献:

下面的简单示例:

# point represented by x and y coordinates in range (-10,10)classPoint(crv.Randomized):def__init__(self,x,y):crv.Randomized.__init__(self)self.x=xself.y=yself.add_rand("x",list(range(-10,10)))self.add_rand("y",list(range(-10,10)))# constraining the space so that x < yself.add_constraint(lambdax,y:x<y)...# create an arbitrary pointp=Point(0,0)for_inrange(10):# cover example arithmetic properties@CoverPoint("top.x_negative",xf=lambdapoint:point.x<0,bins=[True,False])@CoverPoint("top.y_negative",xf=lambdapoint:point.y<0,bins=[True,False])@CoverPoint("top.xy_equal",xf=lambdapoint:point.x==point.y,bins=[True,False])@CoverCross("top.cross",items=["top.x_negative","top.y_negative"])defplot_point(point):...p.randomize()# randomize objectplot_point(p)# call a function which will sample the coverage#export coverage to XMLcoverage_db.export_to_xml(xml_name="coverage.xml")

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?