(计算机系统结构专业论文)基于soc的硬软件划分方法研究.pdf_第1页
(计算机系统结构专业论文)基于soc的硬软件划分方法研究.pdf_第2页
(计算机系统结构专业论文)基于soc的硬软件划分方法研究.pdf_第3页
(计算机系统结构专业论文)基于soc的硬软件划分方法研究.pdf_第4页
(计算机系统结构专业论文)基于soc的硬软件划分方法研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

j s 南京邮电大学 硕士学位论文摘要 南京邮 u 人学坝i j f i f 究生学位论义摘盅 摘要 本文研究了片上系统( s o c ) 及基于该系统的硬软件划分技术,研究了常用的几种划 分算法,提出了种比较高效的硬软件划分算法,改进的微粒群算法。该算法原理简单, 易于并行,为片上系统的硬软件划分问题提供了新的途径。 全文首先对片上系统的概念、特征与发展状况进行了研究,然后对硬软件划分的概念、 步骤、方法、划分中出现的问题以及常用的划分算法进行了研究。而面对日益增大的系统 规模,针对由l p 核集成起来的片上系统,硬软件任务划分是片上系统设计的重要环节,对 系统的后续设计实现、系统整体性能和成本都有较大的影响。硬软件划分是片上系统设计 时要解决的难点之一。 本文着重研究了微粒群算法在片上系统硬软件划分问题中的应用。具体包括:对基本 微粒群算法的定义、分析和建模,并在此基础上提出改进的微粒群算法。在两个方面做出 了改进:全局搜索能力和局部收敛能力。惯性系数w 设置的合适与否,对形成本地和全局 探索的平衡影u 向很大。为了既不错过本地最优位置,又能及时向全局最优位置靠拢,设置 了新的惯性函数和适应度函数,并加入了“吸引”和“扩散”两个算子,充分利用了不同 阶段微粒的适应度值,使原来只依靠历史信息进行搜索的算法更贴近应用特征,也更容易 收敛于最优解。并对改进后的算法性能进行测试,与基本微粒群算法及遗传算法的性能做 比较,通过三者在成本及划分时间上的对比,来证明改进的微粒群算法的优越性。结果表 明,改进的微粒群算法是可行的和有效的,对于高维情形效果更佳。 关键词:片上系统,硬软件划分,改进的微粒群算法 f 南京| | i | l 也人学颂i : i j 究生学位论义 a b a t r a c t a b s t r a c t t h i sp a p e rm a i n l ys t u d i e st h et e c h n o l o g yo fs y s t e mo nc h i p ( s o c ) a n dt h em e t h o d so f h a r d w a r e s o f t w a r ep a r t i t i o n i n gb a s e do ns o c a f t e ra n a l y z i n gt h r e ep a r t i t i o n i n gm e t h o d s w h i c ha r ei nc o m m o nu s e ,t h i sp a p e rp r e s e n t sah a r d w a r e s o f t w a r e p a r t i t i o n i n ga l g o r i t h m w i t hh i g he f f i c i e n c y ,p a r t i c l es w a r m o p t i m i z a t i o n ( p s o ) a l g o r i t h m d u et oi t sa d v a n t a g e so f s i m p l ei m p l e m e n t a t i o na n dp a r a l l e l i z a t i o n ,i tp r o v i d e san e wd i r e c t i o nf o rt h ep r o b l e mo f h a r d w a r e s o f t w a r ep a r t i t i o n i n gb a s e do fs o c f i r s t l y ,t h i sp a p e ri n t r o d u c e st h ed e f i n i t i o n ,c h a r a c t e ra n dd e v e l o p i n gc o n d i t i o no f s o c ,a n d t h e n a n a l y z e s t h e c o n c e p t i o n ,a p p r o a c h e s ,m e a s u r e sa n dt h eu s u a lt r o u b l eo f h a r d w a r e s o f t w a r ep a r t i t i o n i n g t h r e ec o m m o np a r t i t i o n i n ga l g o r i t h m sh a v eb e e ns t u d i e d w i t ht h ei n c r e a s eo fs y s t e ms i z e ,f o rt h es o cw h i c hi sa s s e m b l e db yi pm o d e l ,t h ep r o c e s so f h a r d w a r e s o f t w a r ep a r t i t i o n i n g ,t h en ph a r d p r o b l e m ,e f f e c t st h er e s u l to ft h ew h o l e s y s t e m ,a n di sap i v o t a ls t e pa n do n eo ft h ed i f f i c u l t i e si ns o cd e s i g n s e c o n d l y ,t h ea p p l i c a t i o no fp s oa l g o r i t h mi nh a r d w a r e s o f t w a r ep a r t i t i o n i n gi s p r i n c i p a l l ye x p l a i n e d i ti sa b o u tt h ed e f i n i t i o n ,a n a l y s i s ,m o d e l i n g ,a n da p p r a i s a lo fp s o a l g o r i t h m ,a n dt h er e d e s i g n i n go fi t t h er e f o r mc o n t a i n st w os i d e s :c o m p r e h e n s i v es e a r c h 南京i | j i ;l u 人学坝i j 究生学位论义日录 目录 第一章绪沦1 1 1 研究背景1 1 1 1 片上系统应运而生1 1 1 2 硬软件协同设计方法2 1 1 3 硬软件实现方法5 1 2 课题目的与意义6 13 论文的组织结构7 第二章片上系统一9 2 1 片上系统的概念与特征9 2 1 1 片上系统的概念9 2 1 1 片上系统的特征1 2 2 2i p 复用技术1 4 2 2 1 i p 的实际内涵1 4 2 2 2i p 核的特点1 4 2 2 3l p 核的三种形式1 5 2 3s o c 的优缺点:1 6 2 3 1 片上系统的优点1 6 2 3 2 片上系统的缺点1 7 2 4 片上系统的发展状况18 2 5 本章小结1 9 第三章硬软件划分2 1 3 1 硬软件划分的概念2 1 3 2 硬软件划分的步骤和方法2 2 3 3 硬软件划分中的问题2 4 3 3 1 系统描述2 4 3 3 2 划分粒度2 5 3 3 3 系统组件分配2 6 3 3 4 划分算法2 6 3 3 5 适应度函数2 7 i i i 南京邮i u 人掌坝| j m 生字位论艾目录 3 3 6 输出2 9 3 4 几种常用的硬软件划分算法2 9 3 4 1 遗传算法2 9 3 4 2 模拟退火算法31 3 4 3 禁忌搜索算法3 2 3 5 本章小结:3 3 第四章引入小型! 境思想的微粒群算法3 4 4 1 微粒群算法研究3 4 4 1 1 弓i 言3 4 4 1 2 基本的微粒群算法3 4 4 1 3 微粒群算法流程3 6 4 1 4 与其它进化算法的比较。3 6 4 1 5 两种基本进化模型3 7 4 2 改进的微粒群算法3 8 4 2 1 对进化方程的改进3 8 4 2 2 引入吸引和扩散算子3 9 4 - 3 实验结果与分析4 0 4 3 1 有向图生成和参数设定一4 0 4 3 2 适应度函数4 l 4 3 3 进化方程4 1 4 3 4 仿真结果与分析4 2 4 4 本章小结4 4 第血章总结与展望4 5 致谢4 7 参考文献一4 8 攻读硕士学位期间发表的学术论文一5 1 i v 南京| | i l f l u 火学顺卜f i j l = 究生学位论义 第一章绪论 1 1 研究背景 1 1 1 片上系统应运而生 , 第一章绪论 以片上系统( s o c ,s y s t e mo nac h i p ) 为代表的嵌入式应用系统正在深刻地改变着我 们的生活。随着v l s i 工艺的飞速发展,器件特征尺寸越来越小,芯片规模越来越大,为 整个系统的芯片集成提供了可能。同时,多种兼容工艺技术的发展,使设计者能够将愈来 愈复杂的功能集成到单块硅片上,将以往必须在p c b 板上使用的多块芯片的系统集成到一 f 块芯片内部,于是便出现了系统级芯片,即片上系统( s o c ) ,从而产生了s o c 设计技术。 片上系统技术始于2 0 世纪9 0 年代中期,随着半导体工艺技术的发展,i c 设计者能 够将愈来愈多复杂的功能集成到单硅片上,s o cj 下是在集成电路( i c ) 向集成系统( i s ) 转变的大方向下产生的 1 】。1 9 9 4 年m o t o r o l a 发布的f l e x c o r e 系统( 用来制作基于6 8 0 0 0 和p o w e r p c 的定制微处理器) 和1 9 9 5 年l s i l o g i c 公司为s o n y 公司设计的s o c ,是基于 i p ( i n t e l l e c t u a lp r o p e r t y ) 核完成s o c 设计的最早报道 2 】。由于s o c 可以充分利用已有的 设计积累,从而显著地提高了a s i c 的设计能力,因此发展非常迅速,引起了工业界和学 术界的广泛关注。 随着半导体工艺技术的发展,片上系统被广泛应用于国防电子、数字家庭、工 化、汽车电子、医学科技、消费电子、无线通讯、电力系统等国民经济的主要行业 1 技术尤其适合于数字化产品的开发,如手持设备、信息家电、消费电子、工业控制 探测、空间技术等等领域。s o c 的设计过程是一项非常复杂且极具挑战性的工作, 般采用硬软件协同设计的方法。 南京i | f | j l 也人学硕l j 研究生学位论义 第一章绪论 1 1 2 硬软件协同设计方法 如图1 1 所示,是传统设计流程和硬软件协同设计流程的比较。传统的设计方法基本 上是硬软件设计相分离的。这种设计方法存在以下不足: ( 1 ) 早期的这种设计缺少统一的硬软件表示方法,缺乏系统层的性能估计,硬软件划 分仅凭经验,系统的硬软件在性能、能耗、成本验证之前就被划分为硬件和软件实现设计, 最终结果很难达到充分利用硬件、软件资源和取得最佳的性能效果。 ( 2 ) 硬软件的开发过程割裂,缺乏沟通。由于异构型系统的硬软件的复杂性,在这种 设计过程中硬软件不能得到协调优化,导致设计质量不高。 ( 3 ) 设计自动化程度低,系统级设计依赖设计人员手工进行,大规模的设计超出了设 计人员的思维能力,导致设计效率低下。 ( 4 ) 设计过程串行化增加了设计周期。 设计流程主要采用先设计硬件后设计软件的开发模式,一般是在实现了硬件的物理原 型之后,才丌始进行软件的开发。这种串行设计不能充分及时地进行全系统验证,一旦在 测试时发现问题,或是需要对设计进行修改时,整个设计流程将重新开始,从而延长了设 计周期,增加了设计成本。难以适应现代复杂的、大规模的系统设计任务。 传统的i c 设计方法采用硬件先行的方法,及先设计硬件,再根据算法设计软件。而 在深亚微米设计中,硬件的费用是非常大的,当设计完成后,发现错误进行更改,要花费 南京i l l l l i u 人学坝i j 形i 歹生学位论文第一荦绪论 大量的费用和时间。传统的设计方法对s o c 设计不再适用。 硬软件系统设计方法是一种并行设计方法。在片上系统设计中,将硬软件统一描述的 系统功能模块按照一定的结构,划分为硬件部分和软件部分后,可以将硬件和软件分别交 由不同的设计人员并行设计。在系统的硬软件分别设计完成后,再将它们集成为完整的系 统,进行系统功能的测试 3 。这种并行设计的方法可以分解系统设计为更小规模的设计子 问题,有效地缩短丌发周期,同时能保证系统的设计质量。 在s o c 设计中,为了既可缩短开发周期,又能取得更好的设计效果,需要使用硬软件 协同设计技术。在现代的s o c 设计中,对硬软件的划分要从系统的角度,将硬软件完成的 功能作均衡,以要达到的目标为设计标准,在系统的复杂度一定时,使硬软件结合达到更 高的性能。硬软件划分好以后,硬软件的设计一直是保持并行的,在设计过程中两者交织 在一起,如图1 1 b 所示。 硬软件协同设计的方法可以使软件设计者在硬件完成之前接触到软件模块,从而更好 地设计硬件的驱动程序、应用程序、操作系统等软件,同时可以使硬件设计者尽早接触软 件,为软件设计者提供高性能的硬件平台,减少了设计中的盲目性。 硬软件协同设计具备以下特点: ( 1 ) 在系统层设计中,对硬软件部分使用统一描述和工具进行集成的开发,并且有跨 越硬软件界面进行系统优化的能力。 ( 2 ) 提供硬软件协同验证的能力,可开展全系统设计验证。 ( 3 ) 支持多领域专家进行协同开发。 硬软件协同设计不仅是一种设计技术,同时也是一种新设计方法,硬软件协同设计的 核心问题是沟通软件设计和硬件设计,避免系统中关系密切的两部分设计过早独立。同传 统设计方法相比,硬软件协同设计提高了设计抽象的层次,并拓展了设计覆盖的范围,采 用硬软件协同设计技术可以使嵌入式系统设计得更好、更快。 采用硬软件协同设计的方法有以下优点: ( 1 ) 硬软件协同设计采用统一的工具和表示,可合理划分系统、硬件界面,分配系统 功能,在性能、成本等方面进行折中平衡,得到更优化的设计。 ( 2 ) 硬软件协同设计方法采用并进行设计和协作设计的思想,提高了设计效率,缩短 了设计周期。 ( 3 ) 硬件中的缺点在投片前就可以被改正,减少设计时间和成本。 南京| f | | j l l l 人学坝i j 研究生学位论文 第一章绪论 南京i l i j l 【1 人学坝l j 彤究生学位论义 第一章绪沦 1 1 3 硬软件实现方法 系统功能最终要确定是要用硬件实现,还是要用软件实现。将系统描述分解成为与实 现相关的硬件部分和软件部分。如图1 3 所示,确定系统的硬软件界面,并映射到相应的 硬件和软件上,决定如何在硬软件各种部件之间优化系统配置时,显然,采用硬软件划分 实现方法性价比更高。硬软件划分问题的求解,就是在一定的系统模型基础上,对于解空 间进行搜索的过程 4 】,为系统的每个功能模块( 节点) 选择一种合适的实现方式( 硬件或 软件) ,在满足系统性能要求的条件下,使系统成本达到最小,系统性能达到最大。如下 图所示,如果兼顾系统性能和系统成本,采用硬软件划分实现的方式更加合适。确定系统 功能硬软件实现方式的过程就是硬软件划分。 系统成本 图1 3 硬软件实现方式与成本及性能的关系图 硬软件划分算法是硬软件划分的关键部分。随着片上系统规模的增大,硬软件模块的 数量也随之增多,原来手工可以完成的划分任务,现在需要划分软件协助完成。一个好的 划分算法可以在较快的时问内得出较优的划分方案。一个优秀的划分方案必须考虑系统的 整体性能,如运行时间、功耗、存储容量和产品体积等,属于多约束条件下的优化组合问 题。 为了达到系统成本的最优,确定系统中的每个节点到底采用哪一种实现方式,是一个 全局优化问题。从算法角度讲,也是一个n p 完全问题。这种问题的答案,是无法直接计 算得到的,只能通过问接的“猜算”来得到结果。这也就是非确定性问题。因为若节点数 为n ,如果每个节点有2 种实现方案,那么应用系统的划分方案就多达2 n 种,只有把解域 旱边的所有可能都穷举了之后才能找到答案。虽然可以用穷举法得到答案,一个个检验下 去,最终便能得到结果。但是这样算法的复杂程度,是指数关系,因此计算的时白j 随问题 的复杂程度而指数增长,很快便变得不可计算了。但是针对这类问题通常可以找到一个算 法,它不能直接告诉我们答案是什么,但可以告诉我们,某个可能的结果是正确的答案, 还是错误的。可是这样的算法要简单又有效,并不容易实现,所以硬软件划分算法的设计 南京l j | i f l u 人学坝i j 研究生学位论文 第一苹绪论 也是硬软件划分的难点部分。 在片上系统的硬软件划分算法中,由适应度函数来验汪每次划分算法产生的硬软件划 分方案的有效度。在硬件及软件实现之前,对硬件与软件所实现的功能进行折衷,以便产 生一个最佳的硬软件分配方案,来满足速度、体积、存储容量、功耗和实时性等一系列技 术指标要求。同时在硬件开发之前,应对包含硬件和软件的片上系统所实现的功能进行验 证,以确保片上系统的实现与最初的系统功能规格说明相一致。一致性越强,说明划分方 案的有效度越高。最后选择有效度最高的硬软件实现方法作为硬软件划分方案。 在市场和技术共同推动下,s o c 应用的普及对片上系统的设计要求越来越高,尤其是 急需对设计中面临的关键问题做进一步的研究。从市场层面上看,人们对集成系统的需求 在不断提高。计算机、通信、消费类电子产品及军事等领域都需要集成电路。例如,2 0 0 7 年在军舰、战车、飞机、导弹和航天器中集成电路的成本分别占到总成本s o c 设计的2 2 、 2 4 、3 3 、4 5 和6 6 。随着通信行业的迅速发展和信息家电的迅速普及,迫使集成电 路生产商不断开发i c 新产品,扩大i c 规模,增强i c 性能,提高i c 的上市时间;同时还 需要实现品种的通用性和标准化,以利于批量生产,降低成本。广泛的应用范围以及上述 这些特点,使片上系统的复杂度日益增加,设计的难度也越来越大。在这种情况下,既要 满足产品在速度、功耗、实时性、面积等多方面约束,又要节省成本、及早上市,在硬软 件协同设计技术下,研究更有效的硬软件划分方法很有意义。 1 2 课题目的与意义 传统的设计方法与当代技术发展矛盾重重。首先,电子产品集成的功能越来越多,比 如手机,不仅能打电话和发短信,还能拍照片、玩游戏、看电影,甚至可以用来订火车票、 汽车票,用来登记结婚,而手机的待机时间却要求越来越长,因此电子产品的多功能需求 与低功耗要求之间产生了矛盾 2 】。其次,电子产品更新换代越来越快,而由于功能的不断 复杂,设计难度却越来越大,要在越来越短的时间内完成越来越复杂的设计,它们之间构 成了一对矛盾。最后,集成电路技术飞速发展,根据摩尔定律,集成电路芯片上所集成的 电路的数目,每隔18 个月就翻一番,而设计技术发展落后,往往造成产品的延期交货。 当前片上系统设计的两大重大难题是i p 模块的标准化问题和高效的硬软件划分算法问 题。 本论文所关注的是片上系统设计的第二个关键问题,即硬软件划分算法问题。目前人 们在划分算法上已经做了大量的工作,提出了许多可行的方法,同时也是问题重重。用于 硬软件划分的常见算法有g a ( 遗传算法) ,s a ( 模拟退火算法) ,t s ( 禁忌搜索算法) , 6 南京邮l u 人学坝i j 研究生学位论义+ 第一章绪论 双向约束搜索法,分级群聚法,基于簇的规划法,整数规划、混合线性规划等等【4 。每种 算法各有其特点,可应用于具有一定要求的系统划分中。 如果划分粒度过大,就难以产生理想的舰划效果;但是,如果系统设计时的划分粒度 很小,或者系统功能的复杂度很高,系统中的结点就会显著增多,划分算法在求解的过程 中将面对巨大的搜索空间。这时候,传统算法要么效率太低,无法让人承受,要么容易陷 入局部最优,导致划分结果不能获得很好的性价比。除此之外,对于规划类算法,难以给 出明确的目标函数,而且约束条件很多,不易使用。而启发式算法对启发式规则的要求很 高,而且结果很容易受启发规则的影响。因此,需要对划分算法进行继续深入的研究。 随着高速器件的大量使用和高速数字系统设计越来越多,系统数据速率、时钟频率和 电路密集度都在不断增加,系统芯片的集成,不只是把功能复杂的若干个数字逻辑电路放 在同一个芯片上,还应包括模拟器件和片上存储器,在某些应用中,可能还会扩大一些, 包括射频器件甚至微机电系统。 目前存在的硬软件划分算法,随着科技的发展与进步,逐渐暴露其弊端,若要满足新 时代下片上系统的设计要求,必须改进。本文利用并改进已有的微粒群算法,使之更适用 于系统硬软件任务的分配,来较好解决硬软件划分问题。本论文基于片上系统的设计需求, 在研究已有硬软件划分优化算法的基础上,找到了一种既能满足约束条件又节约成本的快 速划分方法,发展了硬软件划分技术。此算法综合已有算法优点,具有与时俱进的特点, 可以较好地应用于片上系统设计中。 1 3 论文的组织结构 本论文对片上系统以及硬软件划分方法进行了研究,在此基础上提出了一种针对片上 系统的硬软件划分算法,并进行了仿真实验与性能比较。论文中的各章节安排如下: 第一章:绪论。阐述了片上系统的产生背景,研究了片上系统的硬软件协同设计技术 和硬软件实现方法,然后分析了选择此课题的目的和意义,最后给出了论文的组织结构。 第二章:片上系统的相关技术。研究了片上系统的概念和特征,i p 复用技术,片上系 统的优缺点,和片上系统的发展状况等问题。 第三章:研究了硬软件划分问题的概念、步骤、方法和划分中的关键问题。指出了系 统任务分别用硬件实现和软件实现各自所具有的优缺点。然后研究了硬软件划分的六个步 骤,然后对前人就划分问题所提出的一些有效的方法进行了分析。得出了划分中遇到的一 些基本问题:系统描述、划分粒度、系统组件分配、划分算法、适应度函数和输出,对划 分算法进行了总结。接着,分析了三种常用的硬软件划分算法,遗传算法、模拟退火算法 7 堕皇些! 坚叁兰塑! 型! ! ! 竺堂些堡兰 丝二里笙笙 和禁忌搜索算法:并研究了他们各自的特点。 第四章:研究了片上系统硬软件划分的特点,然后深入研究了基本的微粒群算法,包 括该算法的由来、概念、以及算法流程,并把微粒群算法与其它进化算法做对比,来研究 微粒群算法的特征。在此基础上,进一步提出微粒群算法的两种基本进化模型,为适应应 用的需要,在两个方面改进了基本的微粒群算法,并用仿真实验,通过改进的微粒群算法 与基本的微粒群算法和遗传算法在最优解值和收敛时间上进行对比,证明了改进后算法的 有效性。 第五章:总结与展望。主要对全文进行了总结,并提出了未来需要进一步深入研究的 工作。 南京| i i | :i 乜人学坝i j 研究生学位论义 第二市” :系统 一一第二章片上系统 2 1 片上系统的概念与特征 2 1 1 片上系统的概念 s o c 的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。般说来, s o c 称为系统级芯片,也称为片上系统,意指它是一个产品,是一个有专用目标用途的集 成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从 确定系统功能开始,到硬软件划分,并完成设计的整个过程。从狭义角度讲, 5 】它是信息 系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,s o c 是一个 微小型系统,如果说中央处理器( c p u ) 是大脑,那么s o c 就是包括大脑、心脏、眼睛和 手的系统。国内外学术界一般倾向将s o c 定义为将微处理器、模拟i p 核、数字i p 核和存 储器( 或片外存储控制接口) 集成在单一芯片上,它通常是客户定制的,或是面向特定用 途的标准产品。 片上系统( s o c ) 是半导体业界非常热门的字眼,利用i p 模块将复杂的系统或子系统 集成到一个硅芯片上,从而提高系统性能,降低系统每项功能成本。s o c 设计还具有延长 电池使用寿命,在低成本系统中提供高端功能,减少芯片面积从而获得低功耗等优点。 片上系统是指在单一硅芯片上实现信号采集、转换、存储、处理和i 0 等功能 6 ,且i 】 实现一个系统的功能。s o c 应用系统是以s o c 芯片为核心,添加相关的外围芯片和电路, 组成的应用s o c 的一个系统。嵌入式系统以应用为中心,以计算机技术为基础,并且硬软 件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的应用系统。嵌入式应 用系统包括s o c 应用系统。片上系统是嵌入式系统的一种实现方式。 s o c 其在仿真时可以连同硬件环境一起仿真,仿真工具不只支持对软件程序的编译调 试,同时也支持对硬件架构的编译调试。如果不满意硬件架构设计,想加一个存储器,或 是减少一个接口都可以通过程序直接更改,这一点,m c u ( 微程序控制器) 的设计方法是 无法实现的。m c u 的方法中,硬件架构是固定的,是不可更改的,多了只能浪费,少了 也只能在软件上想办法或是再加,存储空问不够可以再加,如果是接口不够则只能在软件 上想办法复用。仿真之后可以通过将硬、软件程序下载到f p g a 上进行实际硬件调试,以 便更真实地进行器件测试。 9 南京l i i l :i u 人学坝i : i j l = 究生学位论义 第_ 二章”l :系统 外围电路 处理器 = = = 刮存储控制器卜。= 刮数据存储器 内部总线 i 0 接口 模数转换时钟 电源管理 图2 1 片上系统结构描述图 s o c 定义的基本内容主要表现在两方面:其一是它的构成,其二是它设计过程。如图 2 1 所示,是片上系统的基本结构图,片上系统包括处理器、存储控制器、数据存储器、 内部总线、数模转换、时钟和电源管理等部分。复杂的系统级芯片的构成可以是系统级芯 片控制逻辑模块、微处理器微控制器c p u 内核模块、数字信号处理器d s p 模块、嵌入的 存储器模块、与外部进行通讯的接口模块、含有a d c d a c 的模拟前端模块、电源提供 和功耗管理模块等 6 。在单个芯片上集成一个完整的系统,是一个具备特定功能、服务于 特定市场的软件和硅集成电路的混合体。对于一个无线s o c 还有射频前端模块、用户定义 逻辑( 它可以由f p g a 或a s i c 实现) 以及微电子机械模块,更重要的是一个s o c 芯片 内嵌有基本软件( r d o s 或c o s 以及其它应用软件) 模块或可载入的用户软件等。比如 w l a n 基带芯片、便携式多媒体芯片、d v d 播放机解码芯片等。 片上系统的设计流程示意图如图2 2 : 南京l 邮r u 人学硕一i :g f f 生学位论义 第二章片卜系统 功能设计 i 硬袄f , :划分 上 i p 综合 上 功能仿真 电路仿真 + 产品测试 图2 2 片上系统设计流程示意图 s o c 设计可分为六个阶段。如图2 2 所示,采用s o c 技术设计应用电子系统的六个阶 段为:功能设计、硬软件划分、i p 综合、功能仿真、电路仿真和产品测试。在功能设计阶 段,设计者必须充分考虑系统的固件特性,并利用固件特性进行综合功能设计。当功能设 计完成后,就进入硬软件划分阶段。硬软件划分阶段的任务是确定系统功能哪些由硬件实 现,哪些由软件实现。 硬软件划分主要包括以下三个方面,这三个方面既相互独立,又相互依赖: ( 1 ) 处理单元的确定 确定要用到的硬件和软件处理单元的类型和数量,如电路板尺寸矛d c p u 类型等,它也 是设计约束之一。 ( 2 ) 任务分配 把系统中的任务分配到目标结构中的处理单元和资源上执行,并满足系统在性能和成 本方面的约束。这是硬软件划分中最关键的一步,通过多种分配方案的结果预测对比,才 能对划分方案进行调度和评估。 ( 3 ) 任务调度 确定指派在各个处理单元上任务的执行顺序和开始时间,以满足系统任务之间的控制 和数据依赖关系,并优化系统性能。任务调度不仅是评估硬软件划分方案优劣的必要步骤, 也是进一步提升系统性能的有效手段。 硬件实现的特点是速度快,但是成本高;而软件实现的特点是灵活、成本低,但是速 度慢。在满足系统设计要求的同时,如何兼顾系统的性能和成本,达到性能和成本的最佳 结合,是硬软件划分要解决的问题。划分结果的好坏直接影响着系统的性能。从理论上来 1 1 塑皇坐! ! 叁兰丝! ! 堕壅圭兰垡丝塞 兰兰翌竺生墨篓 说,每一个应用系统,都存在一个适合于该系统的硬件和软件功能的最佳组合。应该从应 用系统的需求出发,依据一定的指导原则对硬件和软件的功能进行研究和合理的划分,从 而使系统的整体性能、运行时问、功耗、存储容量等达到最佳状念。 传统的硬软件划分是手工进行的,随着嵌入式系统结构变的更加复杂,系统规模的不 断扩大,开发时间要求更加紧迫,传统的方法己不再可行,单凭设计人员的经验进行划分 很难保证满足设计约束指标,并得到最优或近似最优的结果。这种情况下,对系统级自动 化分工具的需求日益紧迫,近年来自动划分算法得到了雨后春笋般的发展。硬软件划分问 题的求解,就是在一定的系统模型基础上,对于解空间进行搜索的过程,为系统的每个功 能模块选择一种合适的实现方式,在最大化系统性能的条件下,使系统成本达到最小。一 个好的划分算法可以在较快的时间内得出较优的划分方案。一个优秀的划分方案必须考虑 系统的整体性能,如运行时间、功耗和存储容量等,属于多约束条件下的优化组合问题。 如图2 2 所示,硬软件划分完成后,就进入i p 综合阶段。i p 综合阶段的任务是利用强 大的i p 库来实现系统的功能。i p 综合结束后,首先进行功能仿真,以检查是否实现了系 统的设计功能要求。功能仿真通过后,就要进行电路仿真,目的是检查i p 模块组成的电路 能否实现设计功能并达到相应的设计技术指标。若没有达到,就要再进行硬软件划分,以 满足功能要求和技术指标。设计的最后阶段是对制造好的s o c 产品进行相应的测试,以便 调整各种技术参数,进而确定应用参数。 s o c 是一种先进的芯片设计概念,集成了各种功能模块,每一种功能都是由硬件描述 语言设计程序,然后在s o c 内由电路实现的:每一个模块不是一个已经设计成熟的a s i c 器件,只是利用芯片的一部分资源去实现某种传统的功能。这种功能是没有限定的,可以 是存储器,也可以是处理器,如果这片s o c 的系统目标就是处理器,那么做成的s o c 就是 一个m c u :如果要做的是一个完整的带有处理器的系统,那么m c u 就是整个s o c 中的 一个模块,一个i p 。s o c 可以做成批量生产的通用器件,如m c u ;也可以针对某一对象 专门设计,可以集成很复杂的功能,不像m c u 那样有自身架构的限定。它的体积可以很 小,特殊设计的芯片可以根据需要减少体积、降低功耗,在比较大的范围内不受硬件架构 的限制。当然,它也是会受芯片自身物理结构的限制,如晶圆类型、大小等。 2 1 1 片上系统的特征 片上系统常具备以下基本特征: ( 1 ) 片上系统由可设计重用的i p 核组成,i p 核是具有复杂系统功能、能够独立出售 的v l s i 模块。 1 2 南京l l l | :i u 入学坝i j 研究生学位论文第二二覃 上系统 i p 是s o c 的设计基础。传统应用电子设计工程师面对的是各种定制式集成电路,而使 用s o c 技术的应用电子设计工程师所面对的是一个巨大的i p 库 7 ,所有的设计工作都是 以i p 模块为基础的。s o c 技术使应用电子系统设计。工程师变成了一个面向应用的电子器件 设计工程师。由此可见,s o c 是以i p 模块为基础的没计技术。 从s o c 的核心技术可以看出,使用s o c 技术设计应用电子系统的基本设计思想就是实 现全系统的固件集成。用户只需根据需要选择并改进各部分模块和嵌入结构,就能实现充 分优化的固件特性,而不必花时间熟悉定制电路的开发技术。固件基础的突出优点就是系 统能更接近理想系统,更容易实现设计要求。 固件集成是s o c 的基础设计思想。在传统分布式综合设计技术中,系统的固件特性往 往难以达到最优,原因是所使用的是分布式功能综合技术。一般情况下,功能集成电路为 了满足尽可能多的使用面,必须考虑两个设计目标:一个是要满足多种应用领域的功能控 制要求目标:另一个是要满足较大范围应用功能和技术指标。因此,功能集成电路即定制 式集成电路必须在i o 和控制方面附加若干电路,以使一般用户能得到尽可能多的开发性 能。但是,定制式电路设计的应用电子系统不易达到最佳,特别是固件特性更是具有相当 大的分散性。 ( 2 ) 片上系统应采用深亚微米以上的工艺技术。 随着半导体产业进入超深亚微米乃至纳米7 j n - r - n q - 代,在单一集成电路芯片上就可以实 现一个复杂的电子系统,诸如手机芯片、数字电视芯片、s v d 芯片等,这些都是片上系统 s o c 。在未来几年内,有数亿个晶体管、几千力- 个逻辑门的集成电路都有望在单一芯片上 实现。 ( 3 ) 片上系统中可以有多个m p u 、d s p 、m c u 或其复合的i p 核。 s o c 技术,是一种高度集成化、固件化的系统集成技术。使用s o c 技术设计系统的核 心思想,是要把整个应用电子系统全部集成在一个芯片上。在使用s o c 技术设计应用系统 时,除了那些无法集成的外部电路和机械部分以外,其它所有的系统电路全部集成在一起。 ( 4 ) 片上系统内嵌有系统软件或可载入的用户软件。 嵌入式系统是s o c 的基本结构。在使用s o c 技术设计的应用电子系统中,可以十分方 便地实现嵌入式结构。各种嵌入式结构的实现十分简单,只要根据系统需要选择相应的内 核,再根据设计要求选择与之相配合的i p 模块,就可以完成整个系统的硬件结构。尤其是 采用智能化电路综合技术时,可以更充分地实现整个系统的固件特性,使系统更加接近理 想设计要求。必须指出,s o c 的这种嵌入式结构可以大大缩短应用系统的设计丌发周期。 ( 5 ) 系统功能集成是s o c 的核心技术。 1 3 堕皇些! ! 叁茎塑! 型! ! 兰兰垡堡苎 堡二至丛:! :墨竺 在传统的应用电子系统设计中,需要根据设计要求的功能模块对整个系统进行综合, 即根据砹计要求的功能寻找相应的集成电路,再根据设计要求的技术指标设计所选电路的 连接形式和参数。设计结果能否满足设计要求不仅取决于电路芯片的技术参数,而且与整 个系统p c b 版图的电磁兼容特性有关。同时,对于需要实现数字化的系统,往往还需要有 单片机等的参与,所以还必须考虑分仃式系统对电路固件特性的影响。 对于s o c 来晚,应用电子系统的设计也是根据功能和参数要求来设计系统,但与传统 方法有本质的差别。s o c 不是以功能电路为基础的分布式系统综合技术,而是以功能i p 为 基础的系统固件和电路综合技术。首先,功能的实现不再针对功能电路进行综合,而是针 对系统整体固件进行电路综合。其次,电路设计的最终结果与i p 功能模块和固件特性有关, 而与p c b 板上电路分块的方式和连线技术基本无关,因此使设计结果的电磁兼容特性得到 极大提高;即所设计的结果十分接近理想设计目标。 2 2i p 复用技术 2 2 1i p 的实际内涵 目自,j ,尽管又, j - i p 还没有统一的定义,但i p 的实际内涵是有界定的。 首先,它必须是为了易于重用而按嵌入式标准专门设计的。即使是已经被广泛使用的 产品,在决定作为i p 之前,一般来说也需要重做设计,使其更易于在系统中嵌入。比较典 型的例子是嵌入式r a m 。 其次,是实现i p 模块的优化设计。优化的目标通常是:芯片的面积最小、运算速度最 快、功率消耗最低和工艺容差最大。所谓工艺容差大是指所做的设计可以经受最大的工艺 波动,是提高d n t 成品率的重要保障。这样的优化目标在全自动化的设计过程中是难以达 到的。由于i p 的每一点优化都将产生成千上万的效益,因此基于晶体管的i p 设计优化便成 为完成i p 最终设计的重要方法。 第三,要符合i p 标准。与其他i c 产品一样,i p 进入流通领域后,也需要有标准。自从 1 9 9 6 年以来,复用i p 丌发组织、v s i a 等组织相继成立,协调并制订了i p 重用所需的参数、 文档、检验方式等形式化的标准,以及i p 标准接口、片内总线等技术性的标准。 2 2 2i p 核的特点 片上系统设计的最大挑战之一是i p 模块的有效设计使用和重用。设计复用是将已经验 证的各种超级宏单元模块电路制成i p 核,以便以后的设计利用。 1 4 堕塞坚生- 人兰塑! 型! 壅圭堂丝堡兰 笙三兰竺:! 墨堑 由于i p 核是破除了设计它的i p 提供者f l i i c d n 工厂商之外的第三方使用,而且是由不止 一个系统开发者使用,因此i p 核具有以下特点: ( 1 ) 可读性。对固核和软核来晚,使用者必需对i p 核进行进一步的综合或模拟,因此 必须对调用的i p 核的功能和算法等有比较详细的了解,才可能使用和充分发挥i p 核的优点。 这就要求i p 核的提供商采用一种恰当的方法描述设计,使用户可以方便f 确地使用i p 核: 另一方面,还要采取措施,保护i p 核的知识产权不受侵犯。 ( 2 ) 设计的延展性和工艺适应性。i p 核是经过精心设计、验证而且优化的。i p 核一经 定型就要求其具有一定的应用范围。即针对不同的设计应用,具有一定的适应性。当i p 核 被应用到不同的领域时,不需要做重大的修改就能方便使用。同时,当采用新工艺和工艺 改进时i p 核能较容易地进行改进或者不需要做修改。 ( 3 ) 可测性。当除了硬核外的i p 核被应用到各个具体的设计中时,并不是一点改变都 没有。因此,i p 核的功能和性能还应该能够被使用方测试。这就要求i p 核的设计具有可测 试性,不仅能对i p 核进行单独的测试,。还要能够在i p 核应用到的系统环境中进行测试。 ( 4 ) 端口定义标准化。由于i p 核是为第三方提供的设计,这就要求i p 核的提供者对设 计的端口有一个严格的定义,主要包括端口信号的逻辑值、物理值、信号传输频率、传输 机制等。 2 2 3i p 核的三种形式 i p 核有三种不同的形式。i p 核的重用技术是s o c 的设计基础。 j s o c 芯片需要集成一个复杂的系统,这导致了它具有比较复杂的结构,如果是从头开始 完成芯片设计,显然将花费大量的人力物力财力。另外,现代电子产品的生命期正在不断 缩短,这要求芯片的设计必须在更短的周期内完成。为了加快s o c 芯片设计的速度,人们 将已有的i c 电路以模块的形式在s o

温馨提示

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

评论

0/150

提交评论