版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 嵌入式系统设计方法 嵌入式系统嵌入式系统 主要内容主要内容嵌入式系统面临的挑战嵌入式系统面临的挑战嵌入式系统的设计嵌入式系统的设计嵌入式系统软硬件协同设计嵌入式系统软硬件协同设计嵌入式系统节能设计嵌入式系统节能设计CC1991(92个主领域)个主领域) CC2001(14个主领域)个主领域) 离散数学(预备知识)离散结构(DS)程序设计语言引论程序设计基础(程序设计基础(PF)算法与数据结构算法与复杂性(算法与复杂性(AL)计算机系统结构系统结构(系统结构(AR)操作系统操作系统(操作系统(OS)网络计算(网络计算(NC)程序设计语言程序设计语言(程序设计语言(PL)人机通信人机交互(HC)
2、图形学和可视化计算(GV)人工智能与机器人学智能系统(IS)数据库与信息检索信息管理(IM)软件方法学与工程软件工程(软件工程(SE)社会、道德和职业的问题社会和职业的问题(SP)数值与符号计算科学计算(SC)IEEE/ACM 课程大纲关于计算机学科主领域的划分课程大纲关于计算机学科主领域的划分嵌入式系统嵌入式系统嵌入式系统: 以应用为中心,以计算机技术为基础,以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗诸方面严格要求的靠性、成本、体积、功耗诸方面严格要求的专用计算机系统。专用计算机系统。嵌入式系统特点嵌入
3、式系统特点嵌入式系统特点:嵌入式系统特点: 软件硬件协同并行开发软件硬件协同并行开发 多种多样的微处理器多种多样的微处理器 实时操作系统的多样性实时操作系统的多样性 (RTOS)(RTOS) 与台式机相比,可利用系统资源不足与台式机相比,可利用系统资源不足 应用支持很少应用支持很少 要求特殊的开发工具要求特殊的开发工具 调试很困难调试很困难 软件硬件的鲁棒性(健壮性,软件硬件的鲁棒性(健壮性,RobustRobust)嵌入式系统要解决的主要问题嵌入式系统要解决的主要问题 需要用什么样的系统结构来实现?需要用什么样的系统结构来实现? 如何满足时限要求,如何处理多项功能在时间上的协如何满足时限要求
4、,如何处理多项功能在时间上的协调一致关系?调一致关系?如何保证系统可靠地工作?如何保证系统可靠地工作?如何满足系统接口要求,嵌入式应用直接和系统接口如何满足系统接口要求,嵌入式应用直接和系统接口输入输出信息?输入输出信息?如何降低系统的功耗?如何降低系统的功耗? 如何使系统可升级?如何使系统可升级? 嵌入式系统设计的挑战性问题嵌入式系统设计的挑战性问题 软硬件协同设计软硬件协同设计 功耗的优化设计功耗的优化设计嵌入式操作系统嵌入式操作系统开发环境开发环境 成本和开发周期成本和开发周期代码优化代码优化 高效的输入和输出高效的输入和输出测试环境测试环境 嵌入式系统软件技术面临的几大问题嵌入式系统软
5、件技术面临的几大问题嵌入式软件全生命周期开发工具链嵌入式软件全生命周期开发工具链硬件与软件的硬件与软件的Co-Design: Verilog + C = ?Co-Design: Verilog + C = ?驱动程序的设计和生成技术(嵌入式软件开发中驱动程序的设计和生成技术(嵌入式软件开发中最令人头疼的问题)最令人头疼的问题)嵌入式软件的可靠性问题嵌入式软件的可靠性问题: : 正确性验证技术、测正确性验证技术、测试技术、调试技术等(可靠性问题是嵌入式软件试技术、调试技术等(可靠性问题是嵌入式软件开发的基本问题)开发的基本问题)可重构计算(可重构计算(Reconfigurable Computi
6、ngReconfigurable Computing)技术)技术可构件化的嵌入式实时操作系统及其开发环境可构件化的嵌入式实时操作系统及其开发环境问题问题:功 能 、 性能要求价 格 、 开发 周 期 等约束设计:设计: 选择 折衷 分析比较 计算 评价嵌入式系统嵌入式系统嵌入式系统的设计嵌入式系统的设计方法方法工具工具设计流程设计流程自顶向下或自底向上设计自顶向下或自底向上设计需求需求设计说明设计说明体系结构体系结构构件设计构件设计系统集成系统集成自顶向下设计自底向上设计需求分析作用作用使用户和设计者有效交流、沟通,明确设计目标使用户和设计者有效交流、沟通,明确设计目标设计者设计者 设计什么?
7、有哪些要求?设计什么?有哪些要求?用户用户 将得到的系统是什么样的?将得到的系统是什么样的?目标目标形成需求文档形成需求文档内容内容功能性需求功能性需求 做什么?做什么?输入输入, ,输出输出, ,功能,功能,非功能性需求非功能性需求 其他属性其他属性可靠性,速度,功耗,可靠性,速度,功耗,成本成本, ,大小大小, ,重量重量, ,设计时间,设计时间, 评价标准正确性无二义性完整性可检验性一致性可修改性可追踪性需求分析的描述自然语言需求说明书需求分析表形式化描述用例图等DOORS例:GPS移动地图的需求 规格说明规格说明与需求的比较需求的提炼是可用来创建体系结构的关于系统的更详尽、更精确、更一
8、致的描述目标形成规格说明书内容包含系统体系结构设计的足够信息规格说明书的描述自然语言形式化描述UMLRSMLSDL规格规格说明说明需求的精确描述需求的精确描述 描述明确,可理解描述明确,可理解 UML (Unified Modeling Language) UML (Unified Modeling Language) 统一建模语言是可视化的设计说明语言统一建模语言是可视化的设计说明语言统一描述系统的硬件和软件统一描述系统的硬件和软件 UML UML 可对系统的功能建模可对系统的功能建模 可自动产生实际设计的可自动产生实际设计的HDL HDL 或或C+ C+ 代码代码UML的应用的应用I-Lo
9、gix公司的Rhapsody系列产品基于统一建模语言UML的可视化编程环境把UML各类视图映射为具体目标机程序语言用于复杂实时嵌入式应用软件从分析、设计一直到代码实现和软件测试的开发过程NASA的火星探路者航天器就是运用Rhapsody在VxWorks上开发应用程序。系统结构设计系统结构设计 系统如何实现设计说明书描述的功能系统如何实现设计说明书描述的功能 基于组件的系统结构基于组件的系统结构 软件软件/硬件划分硬件划分 嵌入式系统中软件和硬件协同完成系统的嵌入式系统中软件和硬件协同完成系统的功能功能软件硬件划分通常由速度、灵活性以及开销软件硬件划分通常由速度、灵活性以及开销来决策来决策硬件硬
10、件单片机单片机, X86, PowerPC, ARM, MIPS,板级支持程序板级支持程序嵌入式操作系统嵌入式操作系统应用软件应用软件监控程序监控程序嵌入式计算机系统基本结构嵌入式计算机系统基本结构嵌入式系统组成嵌入式系统组成系统结构设计系统结构设计系统结构设计作用实现系统的蓝图,系统整体结构的一个计划目标形成结构设计文档内容系统分析系统软硬件整体结构的设计软硬件划分标准构件和自行设计构件的确定 评价标准有弹性简单可实现层次清晰功能分布平衡平衡技术和经济约束满足功能需求和非功能需求可重用系统结构的描述非形式化方式自然语言结构框图形式化方法UML建模系统结构的设计过程及方法结构化设计方法 以算法
11、为中心,从处理到处理的数据流从输入、输出入手,根据操作和数据流,形成比较粗的系统大框架;然后逐步细化框架内的每个部分,进一步确定内部模块的及模块之间的关系设计过程应该是逐步细化和逐步完善的过程面向对象的方法 以类及交互模式为中心系统软件结构的设计结构化方法(SA/SD)面向对象的方法(OOA/OOD)UML建模结构设计的验证结构设计的正确性非常关键详细设计和实现的基础,对开发周期、成本有很大影响验证所关心的问题结构设计是否满足功能、性能要求能否实现验证方法形式化方法仿真系统结构软件结构硬件结构其他方法如基于开发板的原型系统系统引入错误和修改错误开销分布系统引入错误和修改错误开销分布引入错误数目
12、引入错误数目修改错误开销修改错误开销开发周期系统结构设计软硬件详细设计软硬件实现软硬件的划分 嵌入式系统的设计涉及硬件与软件部件,设计中必须决定什么功能由硬件实现,什么功能由软件实现。硬件和软件具有双重性软硬件变动对系统的决策造成影响划分和选择需要考虑多种因素硬件和软件的双重性是划分决策的前提通常由软件实现的部分操作系统功能任务调度资源管理设备驱动协议栈TCPIP应用软件框架除基本系统、物理接口、基本逻辑电路,许多由硬件实现的功能都可以由软件实现。双重性部分算法加密解密编码解码压缩解压数学运算浮点运算, FFT, 标准构件和自行设计构件 构件的实现选择标准自行设计标准构件 ?现成构件已经产品化
13、形成规模生产标准构件 自行设计构件 用户系统构件包括了硬件构件和软件构件构件本身可以是层次性的,可以由子构件组成标准硬构件硬构件的形式:硬构件的形式:IC:集成电路:集成电路PCB:印刷电路板:印刷电路板IP:Intellectual Property标准 IC CPU, DSP, RAM, ROM, 接口控制器,ASIC,标准 IP CPU核,标准模块GPRS模块,GSM模块,蓝牙模块, 显示模块,标准计算平台基于PC104的嵌入式计算机基于Compact PCI的嵌入式计算机SOC,标准软构件OS / RTOS协议栈TCP/IP路由协议H.323图形开发包VxWorks的ZINK驱动程序自
14、研硬构件内容逻辑电路,专用加速器,实现方式PCB: IC:PLD FPGA ASIC,EDA设计工具板级: 原理图设计工具PCB设计工具IC硬件描述语言: VHDL,Verilog原理图描述工具综合仿真工具布线器, 自研软构件BSP驱动程序应用程序 软硬件技术对系统结构的影响硬软件设计的趋势融合、渗透硬件设计的软件化VHDL, VerilogHANDL-C软件实现的硬件化各种算法的ASIC对系统设计的影响协同设计增加灵活性增加了风险嵌入式系统设计者要求嵌入式系统设计者要求 懂得系统的整个构架懂得系统的整个构架 详细了解硬件的细节详细了解硬件的细节 软件设计满足:软件设计满足: 实时要求实时要求
15、 低功耗低功耗 代码量小代码量小 详细了解领域知识详细了解领域知识嵌入式系统软硬件协同设计嵌入式系统软硬件协同设计 软硬件协同设计软硬件协同设计软硬件协同设计软硬件协同设计硬件设计工具(EDA工具)系统级设计工具系统级设计工具Cadence的的SPWSystem View模拟电路系统仿真工具模拟电路系统仿真工具PspiceEWBPCB设计工具设计工具ProtelPADs 的的Power PCB & Tool KitMentor的的Expedition & Tool Kit可编程逻辑器件设计工具可编程逻辑器件设计工具Mentor FPGA Advantage & Mode
16、lSimXilinx Foundation ISE & Tool Kit各种综合和仿真第三方工具各种综合和仿真第三方工具软硬件协同设计定义与主要概念软硬件协同设计定义与主要概念软硬件协同设计定义The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design主要概念Concurrent(并发)(并发): hardware and software developed at
17、 the same time on parallel pathsIntegrated(一体化)(一体化): interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications嵌入式系统嵌入式系统快速原型快速原型设计过程设计过程SYSTEMDEF.SWDESIGNVIRTUAL PROTOTYPEREUSE DESIGN LIBRARIES AND DATABASEPrimarilysoftwar
18、ePrimarilyhardwareSWCODEFUNCTIONDESIGNHW & SWPART.HWDESIGNHWFABINTEG.& TESTHW & SW CODESIGNHW & SW Partitioning & Codesign嵌入式系统快速原型开发的基本要素嵌入式系统快速原型开发的基本要素系统定义(需求分析)系统定义(需求分析)软硬件划分软硬件划分结构规划结构规划 处理器类型处理器类型, 软硬件之间的接口类型软硬件之间的接口类型, 等等.划分目的划分目的 满足系统速度满足系统速度,延迟延迟, 体积体积,成本等方面的要求成本等方面的要求.
19、划分策略划分策略 - high level partitioning by hand, automated partitioning using various techniques, etc.调度调度Operation scheduling in hardwareInstruction scheduling in compilersProcess scheduling in operating systems软硬件设计过程中的建模软硬件设计过程中的建模传统的嵌入式系统设计模型传统的嵌入式系统设计模型SystemSystemConceptsConceptsSys/HWSys/HWRequire
20、.Require.AnalysisAnalysisSys/SWSys/SWRequire.Require.AnalysisAnalysisOperation.Operation.Testing and Testing and Eval.Eval.SoftwareSoftwareRequire.Require.AnalysisAnalysisPrelim.Prelim.DesignDesignDetailedDetailedDesignDesignCoding,Coding,Unit test.,Unit test.,Integ. testInteg. testSW DevelopmentSW
21、DevelopmentHWCIHWCITestingTestingCSCICSCITestingTestingSystemSystemInteg. and Integ. and testtestHardwareHardwareRequire.Require.AnalysisAnalysisPrelim.Prelim.DesignDesignDetailedDetailedDesignDesignFabric.Fabric.HW DevelopmentHW DevelopmentDOD-STD-2167A传统的嵌入式系统设计过程传统的嵌入式系统设计过程传统软硬件设计过程的基本特征传统软硬件设计过
22、程的基本特征:系统在一开始就被划分为软件和硬件两大部分系统在一开始就被划分为软件和硬件两大部分软件和硬件独立进行开发设计软件和硬件独立进行开发设计“Hardware first” approach often adopted隐含的一些问题隐含的一些问题:软硬件之间的交互受到很大限制软硬件之间的交互受到很大限制软硬件之间的相互性能影响很难评估软硬件之间的相互性能影响很难评估系统集成相对滞后,系统集成相对滞后,NRE较大较大因此因此:Poor quality designs(设计质量差)(设计质量差)Costly modifications(设计修改难)(设计修改难)Schedule slippa
23、ges(研制周期不能有效保障)(研制周期不能有效保障)传统设计过程中的尖锐矛盾随着设计复杂程度的提高,软硬件设计中随着设计复杂程度的提高,软硬件设计中的一些错误将使开发过程付出昂贵的代价的一些错误将使开发过程付出昂贵的代价 “Hardware first” approach often compounds(混合) software cost because software must compensate for(补偿) hardware inadequacies(不充分)软硬件设计过程发展方向协同设计软硬件设计过程发展方向协同设计SystemSystemConceptsConceptsSys
24、/HWSys/HWRequire.Require.AnalysisAnalysisSys/SWSys/SWRequire.Require.AnalysisAnalysisHardwareHardwareRequire.Require.AnalysisAnalysisSoftwareSoftwareRequire.Require.AnalysisAnalysisOperation.Operation.Testing and Testing and EvaluationEvaluationSW DevelopmentSW DevelopmentHW DevelopmentHW Developmen
25、tSystemSystemInteg. and Integ. and testtestHWCIHWCITestingTestingCSCICSCITestingTestingFranke91Integrated Modeling SubstrateIntegrated Modeling Substrate(一体化建模底层)(一体化建模底层)Prelim.Prelim.DesignDesignPrelim.Prelim.DesignDesignDetailedDetailedDesignDesignDetailedDetailedDesignDesignFabric.Fabric.Coding,
26、Coding,Unit test.,Unit test.,Integ. testInteg. test IEEE 1991嵌入式软件的开发过程(瀑布模型)嵌入式软件的开发过程(瀑布模型)Requirement AnalysisSoftware DesignCodingTestingRelease软硬件协同设计的基本需求软硬件协同设计的基本需求统一的软硬件描述方式软硬件支持统一的设计和分析工具(技术)允许在一个集成环境中仿真(评估)系统软硬件设计支持系统任务在软件和硬件设计之间的相互移植交互式软硬件划分技术允许多个不同的软硬件划分设计进行仿真和比较辅助最优系统实现方式决策将软硬件划分应用到模块设
27、计,以便最佳地实现系统的设计指标。Partitioning applied to modules to best meet design criteria (功能和性能目标)软硬件协同设计的基本需求软硬件协同设计的基本需求 (续续)完整的软硬件模型基础支持在设计过程中的几个阶段的综合评价支持软硬件逐步的开发和集成正确的验证方法确保系统设计达到的目标要求典型的软硬件协同设计过程典型的软硬件协同设计过程 SystemIntegrationInstruction set levelHW/SW evaluationUnified representation(Data/control flow) HW
28、/SWPartitioning Interface Synthesis Software SynthesisSWHardware SynthesisHW System Description(Functional)Concurrent processesProgramming languages FSM-directed graphs Another HW/SWpartition经典的软硬件协同设计方法经典的软硬件协同设计方法Analysis of Constraintsand RequirementsSystem Specs.HW/SWPartitioningHardware Descrip
29、t.Software Descript.HW Synth. andConfigurationInterface SynthesisSoftware Gen.& ParameterizationConfigurationModulesHardwareComponentsHW/SWInterfacesSoftwareModulesHW/SW Integrationand CosimulationIntegratedSystemSystem EvaluationDesign VerificationRozenblit94 IEEE 1994软硬件协同设计的优势软硬件协同设计的优势在设计初始阶
30、段就可进行软硬件交互设计和调整Provides continual verification throughout the design cycle(贯穿整个设计周期)Separate HW/SW development paths(开发路线) can lead to costly modifications and schedule slippages(导致代价昂贵的纠错成本和开发进度的下降)关键技术(如可编程逻辑综合技术、器件接口和功能模型描述)的进步使得软硬件交互设计变得简单起来软硬件协同设计技术的现状软硬件协同设计技术的现状主要问题:缺乏标准化的表示方法缺乏好的验证和评价方法可能的解决
31、方案:扩展已有的硬件/软件语言工具并应用到不同种类情况扩展形式验证技术并应用到硬件/软件领域基于FPGA的嵌入式系统设计SOPC设计软硬件协同设计基本步骤软硬件协同设计基本步骤HW-SW system involvesSpecification(设计描述)(设计描述)modeling (设计建模)(设计建模)design space exploration and partitioningsynthesis and optimization(综合与优化)Validation(设计验证)(设计验证)implementation (设计实现)(设计实现)软硬件协同设计基本步骤软硬件协同设计基本步骤
32、Specification(设计描述)List the functions of a system that describe the behavior of an abstraction clearly with out ambiguity.Modeling(设计建模)Process of conceptualizing and refining the specifications, and producing a hardware and software model.软硬件协同设计基本步骤软硬件协同设计基本步骤Validation:Process of achieving a reas
33、onable level of confidence(置信度) that the system will work as designed.Takes different flavors per application domain(根据应用领域而不同): cosimulation for performance and correctness(性能与功能的协同仿真)软硬件协同设计基本步骤软硬件协同设计基本步骤Implementation:Physical realization of the hardware (through synthesis) and of executable sof
34、tware (through compilation).协同设计中的软硬件划分与调度协同设计中的软硬件划分与调度 (where and when)A hardware/software partitioning represents a physical partition of system functionality into application-specific hardware and software.Scheduling is to assign an execution start time to each task in a set, where tasks are link
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新能源投资合作框架协议3篇
- 2024商铺租赁协议书:绿色家居建材市场租赁范本3篇
- 2024年度工业自动化设备配件集成采购合同范本3篇
- 2024年二零二四年度新型外墙装饰材料研发与应用合同3篇
- 2024年智能硬件设备研发与制造合同
- 2024夏令营亲子互动游戏开发与实施合同正规范本3篇
- 2024年度驾驶员健康保障与福利聘用劳动合同3篇
- 2024年暴雨应急预案(30篇)
- 《汽安展广州站总结》课件
- 预防电子邮件诈骗:保护个人信息的重要性
- 2024-2025学年安徽省合肥市巢湖市三年级数学第一学期期末达标测试试题含解析
- 24秋二年级上册语文期末复习21天冲刺计划(每日5道题)
- 新探索研究生英语(基础级)读写教程参考答案Language-focus
- 企业年终总结大会PPT模板
- 住宅项目规范(2022)
- 2012生物化学答疑-02
- 苏教版新版五年级上册科学全册单元期末知识点梳理(1)
- 《鸡兔同笼》ppt课件
- 制袋作业指导书
- 化工厂防火防爆设计
- 高压氧舱技术要求
评论
0/150
提交评论