简述先硬件后软件设计方法与协同设计方法的差别

2020-12-11 14:26:35 字数 4943 阅读 8598

1楼:我的小名叫仙女

第一步,用hdl语言和c语言进行系统描述并进行模拟**和系统功能验证;

第二步,对软硬件实现进行功能划分,分别用语言进行设计并将其综合起来进行功能验证和性能**等**确认(协调模拟**);

第三步,如无问题则进行软件和硬件详细设计;

第四步,最后进行系统测试。

什么是嵌入式系统的软硬件协同设计

2楼:匿名用户

1 协同设计与传统设计方法的比较

嵌入式系统是由若干个功能模块组成的,这些功能模块按照其性质可以分为软件模块和硬件模块两类。在过去几十年内,系统的设计方法经历了很大的变化,有自上向下的设计方法,也有模块化设计方法,他们总体上都是硬件模块优先的设计方法,将其统称为传统的设计方法。

这种设计方法将硬件和软件分为两个独立的部分。在整个设计过程中,通常采?quot;硬件优先的原则",即在粗略估计软件任务需求的情况下,首先进行硬件设计,然后在此硬件设计平台上进行软件设计。

由于在硬件设计过程中缺乏对软件构架和实现机制的清晰了解,硬件设计工作带有一定的盲目性。他的系统优化由于设计空间的限制,只能改善硬件/软件各自的性能,不可能对系统做出较好的综合优化,得到的最终设计结果很难充分利用硬软件资源,难以适应现代复杂的、大规模的系统设计任务。

而嵌人式系统软硬件协同设计是让软件设计和硬件设计作为一个整体并行设计,找到软硬件的最佳结合点,从而使系统高效工作。

软硬件协同设计最主要的一个优点就是在设计过程中,硬件和软件设计是相互作用的,这种相互作用发生在设计过程的各个阶段和各个层次。

设计过程充分体现了软硬件的协同性。在软硬件功能分配时就考虑到了现有的软硬件资源,在软硬件功能的设计和**评价过程中,软件和硬件是互相支持的。这就使得软硬件功能模块能够在设计开发的早期互相结合,从而及早发现问题及早解决,避免了(至少可以减少)在设计开发后期反复修改系统以及由此带来的一系列问题,而且有利于挖掘系统潜能、缩小产品的体积、降低系统成本、提高系统整体性能。

2 软硬件协同设计的过程

总的来说,软硬件协同设计的系统设计过程可以分为系统描述、系统设计、**验证与综合实现4个阶段。

系统描述是用一种或多种系统级描述语言对所要设计的嵌入式系统的功能和性能进行全面的描述,建立系统的软硬件模型的过程。系统建模可以由设计者用非正式语言,甚至是自然语言来手工完成,也可以借助eda工具实现。手工完成容易导致系统描述不准确,在后续过程中需要修改系统模型,从而使系统设计复杂化等问题,而优秀的eda工具可以克服这些弊端。

对于嵌人式系统来说,系统设计可以分为软硬件功能分配和系统映射2个阶段。软硬件功能分配就是要确定哪些系统功能由硬件模块来实现,哪些系统功能由软件模块来实现。硬件一般能够提供更好的性能,而软件更容易开发和修改,成本相对较低。

由于硬件模块的可配置性,可编程性以及某些软件功能的硬件化、固件化,某些功能既能用软件实现,又能用硬件实现,软硬件的界限已经不十分明显。此外在进行软硬件功能分配时,既要考虑市场可以提供的资源状况,又要考虑系统成本、开发时间等诸多因素。因此,软硬件的功能划分是一个复杂而艰苦的过程,是整个任务流程最重要的环节。

系统映射是根据系统描述和软硬件任务划分的结果,分别选择系统的软硬件模块以及其接口的具体实现方法,并将其集成,最终确定系统的体系结构。具体地说,这一过程就是要确定系统将采用哪些硬件模块(如全定制芯片、mcu,dsp,fpga、存储器、i/o接口部件等)、软件模块(嵌入式操作系统、驱动程序、功能模块等)和软硬件模块之间的通讯方法(如总线、共享存储器、数据通道等)以及这些模块的具体实现方法。

**验证是检验系统设计正确性的过程。他对设计结果的正确性进行评估,以达到避免在系统实现过程中发现问题时再进行反复修改的目的。在系统**验证的过程中,模拟的工作环境和实际使用时差异很大,软硬件之间的相互作用方式及作用效果也就不同,这也使得难以保证系统在真实环境下工作的可靠性。

因此,系统模拟的有效性是有限的。

软硬件综合就是软件、硬件系统的具体制作。设计结果经过**验证后,可按系统设计的要求进行系统制作,即按照前述工作的要求设计硬件软件,并使他们能够协调一致地工作,制作完成后即可进行现场实验。

3 协同设计.eda工具简介

软硬件协同设计比较有代表性的eda工具有corsair,cool和polis。这几个系统都是从系统级的系统行为描述开始,经过成本的估计,软硬件划分、软硬件的协同综合、模拟,最后到板级的快速原型(除co()l外)。原型板一般包含mcu以及asic或fpga。

软件部分在微处理器或者微控制器上运行,硬件部分在asic或fpga上实现。

