基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc

上传人:滴答 文档编号:1743379 上传时间:2019-03-14 格式:DOC 页数:51 大小:4.30MB
下载 相关 举报
基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc_第1页
第1页 / 共51页
基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc_第2页
第2页 / 共51页
基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc_第3页
第3页 / 共51页
基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc_第4页
第4页 / 共51页
基于Doxygen的设计验证文档自动化生成系统——硕士学位论文.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、学校代码: 分类号: 密 级: UDC: 学 号: 基于 Doxygen 的设计验证文档自动化生成系统研究生姓名: 导 师 姓 名: 申请学位类别 工程硕士 学位授予单位 东 南 大 学 工程领域名称 软件工程 论文答辩日期 20 年 月 日 研究方向 学位授予日期 20 年 月 日 答辩委员会主席 评 阅 人 年 月 日工 程 硕 士 学 位 论 文基于LotusDominoOA系统的研究与开发 孙素燕 东南大学东南大学硕士学位论文摘要关键字: 东南大学硕士学位论文AbstractKeywords:东南大学硕士学位论文东南大学硕士学位论文目录摘要 .1第一章 绪论 .61.1 课题来源 .6

2、1.2 课题背景 .61.3 国内外研究现状 .71.4 发展动态 .81.5 本文主要的研究工作 .81.6 论文的章节安排 .9第二章 系统相关技术分析 .102.1 Systemverilog 语言和相关技术背景 .102.1.1 Verilog HDL 语言简介 12 .102.1.2 VHDL 语言简介 24 .112.1.3 Verilog HDL 和 VHDL 的对比 .132.1.4 Systemverilog 语言简介 .142.1.5 Systemverilog 和 C+ 算法模型的转换 .142.2 Doxygen 简介 .142.3 本章小结 .16第三章 系统总体设计

3、与实现 .173.1 系统需求分析 .173.2 系统结构及功能 .173.3 系统的功能实现 .183.3.1 Doxygen 的下载、安装 .183.3.2 Doxygen 目录下内容简介 .193.3.3 生成 Doxygen 配置文件 .193.3.4 配置文件介绍 .203.3.5 修改配置文件 .213.3.6 Doxygen 中的过滤器简介 .223.3.7 本项目中过滤器的实现 .23第四章 Systemverilog 语言向 C+语言转换设计 .244.1 编译器原理简介 .244.2 本项目中编译器模型的搭建 .264.3 Systemverilog 语言和 C+语言的匹配

4、 .264.3.1 Systemverilog 语言中的主要语法项目及结构概念 .264.3.2 C+语言中的主要语法项目及结构概念 .284.3.3 Systemverilog 语言和 C+语言主要语法及结构概念的匹配 .284.4 Systemverilog 语言向 C+语言的转换 .304.4.1 main 函数模块 .314.4.2 预处理模块 .314.4.3 字符读取存储模块 .344.4.4 字符处理模块 .35东南大学硕士学位论文4.4.5 字符还原保存模块 .414.5 本章小结 .41第五章 系统测试结果 .425.1 测试概述 .425.2 本项目测试 .425.2.1

5、注释及 debug 语句测试 .425.2.2 利用 gcc/gdb 进行编译调试 .445.3 本章小结 .45第六章 总结 .466.1 论文总结 .466.2 主要贡献 .466.3 技术展望 .46致谢 .47参考文献 .48作者简介(包括论文和成果清单) .错误!未定义书签。东南大学硕士学位论文第一章 绪论1.1 课题来源本课题来源于飞思卡尔半导体(苏州)有限公司的验证方法学 SVBCL 系统开发。SVBCL 即 Systemverilog Based class library,是飞思卡尔公司内部开发的一套基于 Systemverilog 的验证语言,用于集成电路前端测试平台(te

6、stbench)搭建和(IP)验证的方法学。该系统为飞思卡尔苏州分公司流程及方法学部门 2011/2012 年度重点研究课题。飞思卡尔半导体是全球领先的半导体公司,为汽车、消费、工业、网络和无线市场设计并制造嵌入式半导体产品。飞思卡尔中国是全球市场上举足轻重的半导体产品供应商,其利用先进技术开发制造的各种产品遍及集成电路产业的所有领域,包括集成电路研究和开发、软件开发、集成电路设计和集成电路制造等等。2004 年 5 月 2 日,作为摩托罗拉半导体业务重组的一部分,飞思卡尔中国开始经营成立飞思卡尔公司继承摩托罗拉所有的半导体相关业务。目前飞思卡尔成为中国最优秀的半导体研发和制造中心,利用高新技

