基于System Verilog的FC-AE接口芯片的功能验证

基于System Verilog的FC-AE接口芯片的功能验证

论文摘要

随着微电子技术的高速发展,电子系统变得越来越复杂,SoC(System-on-Chip)芯片的设计要求设计者必须同时考虑软、硬件两部分的开发以及多种IP核的集成。与此同时,SoC对验证的要求也越来越高。SystemVerilog是构建于Verilog-2001之上的一门语言。它大大提高了Verilog的代码效率,同时SystemVerilog在代码可读性和代码的可重用性方面也相对Verilog有很大的提高。SystemVerilog在这些方面的改进既为该语言使用现有的EDA工具、流程提供了便利,也为设计开发人员提供了非常高效的描述方法。SystemVerilog的最大优点在于开发受控的测试平台、产生带随机约束的激励、基于覆盖率的验证,以及基于断言的验证。本文基于某接口芯片的功能验证过程,研究了业界先进的SystemVerilog语言的验证技术。结合该接口芯片的协议和功能要求,采用相关的SystemVerilog验证技术设计搭建了完善的功能验证平台,完成了该接口芯片的功能验证。在针对该接口芯片的功能验证平台的设计中,使用了SystemVerilog的先进的验证方法来设计和优化验证平台。通过对这些验证技术的分析与实践,表明SystemVerilog拥有强大的系统级建模能力和高效验证的效率。本文首先详细分析介绍了SystemVerilog的各项先进的验证技术,包括接口、面向对象的编程、随机约束、线程间的通信、覆盖率等方面的知识。这些新的验证方法技术为当前超大规模、高复杂度的数字设计提供了简单、可重用、高效的验证手段。由于接口芯片的功能设计是本文的基本验证对象,而根据芯片Spec来搭建符合设计规范的验证平台是芯片功能验证的基本核心。因此,在SystemVerilog语言的介绍之后,本文详细了接口芯片的内部功能模块设计。这些模块包括:发送数据通道、接收数据通道、端口状态机和流量控制模块四大部分。最后,本文详细介绍了该接口芯片功能验证的SystemVerilog验证平台的搭建过程,并且详细介绍了SystemVerilog验证平台中各个类的设计及其在验证平台中的功能作用。最后利用该SystemVerilog验证平台高效正确的完成了接口芯片的验证过程。SystemVerilog验证技术是一门非常丰富且实用性非常大的验证手段,在未来复杂的电子系统、包含众多来自不同设计者IP的芯片验证中,SystemVerilog这一的先进的系统级验证语言将为之提供很多高效、便利的验证方法。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 选题依据
  • 1.1.1 光纤通道在航天航空环境的应用前景
  • 1.1.2 System Verilog 验证技术应用前景
  • 1.2 研究意义
  • 1.3 论文的主要工作
  • 1.4 本文的组织结构
  • 第二章 System Verilog 验证方法分析
  • 2.1 验证概述
  • 2.1.1 基本验证平台的功能
  • 2.1.2 验证计划
  • 2.1.3 定向测试
  • 2.2 SystemVerilog 语言简介
  • 2.3 SystemVerilog 验证方法学特征
  • 2.4 接口
  • 2.5 SystemVerilog 的面向对象的编程
  • 2.5.1 概述
  • 2.5.2 System Verilog 中OOP 术语
  • 2.5.3 蓝图(Blueprint)模式
  • 2.5.4 抽象类和纯虚方法
  • 2.5.5 回调
  • 2.6 随机约束
  • 2.6.1 一般的随机化方法
  • 2.7 线程和线程间的通信
  • 2.7.1 线程的使用
  • 2.7.2 System Veilog 中的事件
  • 2.7.3 旗语
  • 2.7.4 信箱
  • 2.8 功能覆盖率
  • 2.9 本章小结
  • 第三章 FC-AE 接口芯片功能设计分析
  • 3.1 光纤通道介绍
  • 3.2 FC-AE-1553 协议介绍
  • 3.3 FC-AE 接口芯片功能结构
  • 3.3.1 发送数据通道的实现
  • 3.3.2 接收数据通道的实现
  • 3.3.3 端口状态机
  • 3.3.4 流量控制模块
  • 3.4 本章总结
  • 第四章 System Verilog 验证平台的设计与搭建
  • 4.1 接口(Interface)的设计
  • 4.2 配置(Config)类的设计
  • 4.3 生成器(Generate)类的设计
  • 4.3.1 Generate 类执行流程
  • 4.3.2 Generate 类中的两个新类的定义
  • 4.4 驱动器(Drive)类的设计
  • 4.4.1 数据帧发送到缓存
  • 4.4.2 控制寄存器的设置
  • 4.4.3 Drive 类的回调类
  • 4.5 监视器(Monitor)类的设计
  • 4.5.1 Monitor 类的执行流程
  • 4.5.2 Monitor 类的回调类
  • 4.6 记分板(Scoreboard)类的设计
  • 4.7 环境(Environment)类的设计
  • 4.8 测试程序块(Test program)
  • 4.9 本章总结
  • 第五章 FC-AE 接口芯片功能验证
  • 5.1 FC-AE 接口芯片功能验证平台结构
  • 5.2 验证环境
  • 5.3 验证原始输出及处理
  • 5.4 FC-AE 接口芯片验证结果分析
  • 5.4.1 随机化配置结果
  • 5.4.2 数据帧的配置
  • 5.4.3 数据帧的生成
  • 5.4.4 帧控制寄存器信息的发送报告
  • 5.4.5 驱动器类驱动数据到接口的过程报告
  • 5.4.6 驱动器类驱动数据帧控制寄存器信息到接口
  • 5.4.7 Monito 类监视每帧数据的接收过程
  • 5.4.8 Scoreboard 类对数据的保存和对比
  • 5.4.9 验证总结报告
  • 5.4.10 FC-AE 接口芯片的端口波形
  • 5.4.11 覆盖率报告
  • 5.5 本章总结
  • 第六章 总结与展望
  • 致谢
  • 参考文献
  • 攻硕期间取得的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  

    基于System Verilog的FC-AE接口芯片的功能验证
    下载Doc文档

    猜你喜欢