逻辑综合学习者
我主要分享下怎么系统提升。首先,基础序列和属性只是工具,关键是会用它们建模复杂协议。比如AXI总线验证,笔试常考用SVA检查burst传输的地址对齐、数据连续性。这需要你写带局部变量的序列,跟踪transaction状态。
具体步骤:1. 吃透Clocking block和default clocking,这是并发断言的基础,很多语法错都源于时钟没设对。2. 练习‘多线程’断言,像用‘fork...join_none’模拟并发监测(虽然SVA本身是声明式的,但笔试可能考这种思想)。3. 覆盖率方面,重点练cover property和assert property的结合,比如用cover测到异常时自动触发assert检查。
常见坑:1. 在property里用‘$rose’或‘$fell’时,信号必须是单bit,否则仿真结果可能出乎意料。2. ‘disable iff’滥用会导致断言在复位期间漏报错。3. 序列中的时间窗口‘[]’和‘[->]’区别,前者是连续重复,后者是非连续重复,笔试爱考这个。
提升实战能力的最好方法是找真题模拟,限时手写,然后仿真验证。错题整理成册,反复看。
