0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于EDAs实现系统软硬件划分算法的协同设计

电子设计 来源:微计算机信息 作者:丁日新,陈超泉 2020-10-11 11:49 次阅读

1 引言

嵌入式系统是由一个或若干个微处理器ASICs、存储器和总线构成的,在一定时间内响应输人的系统。传统的嵌入式系统的设计方法将硬件和软件划分为两个独立的部分,由硬件工程师和软件工程师按照拟定的设计流程分别完成。这种设计方法只能改善硬件和软件各自的性能,而在有限的设计空间中不可能对整个系统做出较好的性能综合优化。随着嵌入式系统的功能越来越强,其结构变得越来越复杂,系统的集成度越来越高,调试越来越困难,传统的设计方法是已经不能满足现代嵌入式系统的设计要求,取而代之的是以软硬件协同设计为主要特征的系统设计方法,其主要思想是用自动、优化的系统体系结构开发替代人工的软硬件子系统分割,在系统设计的高层阶段实现系统原型的快速开发并预估系统实现的性能,实现系统在性能、成本等方面的优化。

软硬件划分是嵌入式系统软硬件协同设计中的一个关键问题,其作用是从软硬件系统设计空间中,根据系统功能定义,获得一个满足系统时间、成本、功耗等方面要求的趋于最优的实现,其结果直接决定系统设计的优劣。近年来,人们将各类启发式算法应用于软硬件划分的研究中,取得了较好的方案。Eles 等利用模拟退火算法,Ernst 等采用模拟退火算法和禁忌搜索算法,Saha 等运用遗传算法实现软/硬件划分。软硬件划分问题本质上是一类组合优化问题,分布估计算法(Estimation of Distribution Algorithms,EDAs)是一种新的基于种群进化的算法,具有收敛速度快,避免陷入局部最优的特点。本文提出了一个基于分布估计算法的软硬件划分算法,较好地应用于软硬件协同设计中。

2 划分模型

系统功能的软件通常采用C/C++ 语言等高级程序设计语言实现,然后根据不同颗粒度的要求提取系统控制数据流图CDFG。控制数据流图是系统的行为级描述,通常使用有向无环图表示,主要描述系统中任务间的控制、数据关系及每个任务的代价信息,而与系统实现时采用什么样的体系结构无关。

基于EDAs实现系统软硬件划分算法的协同设计

3 划分算法

分布估计算法是一类基于概率模型的进化算法, 与传统的进化方法不同, 它不使用交叉、变异等算子,而是以群体中适应度较高的个体的概率分布作为进化模型,并由该模型产生下一代子群,利用跟先进的方法取代了遗传算法再结合操作方式,拓展了算法的应用空间。由于进化模型是由统计的概率分布信息推导而来, 因而能最大限度地利用已有信息,更准确地反映变量间的相互关系,显现出群体的主要特征。理论研究表明,EDAs 在迭代过程中有可能获取群体中的个体之间及个体中不同位之间的交互信息,辨识并且操纵重要的模式块,从而能够有效求解决策变量之间有相互作用的优化问题。

根据概率估计算法的不同,EDAs 分为一阶EDAs 和高阶EDAs 两大类,其中,二阶EDAs 中的建立在一般结构Gauss 网络上的分布估计算法(GN-EDA )采用一种不使用条件概率密度函数来产生样本的方法,无需进行Gauss 网络结构的学习,大大减少了计算量,而且可以获得高精度的联合密度函数。

GN- EDA 的算法步骤为:

4 仿真试验

算法采用C++ 在m IntelP41.6GHz 256MRam 环境下实现,CDFG 的结点数、时间约束、每个节点的信息、结点之间的连接关系都是随机生成的。首先,随机生成了 30、60、100 、200 个节点的 CDFG,并随机生成了各个节点的性能参数,同时根据对节点的性能参数的分析,确定了系统的约束条件以及这些约束条件各自的权重。CDFG 硬件执行时间为软件执行时间的20%“50%,硬件代价约束取值为总硬件代价之和的50% 。对每个 CDFG 都进行 100 次的测试,并将最终求出的最优解的代价函数值的平均值同遗传算法求出的值进行了比较,实验数据如表 1 所示。

表 1 为60 节点系统随机运行10 次的统计结果。从表中数据可以看出,与遗传算法相比,本文提出的GN-EDA 算法在算法的执行速度和搜索目标函数最优值方面都有很大的优势。对于各节点数系统,尤其是对于较多节点数系统,GN-EDA 算法有更为优化的结果,且划分结果较为稳定。

图 2 为 60 节点系统随机运行30 次,划分过程中平均每代最佳有效个体对应的系统性能,从图中可以看出GN-EDA 算法有很好的收敛性。

5 结论