7、术从事与半导体有关的软件开发和高级集成电路研发和设计,以及在中国出售半导体产品。苏州分公司主要进行微处理器解决方案方面的研究以及集成电路设计中流程及方法学方面的研究。1.2 课题背景文档(document)也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被人和计算机阅读。它和计算机程序共同构成了能完成特定功能的计算机软件(有人把源程序也当作文档的一部分) 。众所周知,硬件产品和产品资料在整个生产过程中都是有形可见的,软件生产则有很大不同,文档本身就是软件产品,没有文档的软件,不称其为软件,更谈不到软件产品。软件文档的编制(Documentation) 在软件开发工作中占有

8、突出的地位和相当的工作量。高效率,高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用软件,以及对充分发挥软件产品的效益有着重要意义。文档在软件开发人员,软件管理人员,维护人员,用户以及计算机之间起到了桥梁作用。软件开发人员在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的。软件开发过程中开发人员需制东南大学硕士学位论文定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。软件开发人员需为用户了解软件的使用,操作和维护开发详细的资料,这些全都是文档。然而,

9、在实际工作中,文档在编制和使用中存在着许多问题,有待于解决。文档开发工作枯燥并繁琐,所以开发人员普遍对编制文档不感兴趣。从用户方面看,他们又常常抱怨:文档售价太高,文档不够完整,文档编写得不好,文档已经陈旧或是文档太多,难于使用等等。 同时,随着集成电路领域的快速发展,各种新技术被广泛应用,低功耗设计,纳米技术,高频超大规模多核集成电路被更多的提上日程,随着芯片复杂度的增加,对应的设计代码和验证方法更加复杂。以往手动编写文档的方式成本高并且效率低下,这使得对设计文档和验证文档生成自动化的需求日益突出。1.3 国内外研究现状技术文档在现代工程项目中的重要性,不言而喻。因此,众多世界知名软件公司都

10、推出了基于自身技术平台,适用于自己公司开发语言的文档生成工具,比如微软公司(Microsoft)的 Sandcastle, Sun 公司(已被甲骨文 Oracle 公司收购)的 javadoc,以及众多的针对其他语言的开源文档生成工具,比如针对Python 的 Sphinx 和 Epydoc,针对 Ruby 编程语言的 YARD 等等。微软公司的 Sandcastle 是一个管理类库的文档编译器。是用于编译发布组件信息的一个工具,这个工具通过反射和 Xslt 技术,可以从 dll 文件及其 xml注释得到一个完整的帮助文档,格式可以是 Html 或 CHM 甚至是任何自定义的格式,这种文档比难

11、以解读的 XML 更易于理解。 Sandcastle 与.NET Framework 2.0 和.NET Compact Framework 组合使用。微软称它在内部使用 Sandcastle 创建.NET Framework 文档。Sandcastle 中共有三个组件:MrefBuilder、Build Assembler 和 XslTransform。这些工具使用编译汇编代码时生成的输出结果,包括 DLL 文件以及 XML 注释文件。MrefBuilder 反射一个项目的汇编代码并生成一个输出文件。MrefBuilder 是一个随 Sandcastle 安装的命令行工具。它生成的输出文件通

