如何做FPGA验证

阅读: 评论:0

如何做FPGA验证
前言
自己是从2013年7 月份开始做关于FPGA 的验证工作,本文完成于14年的6月,写这个文档的目的主要是对将近一年的学习做一个总结,另外秉着互联网“我为人人人人为我”的精神,将自己学习过程中的收获和教训写出来和需要的人共享。
本文主要介绍了涉及FPGA验证的基本知识,包括了SystemVerilog语言、UVM(通用验证方法学)、Questasim软件以及批处理脚本共四部分内容,文章中对各个知识点讲解都比较泛,很多知识点仅仅是点到为止,需要查阅其他资料进行更进一步的学习。本文章主要是面向初次学习PFGA和IC验证的同学,通过本文章的阅读,能够对SV的基础知识、UVM的基本框架、Questasim的基本应用以及验证项目的基本流程有个大概的了解,结合网络上其他资料,能够快速入门PFGA验证。
网络上关于UVM和SV的资料推荐以下几个:
《UVM1.1应用指南及源码分析》张强
《UVM_CookBook_2013》
《SystemVerilog与功能验证》钟文枫
UVM的帮助文档
QuestaSim的帮助文档
郭乐2015年3月18于西安电子科技大学
致谢
时光荏苒、岁月如梭,转眼已到自己毕业的时间。回首自己将近三年的研究生学习生活,一路坎坎坷坷,幸而得到身边许多良师益友的关怀和指导、帮助和激励,使自己得以勤奋自勉,顺利完成学业。
在此成文之际,我首先向我的研究生导师张冰老师致以衷心的感谢。研究生期间张老师深厚的学术造诣、统揽全局的洞察能力、幽默乐观的生活态度和对技术进步的不懈追求拓宽了我的人生视野,照亮了我人生前行的道路。特别感谢项目组的张奭老师、潘伟涛老师,在完成验证项目期间,张奭老师和潘伟涛老师给予了详细的指导,并提出了许多宝贵的意见。
感谢北京大学光通信国家重点实验室给我提供宝贵的锻炼机会,正是因为有了在北大实习的经历,才有了本篇文章。感谢北京大学的张诚博士、赵辉博士、刘跃博士,吕毅和张平同学,感谢曾经并肩学习过的陈中强、彭露、刘春及张晋源同学,每次向你们咨询问题,你们都能知无不言、言无不尽,让我受益匪浅。
彭露、金淼、杜滨源也为本文做出贡献,在此一并感谢。
目录
第一章SystemVerilog语言 (1)
呼吸机管路
第一节C的编程风格 (1)
第二节面向对象的SV (3)
第三节独特的数组和队列 (4)
第四节DPI接口 (6)
第五节小结 (8)
第二章UVM介绍 (9)
第一节UVM基本架构和特点 (11)
第二节UVM中三个重要的概念 (17)
led显示屏制作第三节DUT和testbench的连接 (21)
第四节覆盖率简介 (23)
第五节UVM的report机制 (27)
第六节UVM库的编译 (38)
第七节小结 (39)
第三章仿真环境介绍 (41)
第一节Questasim软件 (41)
第二节Questasim的安装 (42)
第三节常用的几个命令 (43)
第四节Questasim中覆盖率统计 (51)
第五节Questasim中的Command Line Processor (53)
人体3d建模第六节小结 (57)
毒草解毒剂
第四章脚本语言 (58)
第一节批处理 (59)
第二节Tcl脚本语言 (64)
第三节小结 (65)
学习心得 (66)
第一章SystemVerilog语言
SystemVerilog是一种由Verilog发展而来的硬件描述、硬件验证统一语言。SystemVerilog的历史可以追溯到2002年,当时一个被称为“Superlog”的语言被捐赠给Accellera公司(Verilog的主要支持者)。而Synopsys公司捐赠的OpenVera 后来发展成为SystemVerilog中硬件验证语言子集。2005年,SystemVerilog获批成为电气电子工程师学会1800-2005标准。当时Verilog作为电气电子工程师学会1364-2005标准尚独立存在。2009年,SystemVerilog与的Verilog进行了合并,成为了新的电气电子工程师学会1800-2009标准,该版本的标准沿用至今。(来自wiki百科)
按照SystemVerilog 3.1a语言参考手册中的说法,SystemVerilog增强了语言描述的简洁性,同时又为SV使用现存的工具进入当前的硬件实现提供了一个简单的途径。这些增强特性还为被控的测试平台的开发、随机约束的测试平台的开发、覆盖驱动的验证以及基于断言的验证提供了广泛的支持。
巴氏杀菌锅
同样还有一门用于仿真的语言做SystemC,该语言类似于Verilog+C语言。SystemC语言是业界公认的最适合ESL设计的语言,更多用于SEL级别的IC设计。在验证方面,该语言更多用于建立reference model使用。
在建立reference model中也会使用到我们最常用的C语言,C语言因为其广泛的普及率、较高的执行效率以及较低的入门门槛,成为计算机行业的一门“万金油”语言。在还没有SV的概念的时候,为了和C语言之间相互调用,Verilog 就有了为了调用C语言编写的函数而定义的接口PLI,随后推出了它的第二代版本VPI,因此在SV中有类似的接口DPI,通过DPI、C函数和SV函数可以很容易的相互调用。
骑马机
本章主要介绍SystemVerilog中比较实用的特性。
第一节C的编程风格
SV将C语言中的大部分特性包含进去,包括了相当多的数据类型和操作符。
1. SystemVerilog支持C语言内建的数据类型。为了避免int和long数据类

本文发布于:2023-07-29 15:13:55,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/197343.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:验证   语言   C语言   硬件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图