lcytms 发表于 2017-11-5 09:58:55

SoC功能验证自动化系统的设计与实现

本帖最后由 lcytms 于 2017-11-5 10:02 编辑

SoC功能验证自动化系统的设计与实现

作 者: 周萌
导 师: 刘声雷
学 校: 合肥工业大学
专 业: 微电子学与固体电子学
关键词: SoC 功能验证 测试平台 事务验证模型
分类号: TN402
类 型: 硕士论文
年 份: 2004年


内容摘要

验证(Verification)一直是芯片设计领域中最困难和最具挑战性的课题之一,它是芯片设计过程中发现概念上、功能上或是实现上的错误的唯一手段。
从设计开始到设计综合、系统软件、逐步求精和调试等阶段,验证是贯穿芯片设计全流程的重要组成部分,而不是只在设计完成后才考虑的事情。
大量的统计表明,验证工作约占总设计工作量的50%~80%。
近几年来随着专用集成电路(ASIC)和系统芯片(SoC)的复杂度的不断提高,以及来自面市时间的巨大压力,芯片验证,尤其是功能验证正日益成为电子产品开发和设计的“瓶颈”。
同时在SoC设计中,IP重用设计方法学和大量新的设计技术的采用,使得产品设计和产品功能验证之间出现了生产率的“剪刀差”,而解决方法就是在功能验证中引入新的验证方法学和基于新的方法学上的验证技术。
大量实践证明,基于事务的验证重用方法学是提高功能验证效率的最有效的方法之一。
本论文在该方法学基础上,完成了一个SoC功能验证自动化系统的设计与实现,主要工作如下:
1.研究了现有的功能验证工具,提出了一个层次化的验证系统结构,该结构具有较好的重用性,更容易实现自动化流程;
2.在该体系结构下,研究了验证工具的集成、设计数据的抽象和自动化流程的实现等问题;
3.作为对提出的体系结构的实践,在UNIX平台下,用Verilog和C实现了该体系,并应用于MCU的功能验证中;
4.讨论了功能验证平台中总线功能模型(Bus Function Model,BFM)和总线监视器(Bus Monitor)的设计方法,给出了可重用设计的规则;
本论文建立的SoC功能验证系统结构,可以应用于较大规模的SoC的系统级、寄存器传输级和门级的验证中,通过本课题研究,为国内SoC功能验证积累经验,为国家超大集成电路的发展奠定一个坚实的基础。

lcytms 发表于 2017-11-5 10:00:20

全文目录

第一章 绪论14-24
1.1 集成电路的发展14
1.2 IC设计技术与验证技术发展14-18
    1.2.1 手工设计阶段15
    1.2.2 计算机辅助设计阶段(CAD)15-16
    1.2.3 计算机辅助工程阶段(CAE)16
    1.2.4 电子系统设计自动化(ESDA)16-18
1.3 SoC和功能验证的挑战18-21
1.4 基于事务的验证重用方法学21-23
1.5 论文的主要研究内容及章节安排23-24
第二章 SoC功能验证方法学24-38
2.1 典型的SoC系统24-25
2.2 SoC功能验证方法25-27
2.3 可重用功能验证平台体系结构27-32
    2.3.1 基于事务验证模型的验证平台体系结构28-30
    2.3.2 软件驱动的功能验证30-31
    2.3.3 硬件仿真平台31-32
2.4 验证平台的重用32-33
2.5 验证语言(Verification Languages)和验证解决方案33-38
    2.5.1 Synopsys的Vera34-35
    2.5.2 Verisity的Specman35-36
    2.5.3 Avery的TestWizard36-37
    2.5.4 三种验证解决方案的分析37-38
第三章 SoC功能验证系统38-73
3.1 引言38
3.2 VAS系统的顶层设计38-44
    3.2.1 VAS系统的总体考虑38-41
    3.2.2 验证系统的层次划分41-42
    3.2.3 验证系统的可重用性考虑42-44
3.3 描述层的设计44-60
    3.3.1 功能验证计划44
    3.3.2 描述层的体系结构44-45
    3.3.3 总线事务命令45-54
      3.3.3.1 总线事务概念45-47
      3.3.3.2 总线事务命令的设计原则47-48
      3.3.3.3 总线事务命令的定义48-52
      3.3.3.4 利用总线事务命令编写事务级激励52-54
    3.3.4 系统描述符54-59
      3.3.4.1 系统描述符和系统配置文件的概念54
      3.3.4.2 系统描述符的设计原则54-55
      3.3.4.3 系统描述符的定义55-58
      3.3.4.4 系统配置文件58-59
    3.3.5 回归测试控制59
    3.3.6 描述层设计的总结59-60
3.4 逻辑层的设计60-64
    3.4.1 回归测试管理程序60-61
    3.4.2 测试编译程序61-62
    3.4.3 分析程序和生成程序62-63
    3.4.4 仿真控制程序63
    3.4.5 检查程序63
    3.4.6 逻辑层设计的总结63-64
3.5 接口层的定义64-72
    3.5.1 数据接口的概念64
    3.5.2 功能验证运行环境的分析64-66
    3.5.3 数据接口的设计66-70
    3.5.4 测试平台接口70-71
    3.5.5 工具接口定义71-72
3.6 物理层72
3.7 本章小结72-73
第四章 验证系统的实现73-97
4.1 物理层的实现73-84
    4.1.1 总线功能模型设计的研究74-80
      4.1.1.1 基于任务的BFM设计74-76
      4.1.1.2 基于状态机的BFM设计76-78
      4.1.1.3 实验及性能分析78-79
      4.1.1.4 总线功能模型的实现79-80
    4.1.2 总线监视器的设计80-84
      4.1.2.1 Monitor采样模块的设计81-82
      4.1.2.2 信号转换模块的设计82-84
      4.1.2.3 Monitor的可重用性设计规则84
4.2 接口层的实现84-88
    4.2.1 实现的基础85
    4.2.2 测试平台模板的设计85-88
4.3 逻辑层的实现88-90
    4.3.1 生成程序的设计88-89
    4.3.2 工具接口的生成89-90
4.4 系统的组织结构90-91
4.5 功能验证实验91-96
    4.5.1 编写事务级测试向量92-93
    4.5.2 编写系统配置文件93
    4.5.3 运行测试向量93-94
    4.5.4 运行结果的分析94-96
4.6 本章小结96-97
第五章 结论与展望97-99
5.1 工作总结97-98
5.2 进一步的工作98-99
参考文献99-101

lcytms 发表于 2017-11-5 10:04:06


         p1

lcytms 发表于 2017-11-5 10:04:53


         p2

lcytms 发表于 2017-11-5 10:06:06


         p3

lcytms 发表于 2017-11-5 11:29:34


         p4

lcytms 发表于 2017-11-5 11:31:13


         p5

lcytms 发表于 2017-11-5 11:32:33


         p6

lcytms 发表于 2017-11-5 11:33:47


         p7

lcytms 发表于 2017-11-5 11:35:03


         p8
页: [1] 2
查看完整版本: SoC功能验证自动化系统的设计与实现