corsair的系统描述阶段用sdl和pmsc两者相结合对系统进行建模。sdl是一种基于有限状态机语义的面向对象的系统说明描述语言。corsair用他来描述系统的行为功能。

而系统的性能需求则由pmsc来描述。cool使用vhdl语言作为系统的描述语言。在polis中,设计者使用某种具有扩展有限状态机语义的高级语言(比如vhdl的可综合的子集)进行系统描述。

这几个系统的计算模型基本上都是限定在扩展的f**。当前,在系统的设计中,使用ulmi。作为系统建模语言是很有前景的发展方向。

软硬件划分方面,polis需要由手工实现,其他两种工具可以自动划分。corsair的目标体系结构是多处理器多fpga,cool是多处理器,而pous是单处理器。

这几种系统协同综合阶段的目的就是生成硬件的硬件描述语言和软件的c**,并对他们进行协同模拟。

3楼:狮子小凯捞

嵌入式系统是由若干个功能模块组成的,这些功能模块按照其性质可以分为软件模块和硬件模块两类。在过去几十年内,系统的设计方法经历了很大的变化,有自上向下的设计方法,也有模块化设计方法,他们总体上都是硬件模块优先的设计方法,将其统称为传统的设计方法。

这种设计方法将硬件和软件分为两个独立的部分。在整个设计过程中,通常采?quot;硬件优先的原则",即在粗略估计软件任务需求的情况下,首先进行硬件设计,然后在此硬件设计平台上进行软件设计。

由于在硬件设计过程中缺乏对软件构架和实现机制的清晰了解,硬件设计工作带有一定的盲目性。他的系统优化由于设计空间的限制,只能改善硬件/软件各自的性能,不可能对系统做出较好的综合优化,得到的最终设计结果很难充分利用硬软件资源,难以适应现代复杂的、大规模的系统设计任务。

从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类?

4楼:小丁创业

从底层硬件到上层应用,嵌入式软件的开发可以分为以下三类:

1、嵌入式操作系统开发

嵌入式操作系统eos(embedded operating system)是一种被广泛使用的系统软件。过去,它主要用于工业控制和国防系统领域。 eos负责分配和调度嵌入式系统的所有软件和硬件资源,控制和协调并发活动。

它必须体现其所在系统的特征,并能够通过加载和卸载某些模块来实现系统所需的功能。嵌入式操作系统通常以商业操作为主。自1980年代以来,商业嵌入式操作系统已开始蓬勃发展。

2、嵌入式支撑软件开发

支撑软件是用于帮助和支撑软件开发的软件,通常包括数据库和开发工具,其中数据库是最重要的。随着移动通信技术的进步,人们对移动数据处理提出了更高的要求。嵌入式数据库技术已受到学术,工业,军事和民用领域的关注。

嵌入式移动数据库或简称为移动数据库(emdbs)是支持移动计算或特定计算模型的数据库管理系统。数据库系统与操作系统和特定的应用程序集成在一起,并在各种智能嵌入式设备或移动设备上运行。

3、 嵌入式应用软件开发

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。

嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。

5楼:匿名用户

bootloader-》硬件驱动开发-》操作系统层-》用户应用软件;对应的开发语言常用为:汇编-》c、c++-》java/c++

嵌入式系统的设计流程是什么?

6楼:

一、嵌入式系统

开发流程

1、系统需求分析:根据需求,确定设计任务和设计目标,指定设计说明书。

2、体系结构设计:描述系统如何实现所述的功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型。

3、硬件/软件协同设计:基于体系结构的设计结果,对系统的硬件、软件进行详细设计。一般情况下嵌入式系统设计的工作大部分都集中在软件设计上,现代软件工程经常采用的方法是面向对象技术、软件组件技术和模块化设计。

4、系统集成:把系统的硬件、软件和执行装置集成在一起进行调试,发现并改进设计过程中的不足之处。

5、系统测试:对设计好的系统进行测试,检验系统是否满足实际需求。

二、嵌入式软件开发

嵌入式软件开发的一般流程为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。与一般的软件开发区别主要在于软件实现的编译和调试两部分即为交叉编译与交叉调试。

软硬件协同设计属于集成电路设计范畴吗

7楼:

嵌入式系统的软硬件协同设计既是通过综合分析系统软硬件功能及现有资源,最大限度

版地挖掘系

权统软硬件之间的并发性,协同软硬件体系结构,找到软硬件的最佳结合点,从而使系统高效工作的一种现代嵌入式系统设计。

与传统的嵌入式系统设计方法不同,软/硬件协同设计强调软件和硬件设计开发的并行性和相互反馈,克服了传统方法中把软件和硬件分开设计所带来的种种弊端,协

调软件和硬件之间的制约关系,达到系统高效工作的目的,软/硬件协同设计提高了设计抽象的层次,拓展了设计覆盖的范围。

软件和硬件的区别?

8楼:百度文库精选

最低0.27元开通文库会员,查看完整内

原发布者:三伏天的感冒

软件与硬件的关系没有软件的计算机硬件称为裸机,裸机是不能工作的。所以,一个完整的计算机应急系统是由硬件和软件构成的,二者缺一不可。硬件与软件的关系见图1—50。

综上所述,计算机系统的组成见图1—51。