软硬件协同设计(Hardware Software Co-design)是指在系统芯片开发过程中,软件与硬件共同定义与开发的过程。在进行系统芯片定义时,特定功能既可以通过处理器运行软件来实现,也可以用专用硬件来实现。软件实现灵活,可升级,但能效比较低;硬件实现能效高,但一旦设计好了就无法更改。通过软硬件协同设计,能够以定量的方式研究系统中各个部件以软件或硬件的方式实现的优劣,从而最终寻找到系统芯片设计的优化解决方案。因此软硬件协同设计是系统芯片的基础设计方法学。
软硬件协同设计分为软硬件划分,软硬件协同仿真验证和软硬件综合3个阶段,如图5-99所示。
软硬件划分是在系统层面上进行功能划分,确定系统的部分功能模块采用硬件实现,部分系统功能模块采用软件实现。在进行软硬件功能划分时,设计开发者既要考虑系统的开发时间,成本,又要考虑市场可提供的资源等诸多因素。在系统芯片开发设计过程中,软硬件划分难度较大,过程复杂,是整个系统芯片开发设计中的最重要环节。
软硬件协同仿真验证是对软硬件功能设计的正确性及性能进行验证和评估。传统设计中,硬件和软件通常是分开独立开发设计的,到系统设计后期才将软硬件两部分集成到一起进行验证。在协同设计中,硬件和软件是交互设计的,在设计的每一个阶段都可以进行系统的软硬件验证。仿真验证的目的是在设计早期利用仿真验证系统尽早发现设计中的问题,避免在系统设计后期进行修改,造成不必要的时间和成本浪费。
软硬件综合是将高层次的软硬件描述转化为软硬件的低层次软硬件实现。其主要任务是在系统设计约束下,研究利用系统提供的各种软硬件资源,在满足系统设计性能要求的基础上,实现最终的软硬件系统。
软硬件协同设计方法学的研究始于20世纪90年代初期,随后快速发展起来。目前,软硬件协同设计方法被广泛应用在系统芯片设计中。基于ARM公司的RVDS(Real View Development Suite),Cypress公司的PSoC Creator IDE和Synopsys公司的Virtual Platform 可以提供完整的系统芯片软硬件协同设计和验证。
审核编辑 :李倩
-
软硬件
+关注
关注
1文章
287浏览量
19166 -
系统芯片
+关注
关注
0文章
38浏览量
18363
原文标题:系统芯片设计—软硬件协同设计
文章出处:【微信号:Semi Connect,微信公众号:Semi Connect】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论