基于web的asip集成开发环境_第1页
基于web的asip集成开发环境_第2页
基于web的asip集成开发环境_第3页
基于web的asip集成开发环境_第4页
基于web的asip集成开发环境_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉纺织大学武汉纺织大学 硕硕 士士 学学 位位 论论 文文 基于基于 Web 的的 ASIP 集成集成设计环设计环境研究境研究 作者姓名:作者姓名: 上上 官官 松松 指指导导教教师师: : 朱朱 勇勇 学科学科门类门类: : 工工 学学 专专 业业: : 物理物理电电子学子学 研究方向:研究方向: 嵌入式系嵌入式系统统及及应应用用 完成日期:完成日期: 二零一三年四月二零一三年四月 Wuhan Textile University M. E. Dissertation Research for Integrated Development Environment of ASIP based on Web By Directed by Professor March 2013 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。 除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律结果由本人承担。 学位论文作者签名: 签字日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解 武武汉纺织汉纺织大学大学 有关保留、使用学位论文的规定。特授权 武武汉纺织汉纺织大大 学学 可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手 段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。 (保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 导师签名: 签字日期: 年 月 日 签字日期: 年 月 日 论文题目:基于 Web 的 ASIP 集成设计环境研究 专业:物理电子学 硕士生:上官松 指导老师:朱勇 摘要摘要 专用指令集处理器(ASIP,application Specific instruction processor)设计 是多年来嵌入式系统研究的热点,融合了许多先进微处理器设计方法和技术,并可以 在满足功能的同时缩短嵌入式微处理的研发时间。当前 ASIP 设计研究进展诸如 ASIP 的设计方法方法很多,从理论研究到实际系统设计方法,对通用的 ASIP 设计开发平台 的设计尝试。如基于 Petri 网的 ASIP 系统设计,基于 UML/XML 的 ASIP 系统级设计、 基于 GEF 框架的 ASIP 集成开发环境 ,并通过实例对这些方法进行有效性和正确性的 尝试。 本文讨论了 ASIP 的研究情况、ASIP 开发工具研究现状,在原有研究的基础上,对 ASIP 的集成开发环境的设计进行了新的尝试,提出了基于 Web 的 ThinkPHP 框架的集成 设计环境的设计方法,采用 web 应用程序作为集成开发设计环境,方便开发者撇开传 统应用程序,通过移动设备方便地登录,并对开源系统进行在线设计。采 ThinkPHP 作 为框架结构,采用第三方 JS 库实现功能主界面;在目标板 linux 系统下部署数据库, 存储硬件逻辑模块 I/O、IP 核及芯片资料,采用第三方 JS 库实现数据库绑定及 CURD 操作、编辑总线、硬件模块的对象属性,包括模块 I/O 和芯片 PIN 的编辑;同时,采 用第三方 JS 库表现模块及总线连接,包括模块的空间集成特性和状态机的时间状态表 现特性。详细讲解了开源的硬件底层和操作系统及网络 IE 功能实现,简单地描述了 ADL 模型转换,代码映射、ADL 与 EDA 接口可执行流程。通过设计基于 Altera CycloneIV 的 FPGA 小系统版,调用开源 openrisc 软核的开发板移植 ubantu 系统,实 现以太网功能,先在 Windows 系统开发 ASIP 集成开发环境,然后在 linux 系统部署 web 应用程序来测试设计的有效性。 关键词:关键词:ASIP;ThinkPHP;第三方 JS 库;openrisc; 研究类型:研究类型:应用研究 Subject:Research for Integrated Development Environment of ASIP based on Web Specialty:Computer Application Technology Name: Instructor: ABSTRACT Specific instruction set processor (ASIP, application Specific instruction processor) design of embedded systems over the years a hot research incorporates many advanced microprocessor design methods and techniques, and can shorten the embedded microprocessor at the same time meet the functional development time. The current the ASIP design research progress such as ASIP design method are many, from theoretical research to practical system design methods, design of ASIP design and development platform for generic try. Such as the ASIP system design based on Petri nets, UML / XML-based the ASIP system-level design, integrated development environment based on the the GEF framework of ASIP, and through the example of these methods, the validity and accuracy of the attempt. This thesis, a detailed discussion of some of ASIP design methodology as well as the latest research developments, and its concrete realization of the the ASIP system-level design methods appropriate improvements proposed design method based on the integrated design environment of the of the Web ThinkPHP framework , web application as integrated development design environment, facilitate the development of the traditional applications aside, through mobile devices easily log online design and open source systems. The mining ThinkPHP as a frame structure, the use of third-party JS library function main interface; database, storage hardware logic module I / O, IP core and chip data set in the open source database end, the use of third-party JS library database binding and CURD operation the edit bus hardware module object properties, including the module I / O, and chip PIN editing; using third-party JS library performance modules and bus connections, including the integrated nature of space and time state of the state machine module performance characteristics. Explain in detail the open source hardware function of the underlying operating system and network IE, simply described the ADL model transformation, code mapping, ADL and EDA interface executable process. Through open source openrisc development board transplant ubantu system, Ethernet functionality, layout of the web application environment to test the effectiveness of the design of the system. Key words:ASIP ThinkPHP MiniUI OpenRisc Thesis: Applied Research 1 1 绪论绪论 1 1 1.1 选题背景.1 1.2 ASIP 研究意义 1 1.3 国内外研究现状及发展趋势 .3 1.4 研究目标及主要研究内容.3 1.5 论文组织.4 2 2 设计方法研究设计方法研究 5 5 2.1 嵌入式系统设计方法学 .5 2.2 ASIP 设计方法学 7 2.2.1 传统的 ASIP 设计方法 7 2.2.2 ASIP 行为级设计方法.8 2.2.3 ASIP 系统级设计方法.9 2.3 基于 Web 的 ASIP 系统级设计方法9 2.4 本章小结11 3 3 系统方案分析与设计系统方案分析与设计 1212 3.1 web 访问功能实现的系统分析 .12 3.1.1 需求分析 12 3.1.2 技术可行性分析 12 3.2 以太网硬件方案.13 3.3 以太网 MAC 控制器.13 3.4 本章小节14 4 4 开发环境开发环境 1515 4.1 ThinkPHP 框架 .15 4.2 第三方控件 MiniUI.19 4.3 本章小结21 5 5 系统设计关键技术系统设计关键技术 2222 5.1 第三方 JS 库22 5.2 ASIP 建模 .22 5.2.1 ASIP 的 UML 建模22 5.2.2 ASIP 的 模型存储.25 5.2.3 HDL 底层描述.27 5.3 模拟仿真29 5.3 BSP 网络驱动及硬件实现 29 5.3.1 以太网 MII 接口29 5.3.2 以太网控制器内部结构 .31 5.3.3 嵌入式 linux 介绍 .39 5.3.4 liunx 配置和启动 .40 5.3.5 集成以太网控制器 .42 5.5 MVC 设计模式 44 5.6 本章小结46 6 6 ASIPASIP 集成设计环境的软件实现集成设计环境的软件实现4747 6.1 界面功能实现47 6.2 ASIP 的 UML 模型实现 .50 6.3 ASIP 模型存储的实现 .51 6.4 模型数据加载52 6.5 ASIP ADL 模型映射的实现 .54 6.6 框架及功能集成56 6.7 本章小结59 7 7 结论结论 6060 7.1 本文工作总结60 7.2 未来展望60 致致 谢谢 6262 参考文献参考文献 6363 附录附录 6565 1 绪论 1.1 选题背景 嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用 而设计的专用计算机系统”,嵌入式系统是以应用为中心,以计算机技术为基础,软 硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计 算机系统。ASIP,Application Specific Instruction Set Processor(专用指令集 处理器)是一种新型的具有处理器结构的芯片,它为某个或某一类型应用而专门设计。 通过权衡速度、功耗、成本、灵活性等多个方面的设计约束,设计者可以定制 ASIP 达 到最好的平衡点,从而适应嵌入式系统的需要。 嵌入式系统通常可以分为硬件和软件两大部分,其中硬件部分以嵌入式处理器为 中心,配置存储器、I/O 设备、通讯模块等必要的外围硬件;软件部分包括设备驱动、 操作系统和应用程序等。随着开发对象复杂度的提高,系统的设计须由一个团队来分 工合作完成,开发形式为软硬件协同设计方式,使用 C/C+ 、ADL 等高级程序语言。 随着嵌入式应用的飞速发展,作为软硬件高度结合的嵌入式系统硬件环境之间差异逐 渐增大。当前以交叉开发方式为主,并过多的依赖于硬件平台和本地开发工具,再加 上软件的开发与硬件环境的构造的影响,导致定位存在错误,不能及时完成软件功能 调试和性能测试,软件质量低、开发进度慢,嵌入式系统的开发效率在很大程度上受 到开发工具的集成度和可用性的影响,促使了嵌入式系统开发工具的市场需求。同时, 立足于云计算的设计思路,方便开发者在浏览器端便可以轻松开发、调试和部署网络 应用程这种思想也在兴起。 1.2 ASIP 研究意义 随着嵌入式技术的发展以及芯片制作工艺技术的进步,在单个芯片上可以集成越 来越多的晶体管,片上系统 SoC(System-on-Chip)设计成为芯片设计的一个重要研究 领域。在整个 SoC 设计中,专用指令集处理器 ASIP(Application Specific Instruction Set Processor)1则是一个重要模块,它是一种新型的具有处理器结 构的芯片,具有可订制特性,它为某个或某一类型应用而专门设计,能够更高效的解 决嵌入式系统设计中的实际问题。如图1.1,ASIP 能在 SoC 系统中作为控制核或某些功 能模块。 近年来,ASIP 已渗透到计算机应用的更广泛的领域,许多公司都推出了 ASIP 处理 器产品,这些产品的特点都是在高可配置的处理器核基础上,能针对特定应用进行优 化,同时提供完备的开发工具的支持,如可重定向编译器、功能单元自动产生器等加 速开发过程。 设计者根据系统设计的速度、功耗、成本、灵活性等多个方面的设计约束,可以 定制 ASIP 达到最好的平衡点,从而适应嵌入式系统的需要,也正是由于自身设计采用 专门定制的方法,使其具有多方面权衡和可调整能力,与专用集成电路 ASIC 和通用处 理器 GPP 相比,ASIP 提供了 ASIC 所无法具有的灵活性和比 GPP 更好的性价比。 ASIP 处理器2的最主要的优点是面向某一个具体的应用,能够实现最优的系统平 衡(性能、功耗、成本等),灵活性主要体现在根据应用特征,能够对基准的处理器 进行适当的定制,去除某些无关的处理逻辑,并增加能有明显提高应用性能的特殊功 能单元(SFU),最大限度的利用有限的硬件资源。 ASIP 的这些优点使其具有良好的发展前景,被广泛应用于嵌入式系统中,它很好 地解决了通用处理器 GPP 在嵌入式系统中性能不高和功耗过大的问题,以及 ASIC 灵活 性差,开发难度高的缺点。随着嵌入式系统应用领域的不断扩大,ASIP 的这一技术特 点使得其越来越受到嵌入式系统设计人员的青睐,也成为了目前学术界的研究热点。 但设计人员在系统定制 ASIP 处理器4时往往受到芯片面积、上市时间(TTM)和 功耗等非功能性的约束,我们必须要找到一款合适的处理器体系结构,所以在设计的 初期要针对特定应用进行设计空间搜索1,27,45,46(DSE),利用 ADL 对目标结构进 行描述并用硬件描述语言(HDL)来进行硬件实现。传统设计方法中,以上工作需要手 工完成,而且直接使用 HDL 语言来进行硬件设计相当困难,导致设计周期漫长。这里, 作者探讨了一种基于 ADL 体系结构描述语言的系统级设计方法,对处理器指令集和微 构架在系统级进行建模,并在此基础上研究系统级的综合,由 ADL 描述通过相应机制 映射成 RTL 级的 HDL 描述,加快处理器的设计速度。 ASIP 介于 GPP 通用处理器和 ASIC 专用集成电路之间,解决了通用处理器在嵌入式 系统中性能不高和功耗过大的问题,以及 ASIC 灵活性差,开发难度高的缺点。随着嵌 入式系统应用领域的不断扩大,ASIP 的这一技术特点使得其越来越受到嵌入式系统设 计人员的青睐,在目前也成为了学术界的研究热点。因为 ASIP 结合了通用处理器 GPP 和专用集成电路 ASIC 的优点而受到了越来越多的研究设计人员及芯片厂商的关注。但 目前还缺少通用性强和易掌握应用的 ASIP 设计开发平台,因此,本文提出的基于 Web 的 ASIP 系统级设计方法,是实现 ASIP 设计开发平台的一种新的尝试。 1.3 国内外研究现状及发展趋势 随着对 ASIP 研究的逐步深入与应用的推广,ASIP 系统设计方法也经历了相应的 变化,从传统的设计方法、到基于 IP 模块的系统设计,再到基于软硬件协同的设计以 及基于平台的设计方法。从大的方面来说,ASIP 处理器设计44主要需要解决两个关键 问题,一是如何面向具体的应用生成最优的系统体系结构,二是为定制的 ASIP 系统结 构快速生成目标工具链,并且充分验证工具链的正确性。在应用需求迅速发展的趋势 下,对产品上市时间的要求越来越高,传统的设计方法在系统规范阶段、硬件/软件设 计阶段和整合测试阶段暴露出了软硬件的开发过程割裂、设计自动化层次低、周期长、 缺乏对设计重用的支持等问题;设计重用是基于 IP 模块设计的最大优势,但随着 IP 模块的越来越多,也带来了 IP 模块功能、接口、电气特性等复杂、难于理解等缺点; 软硬件协同的设计方法则存在一个软硬件划分的传统难题;基于平台的设计方法,目 前只提出了一种理论上的概念框架,并没有完整的设计环境和支撑工具的支持,且难 于建立相对稳定又有充分灵活性的设计框架。 在嵌入式应用领域,应用的需求多种多样,并且变化频繁。应用即使做一次小规 模的改动,ASIP 处理器的设计流程也需要重新进行,其中很大一部分的工作需要系统 设计人员手工完成,大大增加了系统开发时间。在 ASIP 处理器设计上,如何快速有效 的提供面向应用领域的系统解决方案是亟待解决的问题,也是几年来学术界研究的热 点和难点问题。 此外,目前的ASIP设计方法缺乏对具体应用领域计算特征的系统分析,另一方面, 针对ASIP系统设计的相关研究工作多对某个特定的问题展开,虽然也存在一些设计环 境,但总体而言没有从整体系统的层面提供易用、快速和可评估的设计方法和环境。 目前,已经有团队在研究ASIP设计软件IDE,作为ASIP嵌入专用指令集式处理器的基本 软件开发工具。设计目标是所有软件开发编辑任务都能在ASIP IDE下完成,编译和调 试程序在底层可综合SystemC的开发平台实现系统级综合,完成ADL描述到RTL级HDL描 述的自动转换。 1.4 研究目标及主要研究内容 本文在全面系统的分析了嵌入式系统设计和 ASIP 设计方法学4的基础之上,提出 了基于 Web 的系统级的设计方法,通过第三方 JS 库平台下的图形化编辑框架 MiniUI 和基于第三方框架对 ASIP 中的一些功能部件进行建模,由此生成元模型。再通过 XML 来存储模型的数据表格,通过修改模型属性和 XML 参数可配置相应的部件模型和体系 结构的设计,达到 ASIP 设计中要根据具体需求定制的目标。给出新的设计思想,设计 基于嵌入式和移动设备访问的开源 ASIP 设计,发挥开源设计的优势。本文的主要任务 集中在采用功能主界面的实现、对象图形,网络 IE BSP 网络驱动技术实现 IE 访问、 ASIP 的 UML 建模,实现基于 web 的 ASIP 集成设计环境。最后,再以 OpenRisc1200 可 裁剪的核心和 wishbone 总线及各种模块集成平台来验证我们的设计,并通过 openrisc 的以太网接口来实现对 openrisc 的访问。 1.5 论文组织 本论文共分六章,各章的组织如下: 第一章:绪论,首先介绍了该课题研究背景,包括 ASIP 在嵌入式领域中应用的意 义和和当前形势。主要讲了 ASIP 集成设计环境的形势,然后讲述了本文的创新设计和 研究目的。 第二章:讲解了 ASIP 设计方法,对嵌入式系统设计方法学进行简单全面的介绍, 重点阐述基于 web 的 ASIP 设计方法。 第三章:对基于 web 的 ASIP 设计方法进行了需求分析和系统分析 第四章:介绍了基于 web 的 ASIP 集成开发环境的开发工具。 第五章:讲述了系统的设计的几个关键技术的研究,包括 ASIP 建模、BSP 网络驱 动等 简述了基于 web 的 ASIP 集成设计环境的实现过程。 2 设计方法研究设计方法研究 设计方法学是研究产品设计规律、设计程序及设计中思维和工作方法的一门综合 性学科。设计方法学以系统工程的观点分析设计的战略进程和设计方法、手段的战术 问题。在总结设计规律、启发创造性的基础上促进研究现代设计理论、科学方法、先 进手段和工具在设计中的综合运用。 设计方法学是研究产品设计规律、设计程序、设计中思维和方法的一门综合性学 科。设计方法学的关键是针对设计条件的约束,寻找最佳的解决方案。鼓励创新意识 和协同思维,便于处理设想,达成最佳方案。其中最关键的考量是迎合用户需求和设 想。而且设计方法学中也运用一些基本的研究方法,例如分析和测试。设计方法学的 发展路线:可行性设计最优化设计系统设计。 本节将论述一些传统的设计方法,本文为则提出基于 Web 的 ASIP 系统级设计方法。 2.1 嵌入式系统设计方法学 目前,实现嵌入式系统的硬件方法主要有:定制逻辑(ASIC)、现场可编程门阵 列(FPGA)和嵌入式微处理器三种。在实际系统实施中,绝大多数系统是采用嵌入式 微处理器方式,如单片机、单板机或嵌入式微处理器芯片等。这是因为用微处理器实 现嵌入式系统是一种十分有效的方法,它使得在不同价位上设计不同特性的产品系列 成为可能,并且能够扩充新特性以满足飞速发展变化的市场需求。嵌入式系统设计方 法的演化总的来说是由应用需求牵引和 IT 技术推动。如微电子技术和半导体技术不断 创新和发展,大规模集成电路集成度和工艺水平不断提高,计算机硬件平台性能也随 之大幅提高,使很多复杂算法和操作简单的界面得以实现;高性能 EDA 综合开发工具 不断智能化,给极其复杂嵌入式系统的设计提供了布线、编译、模拟、综合和验证等 一体化便于学习和使用集成开发环境9; HDL 的发展可以对各种复杂的电子系统硬件 建立模型,其描述能力和抽象能力相当强,给硬件电路特别是定制大规模集成电路设 计带来了重大变革;软件技术进步,特别是嵌入式实时操作系统 EOS(Embedded Operation System)推出,为开发复杂嵌入式系统应用软件提供了底层支持和高效率 开发平台,形成了嵌入式系统的基本结构。面向对象的嵌入式系统建模同任何软件密 集型系统建模一样,从系统中的类建模开始。为了解类的结构,首先对系统工作过程 作一个总体陈述。无论是采用问题空间词汇抽象方法还是采用用例(use case)驱动 建模方法,目标都是找到系统以类或对象作为构造块的类图。如果采用用例驱动的系 统分析方法,该内容也可以用用例视图加以模型规格说明,然后使其作为系统白盒测 试依据。由于使用用例视图做的规格说明篇幅比较大。当系统的分析与设计采用面向 对象方法时,并不意味着所使用的编程语言也一定是面向对象的。事实上,这种分析 设计方法的具体实现可以使用任何编程语言(如汇编语言或 C 语言);但是,在程序 设计上要尽可能地使用面向对象的思想,如体现程序结构方面的封装性、消息传递等。 这种才会使程序结构清晰,便于应付随着需求变化而产生的不断更新和系统维护。 目前嵌入式系统设计方法学有: (1) 基于 IP 复用的设计方法学: 把经过验证的 IC 电路以模块即 IP 核以模块形式加入系统设计中。IP 模块分为软 核(Soft-Core)、固核(Firm-Core)和硬核(Hard-Core)。 其中,软核以 HDL 的方式提交,其性能通过时序模拟进行验证。由于软核不依赖于 任何实现工艺或实现技术,具有很大的灵活性。使用者可以方便地将其映射到自己所使 用的工艺上去,可复用性很高。软核的另外一个重要的优点是使用者拥有全部源代码。 使用者可以通过修改源代码,方便地生成同样功能且自有版权的新软核,从而避免向原 有软核作者支付版税。同时聪明的软核使用者还可以通过增加自己的知识和经验,产生 出远比原始软核广泛得多的新的软核。硬核以 IC 版图的形式提交,并经过实际工艺流 片验证。显然,硬核强列地依赖于某一个特定的实现工艺,而且在具体的物理尺寸,物理 形态及性能上具不可更改性。硬核已经过验证并具有最优的面积代价和性能的设计,使 用者不需考虑与上相关的优化问题。忧的是硬核与工艺的强相关性迫使使用也只能使 用核工艺完成电路其它部分的设计,而且要在布局布线遵守注意固核的物理限制。显然,固 核的特点决定了使用者进行电路设计时的灵活性很小,希望通过获得固核以生成其它固 核的可能基本上没有。即使有,受到加工工艺、经费和知识产权等方面的限制,也会失 去意义于软核和硬核之间的固核以电路网表的形式提交并通常采用硬件进行验证。硬 件验证的方式有很多种,比如可以采用可编程器件(如 FPGA,EPLD)进行验证,采用硬件 仿真器进行验证等。 固核往往对应于某一个特定的实现工艺,在该实现工艺的条件下固核具有最优的面 积和性能特性。对于使用者来说不需要对固核的功能给于过多地关注,可以减少许多相 关的设计工作,同时由于固核的时序特性是经过严格检验的,设计者只要保证在布局布 线过程中电路关键路径的分布参数不会引起时序混乱就可以保证芯片的设计成功。 (2)软硬件协同的设计方法学: 面向 SoC 的软硬件协同设计理论应该是从一个给定的系统任务描述着手,通过有 效地分析系统任务和所需的资源,采用一系列变换方法并遵循特定的准则自动生成符合 系统功能要求的,符合实现代价约束的硬件和软件架构。EDA 工具必须提供能够设计和 验证这样的软硬件系统的开发工具,软硬件协同设计一般包括三个阶段,即协同规范 阶段,协同综合阶段,协同模拟与评估阶段。 (3)基于平台的设计方法学: 基于平台的方法可提供一种完全集成的通用架构,设计师能够利用这些共同特点, 简单、快速地开发出 SoC。而且,通过采用事先设计和特性确定的组件而不是定制设计 的方法,有利于加速开发团队的设计流程,减少逐渐增加的上市时间压力。把它们应 用于多个 SoC 项目,重复使用现有的知识产权(IP)模块有利于减少开发成本。 基于平台的设计过程主要包括模块生成、IP 模块重用、芯片集成和软件开发等部 分。将功能和实现分开,强调功能与结构的分享,平台的开发可以独立的进行,设计 平台可以分成自行设计平台、可定制平台、应用特定的平台和可配置平台。到目前为 止,只是提出了理论上的概念框架,并没有完整的设计环境和支持工具。 基于平台的方法有利于 SoC 设计师满足日益增加的复杂性和市场细分的要求。凭 借基于平台的架构,设计师只要增加或更换一些 IP 组件,就能迅速开发出派生产品。 此外,预先集成的架构有利于减少显著增加开发团队难度和导致项目失败风险的验证 不确定性。最后,通过在设计内选择第三方的模块,平台方法有利于设计团队将自己 的资源集中于其核心竞争力上。 2.2 ASIP 设计方法学 2.2.1 传统的 ASIP 设计方法 ASIP 是由嵌入式系统的发展而出现的,起初它的设计方法主要也是嵌入式系统设 计中的软硬件协同设计方法。软硬件协同设计是指对系统中的软件部分和硬件部分使 用统一的描述和集成开发工具进行开发,在设计完之后可对整个系统的进行设计的验证, 而且还能跨越软硬件界面进行系统设计中的一些优化,便于设计最佳的系统。传统的 嵌入式系统设计都是要先将嵌入式系统设计划分为相对独立的软件设计和硬件设计, 即所谓的软硬件分开设计,这样的设计不仅在设计时软硬件设计的使用技术多而复杂, 而且系统的设计差别较大,在时间上也会不同步,会选硬件设计滞后或软件设计带后 的情况。现在的一些综合技术可以将硬件和软件同等看待,在设计上和更高的抽象层 次上它们之间没有什么区别,如 VLSI,ASIC,PLD 等硬件可以 VHDL 或 SystemC 实现。而 且当今嵌入式系统设计的发展趋势是软硬件相互融合、渗透:硬件设计的软件化,如 VHDL, Verilog 等;软件实现的硬件化,如各种实现特定应用算法的 ASIC。在给定功 能的硬件和软件选择只是在多种设计指标上进行折衷,如性能,功耗,大小,价格, 灵活性等,至于用硬件实现,还是用软件实现没有太大差别。这些发展都对嵌入式系 统设计产生一些影响,虽然可以在设计时增加灵活性,但同时也给设计增加了风险。 如今,软硬件协同设计的开发工具已经相当丰富,现总结如下: (1)硬件设计 EDA 工具:系统级设计工具 cadence 的 SPW,System View; (2)模拟电路系统仿真工具:Pspice,EWB; (3)PCB 设计工具:Protel,PADS 的 Power PCB input A; input B; input sel; input clk; output out; wire 3:0A; wire 3:0B; wire clk; wire 2:0sel; reg 3:0out; always(posedge clk) begin case(sel) 3b000:out=A+B; 3b001:out=A-B; 3b010:out=A+1; 3b011:out=A-1; 3b100:out=A 3b101:out=A|B; 3b110:out=A; 3b111:out=AB; default:out=0; endcase end endmodule 5.3 模拟仿真 传统的仿真工具如 ModelSim,它能提供友好的仿真环境,单内核支持 VHDL 和 Verilog 混合仿真的仿真器。在 ASIP 集成开发环境下实现仿真功能,即采用 AS Flash+PHP 技术、实现功能单元配置、流水线功能,保证快速编译仿真,编译代码平台 无关性,实现 IP 核的保护,提供个性化的图形界面和用户接口。 所以,模拟仿真功能必须实现如下功能: 1、RTL 和门级优化,本地编译结构,快速编译仿真,; 2、VHDL 和 Verilog 混合仿真; 3、源代码模版和助手,项目管理; 4、集成性能分析、波形比较、代码覆盖、数据流 ChaseX、Signal Spy、虚拟 对象 Virtual Object、Memory 窗口、Assertion 窗口、源码窗口显示信号值、信号条 件断点等众多调试功能; AS Flash 能实现动画功能,能模拟仿真 CPU 的 ALU 单元的流 水线功能和操作。目前基于 AS Flash 的模拟仿真技术还在研究当中。未来可嵌入式基 于 Web 的 ASIP 集成设计环境进行功能验证。 5.3 BSP 网络驱动及硬件实现 BSP 网络驱动可以实现目标板的操作系统以太网功能,让远程终端或移动设备访问 基于 web 的 ASIP 集成开发环境。根据以太网Ethernet 的基本工作原理、MII 接口 的组成和传输协议,系统以太网部分的硬件电路的组成。采用符合 Wishbone 标准的 以太网控制器的组成结构和使用方法,并且按照 ORP 标准将这个以太网控制器加入到 系统中去。对新系统进行综合、布线和下载。根据 liunx 的特点、移植的方法及移植 的注意事项、配置方法和添加调试语句的方法以及 RAMDISK 设备和 ROMFS 文件系统 的基本原理,最后修改 ORPMon,使 liunx 直接从 Flash 启动。 5.3.1 以太网以太网 MII 接口接口 CSMA/CD(Carrier Sense Multiple Access/Collision Detect,载波监听多路访 问/冲突检测)是一种争用型的介质访问控制协议,输入 IEEE 802.3 规定的标准协议。 它起源于美国夏威夷大学开发的 ALOHA 网所采用的争用型协议,并进行了改进,使之 具有比 ALOHA 协议更高的介质利用率。CSMA/CD 是一种分布式介质访问控制协议,网 中的各个站(节点)都能独立地决定数据帧的发送与接收。每个站在发送数据帧之前, 首先要进行载波监听,只有介质空闲时,才允许发送帧。这时,如果两个以上的站同 时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送 随即宣告失败。每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止 发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新 争用介质,重发送帧。CSMA/CD 协议简单、可靠,其网络系统(如 Ethernet)被广泛 使用。 CSMA/CD 是一个分层的协议,其中 MII(Media Independent Interface,媒体无 关接口)用于实现 MAC(Media Access Controller,媒体访问控制器)与 PHY(Physical Layer Transceiver,物理层收发器)之间的接口。MII 接口信号包括 MII 数据接口(MII Data Interface)和 MII 管理接口(MII Management Interface)。MII 数据接口的标准输出输入信号包括: TX_CLK、TX_EN、TXD、TX_ER、RX_CLK、RX_DV、RXD、RX_ER、CRS 和 COL,MII 管理接口的标准信号包括:MDC 和 MDIO,各个信号的功能如表 101 所示。 图 5.4 MII 接口信号功能 图 5.5 MAC 与 PHY 连接示意图 MII 使用 CSMA/CD 协议规定的帧格式进行通信,帧格式如图 表 所示。由于 MII 的数据是 4 位的,而图 102 和表 102 中的数据都是 8 位的,所以它们中 的数据是把相邻的四位元组组合成字节得到的。 图 5.6 MII 帧格式 5.3.2 以太网控制器内部以太网控制器内部结结构构 以太网控制器使用 Verilog 语言描述,顶层文件是 eth_top.v,由 eth_miim.v, eth_registers.v,eth_maccontrol.v,eth_txethmac.v,eth_rxethmac.v,eth_wish bone.v,eth_macstatus.v 及一些同步处理、多路选择和寄存器输出逻辑组成。它的 结构框图如图 图 5.7 以太网控制器结构框图 一、一、MII 管理模块管理模块 MII 管理模块(eth_miim.v)用来实现对 PHY 控制器的设置和状态的读取,包括 时钟信号 MDC 和数据信号 MDIO,它由 eth_clockgen.v,eth_shiftreg.v,eth_outputcontrol.v 和一些附加逻辑组成。附 加逻辑用来产生如下信号: 对写(WriteDataOp)、读(ReadStatusOp)和扫描(ScanStatusOp)操作的同步 请求; 更新 MIIRX_DATA 寄存器需要的 UpdateMIIRX_DATAReg; 计数器(BitCounter); 数据(ByteSelect 3:0)移出时使用的字节选择信号; 锁存输入数据(LatchByte 1:0)所需要的信号。 eth_outputcontrol 模块有 3 个功能:产生 MII 串行输出信号 Mdo、产生输出 使能信号 MdoEn 和产生 MII 的前导数据。 eth_clockgen 模块的功能是产生 MII 时钟信号 Mdc 和时钟使能信号 MdcEn。Mdc 通过根据 MIIMODER 寄存器对主时钟信号进行分频得到。 eth_shiftreg 模块的功能是将要发送到 PHY 的数据串行化并暂存。产生“连接失败” 信号(MIISTATUS 的位 0)。 二、接收模块二、接收模块 eth_rxethmac 模块控制数据的接收。外部的 PHY 芯片从物理层接收串行的数据, 组合成位元数据并将数据和数据有效信号通过 MRxD 3:0和 MRxDV 发送到接受模块。 接受模块将数据组合成字节,并且将数据和一些标记开始和结束的信号发送到 Wishbone 接口模块。接受模块还去除帧前导和 CRC 校验码。 接收模块由 4 个子模 块组成: eth_crcCRC 模块; eth_rxaddrcheck地址辨识模块; eth_rxcounters包接收需要的各种计数器; eth_rxstatem接收模块的状态机。 除了以上子模块,eth_rxethmac 模块还包含以下逻辑: 产生地址识别系统中使用的 CrcHash 值和 CrcHashGood 标记; 锁存从 PHY 芯片接收的数据; 产生 Broadcast 和 Multicast 标记; 产生标记有效数据的 RxValid,RxStartFrm,RxEndFrm 信号。 eth_crc 模块用于判断接收到的包的 CRC 校验码是否正确。CRC 模块还用来产生 发送模块需要的 CRC 校验码。 eth_rxaddrcheck 模块决定一个包是否被接收。内核接收所有目的地址的包,然 后在该模块内检查目的地址。是否接收由以下条件决定: 如果 MODER 寄存器的 r_Pro 位被置位(混杂模式),那么所有的帧都将被接收, 而不论其目的地址是什么。如果这一位没有被置位,那么检查目的地址; 如果 MODER 寄存器的 r_Bro 位被置位而 r_Pro 位没有被置位,那么所有的包含 广 播地址的帧都将被丢弃; MAC 信号是内核的 MAC 地址,当 r_Pro 没有被置位时, 每一个目的地址都会与 MAC 地址比较,只有两个地址相同的帧才会被接收; 当 r_Iam 被置位的时候,除了检查 MAC 地址,还使用 Hash 表算法。控制器将 48 位的地址映 射为 64 位,如果这个 64 位的地址与 HASH0 和 HASH1 寄存器里的地址相同,帧就 会被接收。 三、发送模块三、发送模块 eth_txethmac 模块负责发送数据。发送模块从 Wishbone 接口模块以字节的形式 获得需要发送的数据和标记帧开始(TxStartFrm)和帧结束(TxEndFrm)的符号。一 旦发送模块需要下一个数据,它将设置 TxUsedData,然后 Wishbone 接口模块将提供 下一个字节的数据。 发送模块由 4 个字模快组成: eth_crc根据数据计算 32 位的 CRC 校验码; eth_random产生发生冲突后所需要的随即等待时间; eth_txcounters发送所需要的各种计数器; eth_txstatem发送状态机。 每一次发送都会以以下几种方式之一结束: 发送成功结束,TxDone 信号置位; 发生冲突(半双工模式),需要重新发送,TxRetry 信号置位; 由于包过大、缓冲欠载、延迟冲突或者到达最大冲突次数限制,导致发送失败, TxAbort 信号置位。 除了以上信号外,发送模块还有以下几个主要信号: WillTransmit通知接收模块将开始发送,接收将停止,直到 WillTransmit 被复 位; ResetCollision冲突复位信号,用来复位同步触发器; ColWindow冲突窗口,规定有效冲突,晚于冲突窗口的冲突都将视为延迟冲突; RetryCnt重试计数器; eth_crc 模块与发送模块中的 eth_crc 相同,用于产生发送所需要的 CRC 校验码; eth_random 模块使用二进制指数算法计算发生冲突后再次发送之前需要等待的随 即延时时间。 eth_txcounters 模块包括 3 个计数器: DlyCrcCnt用于 CRC 计算; NibCnt 和 ByteCnt 用于计算位元的数量。 eth_txstatem 模块主要是发送状态机,这个状态机由 11 个状态: Idle Preamble Data0 Data1 PAD FCS IPG Jam Jam_q BackOff Defer 复位之后,状态机先进入 Defer 状态,然后依次进入 IPG 和 Idle。当发送模块没 有发送任务的时候,状态机一直处于 Idle 状态,等待发送任务。Wishbone 接口模块 通过设置 TxStartFrm 信号,进行发送请求。TxStartFrm 信号需要有效两个时钟周期, 同时第一个需要发送的字节也需要设置,然后状态机进入 Preamble 状态。在 Preamble 状态,MTxEn 有效,通知 PHY 芯片,发送开始。MtxD 信号被设置为 0x05。前导发送完毕后,发送 SFD。然后状态机进入 Data0 状态,TxUsedData 用于 指示 Wishbone 接口模块提供下一个数据字节。低半字节的位元数据发送以后,状态 机进入 Data1 状态,发送高半字节的数据。状态机在 Data0 和 Data1 之间循环,直到 包的结束。当仅剩下一个需要发送的字节的时候,Wishbone 接口模块设置 TxEndFrm 信号,指示需要发送最后一个字节。此后,可能状态机进入多种状态:如果数据长度 大于或者等于帧的最小长度并且 CRC 校验使能,状态机进入 FCS 状态,为数据添加 32 为的 CRC 校验码。然后状态机依次进入 Defer、IPG 和 Iidle 状态,重新等待发 送数据。 如果数据长度大于或者等于帧的最小长度但是 CRC 校验没有使能,状态机依次 进入 Defer、IPG 和 Idle 状态,重新等待发送数据。如果数据长度小于帧的最小长度, 但是填充功能被使能,状态机进入 PAD 状态,为数据添加填充数据(0x0),然后状 态机依次进入 FCS、Defer、IPG 和 Idle 状态,重新等待发送数据。如果数据长度小 于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论