12、过 XslTransform 命令行工具转换成一个叫做 reflection.xml 的文件。reflection.xml 文件包含所有文档数据,但不提供显示细节。 MrefBuilder 完成工作后,立即由 Build Assembler 接手处理。Build Assembler 可由命令行工具东南大学硕士学位论文BuildAssembler 启动。它利用由 MrefBuilder 生成的数据和任何代码注释,生成按逻辑分组的 HTML 文件。HTML Help Compiler 再利用这些 HTML 文件生成最终结果。Javadoc 是 Sun 公司提供的一种技术,它从程序源代码中抽取类、方

13、法、成员等注释形成一个和源代码配套的 API 帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过 Javadoc 就可以同时形成程序的开发文档了。JBuilder 提供了多项对 Javadoc 支持的功能,可以通过向导在工程窗格的树中创建 Javadoc 的节点,通过节点的菜单命名创建工程的Javadoc 文档,可以通过诱导的方式录入 Javadoc 的标签,检验注释是否和源代码相匹配等。Sandcastle、Javadoc 等工具全都是针对特定语言的代码生成工具,缺乏对其他语言的支持;同时由于其封闭性,用户无法对其进行二次开发以适合某些特定的语言环境。1.4

14、发展动态目前计算机产业有一个发展趋势是开源化和整合化。比如基于开源的Linux 操作系统在移动领域的应用已日趋广泛,又或者一个文字处理软件整合了对多种不同文档格式的支持。在技术文档生成领域,同样适用这个发展趋势。Doxygen 作为技术文档生成领域的重要产品,正是代表了计算机产业的这种发展趋势。它本身是一种开源跨平台的,以简明风格描述的文档系统,完全支持 C、C+、Java、Objective-C 和 IDL 语言,部分支持 PHP、C#。更重要的是,Doxygen 提供了过滤器功能,支持对第三方编写的过滤器的输出进行文档生成,这就大大扩展了 Doxygen 的灵活型,为它对更多语言的支持提供

15、了方便可行的路径。在未来 35 年内,对某个文档生成工具的兼容性开发,必将成为文档生成工具的发展趋势,同时,兼容性强,可开发性灵活的文档生成工具,一定会在文档生成领域,占据相当的市场份额,成为该领域强劲的领导者。1.5 本文主要的研究工作本课题以 Doxygen 和 Systemverilog 为主要研究对象,在对 Doxygen 的使用方法、过滤器制定规则, Systemverilog 语法结构和 C+语言语法结构深入研东南大学硕士学位论文究的基础上,设计了一套可支持更广泛编程语言的文档自动化生成系统。该系统集成了 Systemverilog、 C、C+等开发语言的文档自动生成等功能,可满足

16、设计文档和验证文档自动生成的需求,在完善代码转换程序的基础上,提高飞思卡尔内部文档编写的工作效率和代码精确度,增强企业的验证自动化能力,也有助于加速验证流程,使其早日进入一个零故障时代。该系统的核心组件为使用 C 语言编写的可适用于 Doxygen 的过滤器。该过滤器完美实现了从Systemverilog 语言到 C+语言的语法转换,从而使 Doxygen 可以利用该过滤器的输出来自动生成软件文档。1.6 论文的章节安排论文的结构安排如下:第一章 “绪论”,简单介绍了文档生成系统及其重要性,分析了相关技术的国内外研究现状、发展动态,并概要性的讲述了本文档主要研究内容。第二章 “系统相关技术分析”,全面介绍了 Systemverilog 语言、C+语言的特点,已经 Doxygen 工具的相关知识。第三章 “系统总体设计与实现”,分析了用户需求,描述了整个系统的总体设计和具体实现方法。第四章 “ Systemverilog 语言向 C+语言转换过滤器的设计 ”,详细描述了本设计核心组件语言转换过滤器的设计。第五章 “系统测试结果”,介绍了软件测试的几种方法,并对整个系统的测试进行了描述,第六章 “论文总结 ”, 对整个设计进行分析、总结,并提出未来发展方向

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。