论文部分内容阅读
在高性能计算应用需求的递增与IC生产制造技术进步的双重推动下,SoC在结构上也从单核向多核发生转变,与之相伴的是功能验证的重要性和困难度也越来越高。实际上多核SoC在结构上具备非常好的规律性,利用这些规律能够很好地提高功能验证的效率。本文基于中国科学院微电子研究所自主研发的IME-Diamond多核SoC,研究了利用图论模型来提高多核SoC功能验证效率的关键技术。以下是本文的主要贡献与创新点: 1.针对静态功能验证平台,提出了基于标记有向图的3层验证平台技术,实现验证资源的充分复用,减少了验证平台搭建成本。该方法首先总结了多核SoC普适的结构特点,然后利用标记有向图(Labeled Directed Graph,LDG)进行了抽象建模,以此导出3层的验证平台框架:总线验证IP(Bus Verification-IP,BVIP)、模块验证平台(Module Verification Platform,MVP)和系统验证平台(System Verification Platform,SVP)。其中最底层BVIP基于UVM框架,然后每个上层VP都是通过复用底层VP资源而实现。实际IME-Diamond多核SoC核心数据通路系统的验证平台搭建结果表明,相对传统扁平化平台,该技术能够大幅提高验证资源复用度,将平台搭建的时间和空间成本分别减少54%和58%。 2.针对多核SoC特有的“多核总线互联”、“多核DMA”及“多核Cache一致性”三大关键功能模块的激励空间,提出了基于有向二分图的抽象激励模型,成功地将原本扁平无序的激励空间转换成层次有序的结构化树状空间。首先总结了三大模块各自的功能结构特点,然后基于这些特点和LDG模型再分别用单像二分子图、双像二分子图和的多像二分子图进行抽象激励建模,并采用等价类划分的思想将各自原本扁平化的激励空间转换成了抽象的激励空间树ISST(总线互联的3层BISST、多核DMA的3层DISST和Cache一致性的4层SISST),为后续结构化激励生成提供了基础。 3.针对激励空间树ISST,提出了基于SystemVerilog中多维关联数组的优化存储结构以及两种优化的激励空间树遍历算法ODFT和OBFT。相对传统链表式存储结构,关联数组结构能够消除非叶子节点的冗余存储。基于数组索引遍历的ODFT和OBFT能避免链表存储中的链式间接访问的弊端,加快节点的遍历速度。实际IME-Diamond三大关键模块激励空间树(BISST、DISST和SISST)存储遍历结果表明,相对传统链表式存储,多维关联数组能够将存储空间平均减少80%;相对传统基于链表的DFT,ODFT能够将节点遍历速度平均提高74.5%;相对传统BFT,OBFT能够将节点遍历速度平均提高66%; 4.针对激励生成算法,提出了统一的基于激励空间树遍历的结构化激励生成算法。首先采用前述两种树遍历算法ODFT或OBFT进行激励空间树的遍历,然后通过Sti(LeafNode)函数将叶子节点转换成每个模块各自的实际激励。实际IME-Diamond三大关键功能模块(BIU、DMA和Cache一致性)验证结果表明,相对传统随机激励算法,结构化激励算法能消除冗余,行覆盖率收敛时三个模块的激励数目分别平均减少33.6%、30.4%和10%。