导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。
一、内容概述
Run仿真主要分为两部分:
- 第一步是编译,检查所有写的代码文件的语法错误,同时没有语法错误时,就会把这些代码链接起来,因为这些代码从结构上来见是分层次的,最终验证的话只有一个顶层top,其它的是不断封装和连接的。
- 第二步是运行仿真,真正的仿真就会去写很多的run,所谓run就是隔一个时间单位去做什么事情。第一步语法检查正确并不代表第二步运行仿真完全没有问题。以前写的simulate比较简单,可能就是一个initial块,一般有错也能跑出来。但是随着仿真复杂程度的增加,有很多线程可能是并行的,如果这些线程之前相互有一些等待,或者连接没有做好,顺序关系没做好时,就会导致simulate卡死。
本讲主要看一些常见的bug(根据log文件判断快速定位定位问题),从而掌握一些验证工程师必会的Debug技巧!