FPGA入门生
从功能验证完整性的角度补充几点。
评估VIP时,要像对待一个设计IP一样去验证它。问供应商要他们的验证计划(verification plan)和覆盖率报告。看看他们对哪些场景做了验证,覆盖点是什么。这能判断其质量。
关注VIP的断言(assertion)和功能覆盖(functional coverage)模型。好的VIP会内置大量协议检查断言,能帮你们在集成时快速发现设计问题。同时,它提供的覆盖模型应该能方便地集成到你们的覆盖收集流程中。
注意VIP的可观测性(observability)。它内部状态是否容易监控?能否方便地提取事务(transaction)信息用于记分板(scoreboard)或参考模型(reference model)?
常见坑:
1. VIP的行为与协议标准存在细微偏差,但在特定条件下才触发,很难复现。
2. VIP的复位(reset)行为、时钟(clock)域处理与你们的设计不匹配,导致集成后出现亚稳态等问题。
3. 多实例(multi-instance)支持不好,当你们需要例化多个VIP(如多个DDR通道)时,可能出问题。
建议在评估阶段就设计一些边界案例(corner case)测试,专门去‘敲打’VIP,看它是否坚固可靠。
