码电路的小王
个人觉得,在FPGA里加可综合断言,主要目的不是替代仿真断言,而是提供一个‘运行时的健康监测’。比如监控AXI流接口的TVALID和TREADY信号,`assert (!(tvalid && !tready && tvalid_dly))` 防止数据丢失。
语法方面,`assert property` 太复杂,综合工具基本不理。就老老实实用 `assert` 关键字加一个布尔条件。
实用性分情况:如果你设计是那种一次性实验室验证,可能没必要。但如果是产品化、或者长期运行的系统,加一些核心断言就像加了保险丝,能快速发现硬件或配置问题。
资源消耗极小,几乎可忽略。调试帮助巨大,尤其是结合ILA。你可以把断言失败信号作为ILA的触发条件,一旦发生就能捕获前因后果的波形,比漫无目的抓波形高效多了。
最后建议,先从一两个最关键的地方开始尝试,熟悉工具流程后再推广。
