芯片设计预备役
轻量级的话,可以看看VUnit的Python接口(虽然VUnit本身是VHDL/SystemVerilog的),它支持用Python做验证。或者自己搭一个简单的框架:用logging管理日志,用unittest或pytest组织测试用例,参考模型就用普通Python类实现。比对方法上,对于非数字信号(比如状态机输出),可以用字典映射预期值,然后用assert直接比。关键是要把测试向量和模型参数化,比如用JSON或YAML文件配置,这样改测试不用动代码。
维护性方面,一定要写文档说明模型的算法假设和接口。另外,建议加一个随机测试生成和自检循环,用模型自己验证自己的一致性(比如用对称操作),能提前发现模型自己的bug。别让参考模型变得和DUT一样复杂,那就本末倒置了。
