|
不好意思,这么久才给你回答,因为一直在外出差。 验证方法学并没有指定语言,只要你能实现它的思想就可以,只是用不同的语言实现的难易程度不一样,同时也与你自己对语言的熟悉程度有关,用TCL当然也是可以实现。 我有很多客户也是用tcl再做,也很灵活。 未来验证的走向肯定是往ESL方向,不但提高验证的抽象层次,但随着设计抽象层次的提高,验证也会有很大的变化。 《write Testbenchs》是本很好的入门级书,但我还没有看到它的中译本,所以对你所提到的几个术语不是很懂!不过对照以后就明白了! item coverage(项目覆盖):它就是指我们要覆盖的一些标量值,比如,数据值,包长以及对包的操作数的遍历等。 cross coverage(交叉覆盖):它是描述几个标量之间的关系的,比如,在这个地址时,它的值是多少?或者在加操作时,FIFO是否会满等? Transition coverage(转移覆盖):它是描述不同时间点的相互关系。它与cross的差别是,cross是同一时间点,不同标量的关系,而它是不同时间点同一标量的关系。 当然它也会包含item coverage。 至于断言验证,其实很早就有,只是大家用的不是很好,花了很大的resource,但feedback不是很好,就省略了! 断言它是一直白盒测试,可以写在你的source code里,也可以放在外面,它需要对Spec比较了解,对于block级的,一般是Design来完成,system级的 是由Verification来做。Assertion是反证法。 有一本《Assertion -Based verification》 written by Harry D. Foster 很好! 另外,现在市面上有本中译本描述sva的也不错。你可以参考! 谢谢!
|