本文作者创新点:运用一种建立在一般结构Gauss 网络上的分布估计算法对嵌入式系统软硬件划分问题进行了研究,该算法无需进行Gauss 网络结构的学习,大大减少了计算量,适用于处理日趋复杂的嵌入式系统软硬件划分问题。实验结果表明,GN-EDA 算法能有效地完成软硬件划分,并具有较好的计算稳定性。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4977

    文章

    18252

    浏览量

    287960
  • 存储器
    +关注

    关注

    38

    文章

    7120

    浏览量

    161927
收藏 人收藏

    评论

    相关推荐

    支持过程级动态软硬件划分的RSoC设计与实现

    。实验表明该系统能够较好的支持过程级的动态软硬件划分,实现了节省资源、简化设计,提高性能等目的。【关键词】:可重构片上系统;;动态
    发表于 05-28 13:40

    基于SoPC的状态监测装置的嵌入式软硬件协同设计

    趋势的典型代表。SoPC技术为嵌入式系统设计提供了一种更为方便、灵活和可靠的软硬件协同实现方式。本文利用基于SoPC的软硬件
    发表于 01-22 16:41

    基于Altera FPGA的软硬件协同仿真方法介绍

    摘要:简要介绍了软硬件协同仿真技术,指出了在大规模FPGA开发中软硬件协同仿真的重要性和必要性,给出基于Altera FPGA的门级软硬件
    发表于 07-04 06:49

    如何去实现一种基于SoPC的软硬件协同设计呢

    什么是软硬件协同设计呢?片上可编程系统SoPC是什么?如何去实现一种基于SoPC的软硬件协同设计
    发表于 12-24 07:15

    基于EDA的嵌入式系统软硬件划分方法

    针对嵌入式系统软硬件协同设计中的软硬件划分问题,提出了一种基于分布估计算法的解决方案,通过将
    发表于 06-18 08:52 18次下载

    基于时间Petri网的嵌入式系统软硬件划分方法

    软硬件划分技术是软硬件协同设计中的一个关键技术。提出将时间Petri 网应用到软硬件划分当中,为
    发表于 08-15 14:34 11次下载

    基于EDA 的嵌入式系统软硬件划分方法

    基于EDA 的嵌入式系统软硬件划分方法Hardware/Software Partitioning Method Based on Estimation of Distribution 摘要:针对嵌入式
    发表于 12-05 16:34 26次下载

    面向HDTV应用的音频解码软硬件协同设计

    摘要:该文以Dolby实验室的音颇AC3算法为基础,研究了在RISC核Virgo上HDTV音频解码的软硬件协同设计方法,提出了通过对程序关键子函数建模来实现
    发表于 07-02 21:56 32次下载

    FPGA-SoPC软硬件协同设计

    本内容详细介绍了FPGA-SoPC软硬件协同设计
    发表于 05-09 15:59 41次下载
    FPGA-SoPC<b class='flag-5'>软硬件</b><b class='flag-5'>协同</b>设计

    SOPC的嵌入式软硬件协同设计平台实现

    对基于FPGA的SOPC软硬件协同设计方法进行了研究,在此基础上,详细设计了系统硬件平台,并对硬件平台的
    发表于 12-22 11:01 1345次阅读
    SOPC的嵌入式<b class='flag-5'>软硬件</b><b class='flag-5'>协同</b>设计平台<b class='flag-5'>实现</b>

    基于FPGA的软硬件协同实时纸病图像处理系统_齐璐

    基于FPGA的软硬件协同实时纸病图像处理系统_齐璐
    发表于 03-19 19:07 0次下载

    基于FPGA的软硬件协同测试设计影响因素分析与设计实现

    ,不利于硬件的开发进度。面对这一难题,文章从FPGA 的软硬件协同测试角度出发,利用PC 机和测试硬件设备的特点,进行FPGA 的软硬件
    发表于 11-18 05:46 1643次阅读

    软硬件协同设计机遇与挑战分析

    软硬件协同设计是指对系统中的软硬件部分使用统一的描述和工具进行集成开发,可完成全系统的设计验证并跨越软硬
    发表于 11-25 03:45 512次阅读

    基于ESL的软硬件划分在AVS解码器中的应用

    本文通过一个设计实例,介绍了基于电子系统级设计,的软硬件划分在嫡解码器中的应用在视频解码的软硬件协同设计中,虚拟平台在
    发表于 03-29 11:25 7次下载
    基于ESL的<b class='flag-5'>软硬件</b><b class='flag-5'>划分</b>在AVS解码器中的应用

    软硬件协同设计是系统芯片的基础设计方法学

    软硬件协同仿真验证是对软硬件功能设计的正确性及性能进行验证和评估。传统设计中,硬件和软件通常是分开独立开发设计的,到系统设计后期才将
    的头像 发表于 08-12 11:28 2787次阅读